0.0.36 • Published 11 days ago

@neo4j-devtools/workspace-guides v0.0.36

Weekly downloads
-
License
-
Repository
-
Last release
11 days ago

Guides Parser

Previewing guides

To preview AsciiDoc guides:

  • Run the following command in the directory where you're editing the AsciiDoc guides:
npx @neo4j-devtools/workspace-guides -w
  • Open the Example tab in Workspace Preview,

  • Scroll to Playlist Preview -> Manifest origin override, fill the text field with the server's URL (the default is http://localhost:4000/).

  • Click Update URL and the guides available for preview will be listed in the Guides section.

  • If you add/rename guides you might need to click the Refetch manifest button for them to appear.

Usage

USAGE
$ parse-guides [-i INPUT_DIR_PATH] [-o OUTPUT_DIR_PATH] [--root-url ROOT_URL] [-w] [-m PATH_TO_MANIFEST]

FLAGS
-i, --input-dir=<value>  [default: .] Path to directory containing .adoc guides
-o, --output-dir=<value> [default: generated tmp directory] Path to directory that will contain .json guides
--root-url=<value>       Base URL that output files will be served from
-w, --watch              Watch the input directory for changes and automatically
rebuild guides, also hosts the guides.
-m, --manifest=<value>   Path to guides manifest
-u, --img-base-url=<value> Base URL where images are hosted.
--dry-run

DESCRIPTION
Parse Workspace guides from Adoc to JSON.

EXAMPLES
$ parse-guides --watch

$ parse-guides --watch -u "https://neo4j-graph-examples.github.io/movies/documentation/img/"

$ parse-guides -i path/to/guides/dir -o output/path --watch

$ parse-guides -m path/to/manifest.json

$ parse-guides -m path/to/manifest.json -o output/path

NOTES
The script searches for guides recursively in the input directory, and the path
is be preserved in the output directory.

When specifying a manifest file the `--input-dir` flag is ignored.

Guides manifest

The guides manifest must be a JSON file containing a mapping of IDs and the corresponding url for the adoc guide and an optional base URL for the images contained in the guide. The typing for the manifest is the following.

type GuideManifest = Record<string, { url: string; imgBaseUrl?: string }>;

Example manifest:

{
  "movies": {
    "url": "https://raw.githubusercontent.com/neo4j-graph-examples/movies/main/documentation/movies.workspace.adoc",
    "imgBaseUrl": "https://raw.githubusercontent.com/neo4j-graph-examples/movies/main/documentation/img/"
  },
  "recommendations": {
    "url": "https://raw.githubusercontent.com/neo4j-graph-examples/recommendations/main/documentation/recommendations.workspace.adoc",
    "imgBaseUrl": "https://raw.githubusercontent.com/neo4j-graph-examples/recommendations/main/documentation/img/"
  }
}

Root URL

Image assets used in guides are copied to output directory, to avoid conflicts, they are placed in folders named after guide ID of the guide that uses them. To use correct absolute URLs --root-url CLI argument must be specified.

Example

Prerequisites:

  • a guide file named <input-dir>/guide.workspace.adoc with following contents:

    == Guide Title
    
    image::asset.svg[]
  • a GitHub repository neo4j/guides used to host JSON output on GitHub Pages.

GitHub Pages URLs format is https://<owner>.github.io/<repository> hence root URL will be https://neo4j.github.io/guides:

parse-guides -i <input-dir> -o <output-dir> --root-url https://neo4j.github.io/guides

Result:

  • guide JSON is placed at <output-dir>/guide.json;
  • asset is placed at <output-dir>/guide/asset.svg;
  • asset URL inside the guide JSON is https://neo4j.github.io/guides/guide/asset.svg.
0.0.36

11 days ago

0.0.34

1 month ago

0.0.35

1 month ago

0.0.33

1 month ago

0.0.32

1 month ago

0.0.31

2 months ago

0.0.30

2 months ago

0.0.28

2 months ago

0.0.29

2 months ago

0.0.27

2 months ago

0.0.26

3 months ago

0.0.25

3 months ago

0.0.24

3 months ago

0.0.23

3 months ago

0.0.21

3 months ago

0.0.22

3 months ago

0.0.20

3 months ago

0.0.19

4 months ago

0.0.18

4 months ago

0.0.17

4 months ago

0.0.16

4 months ago

0.0.15

5 months ago

0.0.14

5 months ago

0.0.13

5 months ago

0.0.12

5 months ago

0.0.11

6 months ago

0.0.10

6 months ago

0.0.9

6 months ago

0.0.8

7 months ago

0.0.7

7 months ago

0.0.6

7 months ago

0.0.5

7 months ago

0.0.4

8 months ago

0.0.3

8 months ago

0.0.2

8 months ago

0.0.1

8 months ago