Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added documentation portal in new and improved ASCIIdoc format #156

Merged
merged 7 commits into from
Jun 21, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 0 additions & 67 deletions docs/Home.adoc

This file was deleted.

18 changes: 18 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# NeoDash Documentation

This folder contains the documentation for the NeoDash project. The pages are written in AsciiDoc, and generated into webpages by Antora.

An external workflow picks up this directory, embeds it into the Neo4j docs, and makes sure generated files are automatically deployed to:
```
https://neo4j.com/labs/neodash/{version}
```
For example: https://neo4j.com/labs/neodash/2.1

## Local Build
To compile and view the documentation locally, navigate to this (`./docs`) folder and run:
```
npm install
npm start
```

Then, open your browser and navigate to http://localhost:8000/.
18 changes: 0 additions & 18 deletions docs/User-Guide.adoc

This file was deleted.

13 changes: 13 additions & 0 deletions docs/antora.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: neodash
version: 2.1
title: NeoDash Documentation
start_page: ROOT:index.adoc
nav:
- modules/ROOT/nav.adoc

asciidoc:
attributes:
docs-version: 2.1
page-product: NeoDash
page-type: NeoDash Manual
page-canonical-root: /labs
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
34 changes: 34 additions & 0 deletions docs/modules/ROOT/nav.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
* xref:index.adoc[Introduction]
* xref:quickstart.adoc[Quickstart]
* xref:user-guide/index.adoc[User Guide]
** xref:user-guide/dashboards.adoc[Dashboards]
** xref:user-guide/pages.adoc[Pages]
** xref:user-guide/reports/index.adoc[Reports]
*** xref:user-guide/reports/table.adoc[Table]
*** xref:user-guide/reports/graph.adoc[Graph]
*** xref:user-guide/reports/bar-chart.adoc[Bar Chart]
*** xref:user-guide/reports/pie-chart.adoc[Pie Chart]
*** xref:user-guide/reports/line-chart.adoc[Line Chart]
*** xref:user-guide/reports/sunburst.adoc[Sunburst]
*** xref:user-guide/reports/circle-packing.adoc[Circle Packing]
*** xref:user-guide/reports/treemap.adoc[Treemap]
*** xref:user-guide/reports/map.adoc[Map]
*** xref:user-guide/reports/single-value.adoc[Single Value]
*** xref:user-guide/reports/raw-json.adoc[Raw JSON]
*** xref:user-guide/reports/parameter-select.adoc[Parameter Select]
*** xref:user-guide/reports/iframe.adoc[iFrame]
*** xref:user-guide/reports/markdown.adoc[Markdown]
** xref:user-guide/publishing.adoc[Publishing]
** xref:user-guide/bloom-integration.adoc[Bloom Integration]
** xref:user-guide/faq.adoc[FAQ]
* xref:developer-guide/index.adoc[Developer Guide]
** xref:developer-guide/build-and-run.adoc[Build & Run]
** xref:developer-guide/configuration.adoc[Configuration]
** xref:developer-guide/standalone-mode.adoc[Standalone Mode]
** xref:developer-guide/component-overview.adoc[Component Overview]
** xref:developer-guide/design.adoc[Design]
** xref:developer-guide/adding-visualizations.adoc[Adding Visualizations]
** xref:developer-guide/state-management.adoc[State Management]
** xref:developer-guide/testing.adoc[Testing]
** xref:developer-guide/contributing.adoc[Contributing]

24 changes: 16 additions & 8 deletions docs/Quickstart.adoc → docs/modules/ROOT/pages/Quickstart.adoc
Original file line number Diff line number Diff line change
@@ -1,15 +1,23 @@
There are four ways to run NeoDash and start dashboarding your Neo4j
data:
= Quickstart

There are three easy ways to run NeoDash and start dashboarding your Neo4j data:

[arabic]
. The latest version is always available online:
https://neodash.graphapp.io.
. Neo4j Desktop: Install it from the https://install.graphapp.io[Graph
App Gallery].
. Using Docker:
`docker pull nielsdejong/neodash:latest docker run -it --rm -p 5005:5005 nielsdejong/neodash`
. Build it yourself:
`git clone https://github.com/nielsdejong/neodash npm install npm run dev`
```
docker pull nielsdejong/neodash:latest
docker run -it --rm -p 5005:5005 nielsdejong/neodash
```

Or, build it yourself:
```
git clone https://github.com/nielsdejong/neodash
npm install
npm run dev
```

NeoDash connects to any recent version of the Neo4j database. (Neo4j 4.0
or later). The quickest way to get started is to create a free cloud
Expand All @@ -20,9 +28,9 @@ page.

== NeoDash in Five Minutes

The video below explains how to get started with NeoDash in 5 minutes:
See the video below for tips on how to get started with NeoDash in 5 minutes:
https://www.youtube.com/watch?v=Ygzj0Y4cYm4[image:https://img.youtube.com/vi/Ygzj0Y4cYm4/0.jpg[Youtube
Video]]

See also the link:./FAQ#1-how-can-i-learn-more-about-neodash[list of
See also the link:../user-guide/FAQ#1-how-can-i-learn-more-about-neodash[list of
blog posts] in the FAQ.
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
= Adding Visualizations

You can extend NeoDash with your own visualizations without diving deep
into the core application. Likewise, adding a new customization to an
existing report requires minimal changes.
Expand Down Expand Up @@ -91,5 +93,5 @@ Cypress testing.
____
After you added a visualization or a new customization, consider
contributing it to the NeoDash project by creating a
https://github.com/nielsdejong/neodash/pulls[Pull Request].
https://github.com/neo4j-labs/neodash/pulls[Pull Request].
____
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
= Build & Run

To start developing the application, you’ll need to set up the
development environment.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
= Component Overview


The image below contains a high-level overview of the component
hierarchy within the application. The following conceptual building
blocks are used to create the interface:

image::./img/component-hierarchy.png[NeoDash Component Hierarchy]
image::component-hierarchy.png[NeoDash Component Hierarchy]

* *Application* - highest level in the component structure. Handles all
application-level logic (e.g. initalizing the app).
Expand Down Expand Up @@ -39,8 +42,8 @@ charts, tables, graphs, etc.

== A note on Cards v.s. Reports

Whereas a user might associate a `Card' in NeoDash to a report directly,
the application has a more nuanced seggration of responsibilities;
Whereas a user might associate a Card in NeoDash to a report directly,
the application has a more nuanced seggration of responsibilities:

* The *Card* is responsible for positioning the component in a page.
* The *Card Content* is the core element of the card (exclusive of the
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
= Configuration

When using a custom NeoDash deployment, there are several settings that
can be configured. These mostly relate to
link:Standalone%20Mode[Standalone Mode] and SSO configurations.
link:../Standalone-Mode[Standalone Mode] and SSO configurations.

For a simple (non-Dockerized) deployment, these configuration parameters
can be changed by modifying `dist/config.json` after you have built the
application. When Docker image, these can be passed as environment
variables. See link:Standalone%20Mode[Standalone Mode] for more on
variables. See link:../Standalone-Mode[Standalone Mode] for more on
Docker deployments.

An example configuration for NeoDash (default, running in editor mode)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,21 @@
= Contributing

Contributions to the project are highly welcomed. Please consider
creating a https://github.com/nielsdejong/neodash/pulls[Pull Request].
creating a https://github.com/neo4j-labs/neodash/pulls[Pull Request].
Ensure you start from the `develop` branch, and set the merge base to
`develop` as well.

For your feature to be accepted, ensure:

1. The component is tested (if relevant, see Testing).
2. Your code is aligned with
https://www.w3.org/wiki/JavaScript_best_practices[JS Best Practises].
https://www.w3.org/wiki/JavaScript_best_practices[JS Best Practices].
3. The component is well documented in the documentation portal (if
applicable).

== Feature Requests / Bugs

If you have a request for a feature, or have found a bug, consider
creating an https://github.com/nielsdejong/neodash/issues[issue] on
creating an https://github.com/neo4j-labs/neodash/issues[issue] on
GitHub. Please include a link:./Testing#debug-report[Debug Report] if
available.
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
= Design

This page contains some key guidelines for design of the application.
This entails code architecture, as well as UX/UI design.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,18 @@
The following pages will guide developers who want to dive deeper into
NeoDash, and extend it for their own needs. In case you just want to run
NeoDash, see the Quickstart page.
= Developer Guide

This guide has the following sections:
This guide contains information for developers looking to deploy NeoDash, or extend it for their own needs.

- link:Build%20&%20Run[Build & Run]
- link:Build-and-Run[Build & Run]
- link:Configuration[Configuration]
- link:Standalone%20Mode[Standalone Mode]
- link:Component%20Overview[Component Overview]
- link:Standalone-Mode[Standalone Mode]
- link:Component-Overview[Component Overview]
- link:Design[Design]
- link:Adding%20Visualizations[Adding Visualizations]
- link:State%20Management[State Management]
- link:Adding-Visualizations[Adding Visualizations]
- link:State-Management[State Management]
- link:Testing[Testing]
- link:Contributing[Contributing]

== Prerequisites
== Prerequisites for extending NeoDash

NeoDash is a web application written in TypeScript. Knowledge of React &
Redux is also highly recommended when extending the application.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
= Standalone Mode

Next to being a dashboard editor, NeoDash can be deployed in a
`standalone mode' - allowing you set up a architecture to publish and
read dashboards.
Expand All @@ -11,11 +13,11 @@ Running in standalone modec mode will:
The diagram below illustrates how NeoDash standalone mode can be
deployed next to a standard `Editor Mode' instance:

image:./img/standalone-architecture.png[image]
image:standalone-architecture.png[image]

== Option 1 - Standard Deployment (Non-Docker)

First, build NeoDash as described link:Run%20&%20Build[here]. After
First, build NeoDash as described link:../Build-and-Run[here]. After
building, you’ll have a `dist` directory that you can deploy to a web
server.

Expand Down Expand Up @@ -49,7 +51,7 @@ docker run -it --rm -p 5005:5005 \
....

Make sure that all of the environment variables are set to the correct
values. This is described in more detail link:Configuration[here].
values. This is described in more detail link:../Configuration[here].

____
Alternatively, environment variables from docker compose or a kubernetes
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
= State Management

NeoDash is an application with a complex internal state. If you are
planning to extend the application state in some way, make sure you are
familiar with https://redux.js.org/[Redux] design patterns.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
= Testing

NeoDash uses *Cypress* for automated testing. To install Cypress, check
out the official
https://docs.cypress.io/guides/getting-started/installing-cypress#What-you-ll-learn[installation
Expand All @@ -20,7 +22,7 @@ To run Cypress from the UI.
Before starting the tests, make sure you have a local instance of
NeoDash running at `http://localhost:3000` using `npm run dev`.

image:./img/cypress.png[Cypress] Above: a screenshot of the Cypress GUI.
image:cypress.png[Cypress] Above: a screenshot of the Cypress GUI.

== Debug Report

Expand All @@ -31,4 +33,4 @@ NeoDash application.
To generate a debug report, open the `About' screen. Then, click the
'Debug Report' button in the bottom left corner.

image::./img/about.png[About]
image::about.png[About]
13 changes: 13 additions & 0 deletions docs/modules/ROOT/pages/index.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
= Introduction
This wiki contains information on getting started with NeoDash - A Low-Code Dashboard Builder for Neo4j.

NeoDash is an open source tool for visualizing your Neo4j data. It lets you group visualizations together as dashboards, and allow for interactions between reports.


image::dashboard.png[Dashboard]

Neodash supports presenting your data as tables, graphs, bar charts, line charts, maps and more. It contains a Cypher editor to directly write the Cypher queries that populate the reports. You can save dashboards to your database, and share them with others.

- To get started, see the link:quickstart[Quickstart] page.
- For more on building dashboards, visit the link:user-guide[User Guide].
- For deploying, configuring and extending NeoDash, check out the link:developer-guide[Developer Guide].
Loading