docgen-tool 2.1.2 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/.gitattributes +1 -0
  2. package/.github/workflows/deploy-website.yml +28 -0
  3. package/.prettierignore +4 -0
  4. package/.prettierrc +4 -0
  5. package/LICENSE +35 -33
  6. package/{docgen → dist/docgen.js} +11 -22
  7. package/docgen.js +95 -0
  8. package/package.json +47 -20
  9. package/source/__test__/test-run/contents.json +12 -0
  10. package/source/__test__/test-run/overview.txt +3 -0
  11. package/source/__test__/test-run/parameters.json +32 -0
  12. package/source/__test__/test-run/release-notes.txt +4 -0
  13. package/source/docgen.js +900 -775
  14. package/source/example/contents.json +11 -11
  15. package/source/example/index.txt +3 -3
  16. package/source/example/parameters.json +36 -36
  17. package/source/internal-readme.md +4 -0
  18. package/source/pdf-stylesheet.css +26 -20
  19. package/source/require/docgen.css +76 -69
  20. package/source/require/katexInjector.js +9 -13
  21. package/source/require/print.css +26 -19
  22. package/source/templates/main.html +93 -93
  23. package/source/user-guide/advanced-content.txt +170 -170
  24. package/source/user-guide/contents.json +56 -56
  25. package/source/user-guide/files/images/svg/inkit-logo.svg +9 -0
  26. package/source/user-guide/index.txt +257 -244
  27. package/source/user-guide/installation.txt +49 -49
  28. package/source/user-guide/parameters.json +36 -36
  29. package/source/user-guide/release-notes.txt +69 -58
  30. package/source/user-guide/running.txt +46 -46
  31. package/source/user-guide/troubleshooting.txt +31 -31
  32. package/source/user-guide/upgrading.txt +25 -25
  33. package/source/user-guide/version-control.txt +13 -13
  34. package/source/user-guide/writing-content.txt +269 -269
  35. package/tsconfig.json +8 -0
  36. package/.npmignore +0 -2
  37. package/docs/advanced-content.html +0 -239
  38. package/docs/commonmark.html +0 -225
  39. package/docs/docgen.pdf +0 -0
  40. package/docs/files/images/overview.png +0 -0
  41. package/docs/files/images/pdf.png +0 -0
  42. package/docs/files/images/svg/icon.svg +0 -845
  43. package/docs/files/images/svg/overview.svg +0 -1345
  44. package/docs/files/images/text.png +0 -0
  45. package/docs/files/images/web.png +0 -0
  46. package/docs/index.html +0 -333
  47. package/docs/installation.html +0 -121
  48. package/docs/ownership.html +0 -164
  49. package/docs/release-notes.html +0 -144
  50. package/docs/require/docgen.css +0 -131
  51. package/docs/require/katex/fonts/KaTeX_AMS-Regular.woff +0 -0
  52. package/docs/require/katex/fonts/KaTeX_Main-Bold.woff +0 -0
  53. package/docs/require/katex/fonts/KaTeX_Main-Italic.woff +0 -0
  54. package/docs/require/katex/fonts/KaTeX_Main-Regular.woff +0 -0
  55. package/docs/require/katex/fonts/KaTeX_Math-BoldItalic.woff +0 -0
  56. package/docs/require/katex/fonts/KaTeX_Math-Italic.woff +0 -0
  57. package/docs/require/katex/fonts/KaTeX_Math-Regular.woff +0 -0
  58. package/docs/require/katex/fonts/KaTeX_Size1-Regular.woff +0 -0
  59. package/docs/require/katex/fonts/KaTeX_Size2-Regular.woff +0 -0
  60. package/docs/require/katex/fonts/KaTeX_Size3-Regular.woff +0 -0
  61. package/docs/require/katex/fonts/KaTeX_Size4-Regular.woff +0 -0
  62. package/docs/require/katex/katex.min.css +0 -1
  63. package/docs/require/katex/katex.min.js +0 -6
  64. package/docs/require/katexInjector.js +0 -22
  65. package/docs/require/print.css +0 -19
  66. package/docs/require/webknife/fonts/DroidSansMono.woff +0 -0
  67. package/docs/require/webknife/fonts/OpenSans.woff +0 -0
  68. package/docs/require/webknife/fonts/OpenSansBold.woff +0 -0
  69. package/docs/require/webknife/fonts/OpenSansBoldItalic.woff +0 -0
  70. package/docs/require/webknife/fonts/OpenSansItalic.woff +0 -0
  71. package/docs/require/webknife/framework.icons.js +0 -82
  72. package/docs/require/webknife/framework.min.css +0 -3
  73. package/docs/require/webknife/framework.min.js +0 -14
  74. package/docs/require/webknife/highlight.min.css +0 -1
  75. package/docs/require/webknife/highlight.min.js +0 -6
  76. package/docs/running.html +0 -123
  77. package/docs/troubleshooting.html +0 -105
  78. package/docs/upgrading.html +0 -124
  79. package/docs/version-control.html +0 -102
  80. package/docs/writing-content.html +0 -305
  81. /package/{docs → source/__test__/test-run}/files/images/logo.png +0 -0
@@ -1,37 +1,37 @@
1
1
  {
2
- "title" : "DocGen - a documentation tool",
3
- "name": "DocGen",
4
- "version" : "2.1.2",
5
- "date" : "28/05/2015",
6
- "organization" : {
7
- "name" : "Mark Macdonald",
8
- "url" : "https://github.com/mtmacdonald"
9
- },
10
- "author" : {
11
- "name" : "Mark Macdonald",
12
- "url" : "https://github.com/mtmacdonald"
13
- },
14
- "owner" : {
15
- "name" : "Mark Macdonald",
16
- "url" : "https://github.com/mtmacdonald"
17
- },
18
- "contributors" : [
19
- {
20
- "name" : "",
21
- "url" : ""
22
- }
23
- ],
24
- "website" : {
25
- "name" : "Github",
26
- "url" : "https://github.com/mtmacdonald/docgen"
27
- },
28
- "backlink" : {
29
- "name" : "",
30
- "url" : ""
31
- },
32
- "module" : "",
33
- "id" : "",
34
- "summary" : "DocGen is a command-line documentation tool for software products. It takes plain text or CommonMark (Markdown) as input, and generates both a static website and a PDF copy.",
35
- "marking" : "MIT License.",
36
- "legalese" : ""
37
- }
2
+ "title": "DocGen - a documentation tool",
3
+ "name": "DocGen",
4
+ "version": "3.0.0",
5
+ "date": "24/06/2023",
6
+ "organization": {
7
+ "name": "Inkit Inc. and contributors",
8
+ "url": "https://www.inkit.com"
9
+ },
10
+ "author": {
11
+ "name": "Inkit Inc. and contributors",
12
+ "url": "https://www.inkit.com"
13
+ },
14
+ "owner": {
15
+ "name": "Inkit Inc.",
16
+ "url": "https://www.inkit.com"
17
+ },
18
+ "contributors": [
19
+ {
20
+ "name": "Mark Macdonald",
21
+ "url": "https://github.com/mtmacdonald"
22
+ }
23
+ ],
24
+ "website": {
25
+ "name": "Github",
26
+ "url": "https://github.com/mtmacdonald/docgen"
27
+ },
28
+ "backlink": {
29
+ "name": "",
30
+ "url": ""
31
+ },
32
+ "module": "",
33
+ "id": "",
34
+ "summary": "DocGen is a command-line documentation tool for software products. It takes plain text or CommonMark (Markdown) as input, and generates both a static website and a PDF copy.",
35
+ "marking": "MIT License.",
36
+ "legalese": ""
37
+ }
@@ -1,59 +1,70 @@
1
- DocGen 2.1.2 released 28/05/2015
2
- --------------------------------
3
-
4
- - Fixed a regression defect (exception when running docgen scaffold) that first appeared in DocGen 2.1.0
5
-
6
- DocGen 2.1.1 released 28/05/2015
7
- --------------------------------
8
-
9
- - Upgraded all node dependencies to the latest versions
10
- - Upgraded styles to the latest release of Webknife (1.4.0)
11
-
12
- DocGen 2.1.0 released 27/05/2015
13
- --------------------------------
14
-
15
- - Added a command-line option for specifying a custom path to wkhtmltopdf
16
-
17
- DocGen 2.0.1 released 31/03/2015
18
- --------------------------------
19
-
20
- - Fixed the node package and user guide for installing with npm install -g
21
-
22
- DocGen 2.0.0 released 31/03/2015
23
- --------------------------------
24
-
25
- - DocGen is now open source
26
- - Rewritten in JavaScript for Node.js
27
- - Much easier to install (hosted on npm)
28
- - Dependencies are now version controlled (using npm)
29
- - Modernized visual style (uses Webknife CSS framework)
30
- - Input metadata files are now in JSON rather than YAML format
31
- - Top-level page headings are now inserted automatically (from contents.json)
32
- - The web and PDF tables of contents both correspond to contents.json
33
- - Command-line options are now used for configuration, rather than a config file
34
- - Command-line output is now color coded (green success, red error)
35
- - Added usage information to the command line interface
36
- - Generating the PDF is now an optional feature
37
- - Upgraded to the latest version of the PDF generator (wkhtmltopdf)
38
- - Added support for mathematical expressions (with KaTex or MathJax)
39
- - Added support for a list of document contributors (for multiple authors)
40
- - Added support for a header link back to the application (integrated docs)
41
- - Added time to the generation timestamp
42
- - Renamed 'change log' to 'release notes'
43
- - Fixed issues with fonts and text kerning in the PDF copy
44
- - Fixed defect where unexpected text appeared on some pages with a page table of contents
45
- - Dropped support for Internet Explorer 7 and 8
46
- - Dropped formal support for tool to run on multiple operating systems
47
- - Removed support for 'Mark of the Web'
48
-
49
- DocGen 1.0.1 released 18/01/2012
50
- --------------------------------
51
-
52
- - Fixed a bug causing the table of contents headings to sometimes appear in the wrong order
53
-
54
- DocGen 1.0.0 released 04/11/2011
55
- --------------------------------
56
-
57
- - Ruby implementation (not released as open source)
58
- - Creates a static website from Markdown input files
1
+ DocGen 3.0.0 released 24/06/2024
2
+ --------------------------------
3
+
4
+ - Ownership and copyright transferred to project sponsor [Inkit Inc](https://www.inkit.com/)
5
+ - License remains open-source MIT
6
+
7
+ DocGen 2.1.3 released 29/05/2015
8
+ --------------------------------
9
+
10
+ - Allow more protocols in CommonMark links (see markdown-it [ticket #108](https://github.com/markdown-it/markdown-it/issues/108))
11
+
12
+ DocGen 2.1.2 released 28/05/2015
13
+ --------------------------------
14
+
15
+ - Fixed a regression defect (exception when running docgen scaffold) that first appeared in DocGen 2.1.0
16
+
17
+ DocGen 2.1.1 released 28/05/2015
18
+ --------------------------------
19
+
20
+ - Upgraded all node dependencies to the latest versions
21
+ - Upgraded styles to the latest release of Webknife (1.4.0)
22
+
23
+ DocGen 2.1.0 released 27/05/2015
24
+ --------------------------------
25
+
26
+ - Added a command-line option for specifying a custom path to wkhtmltopdf
27
+
28
+ DocGen 2.0.1 released 31/03/2015
29
+ --------------------------------
30
+
31
+ - Fixed the node package and user guide for installing with npm install -g
32
+
33
+ DocGen 2.0.0 released 31/03/2015
34
+ --------------------------------
35
+
36
+ - DocGen is now open source
37
+ - Rewritten in JavaScript for Node.js
38
+ - Much easier to install (hosted on npm)
39
+ - Dependencies are now version controlled (using npm)
40
+ - Modernized visual style (uses Webknife CSS framework)
41
+ - Input metadata files are now in JSON rather than YAML format
42
+ - Top-level page headings are now inserted automatically (from contents.json)
43
+ - The web and PDF tables of contents both correspond to contents.json
44
+ - Command-line options are now used for configuration, rather than a config file
45
+ - Command-line output is now color coded (green success, red error)
46
+ - Added usage information to the command line interface
47
+ - Generating the PDF is now an optional feature
48
+ - Upgraded to the latest version of the PDF generator (wkhtmltopdf)
49
+ - Added support for mathematical expressions (with KaTex or MathJax)
50
+ - Added support for a list of document contributors (for multiple authors)
51
+ - Added support for a header link back to the application (integrated docs)
52
+ - Added time to the generation timestamp
53
+ - Renamed 'change log' to 'release notes'
54
+ - Fixed issues with fonts and text kerning in the PDF copy
55
+ - Fixed defect where unexpected text appeared on some pages with a page table of contents
56
+ - Dropped support for Internet Explorer 7 and 8
57
+ - Dropped formal support for tool to run on multiple operating systems
58
+ - Removed support for 'Mark of the Web'
59
+
60
+ DocGen 1.0.1 released 18/01/2012
61
+ --------------------------------
62
+
63
+ - Fixed a bug causing the table of contents headings to sometimes appear in the wrong order
64
+
65
+ DocGen 1.0.0 released 04/11/2011
66
+ --------------------------------
67
+
68
+ - Ruby implementation (not released as open source)
69
+ - Creates a static website from Markdown input files
59
70
  - Also creates a PDF copy using wkhtmltopdf
@@ -1,47 +1,47 @@
1
- Overview
2
- --------
3
-
4
- DocGen is a command-line tool which takes plain text input files and outputs a static website.
5
-
6
- Command-line usage
7
- ------------------
8
-
9
- The DocGen command-line interface includes usage help for both the tool and its subcommands:
10
-
11
- docgen --help
12
- docgen run --help
13
-
14
- Scaffold command
15
- ----------------
16
-
17
- The **scaffold** command creates an *example* input directory. It outputs the minumum files required by DocGen, which
18
- can then be used as a template for making any new website.
19
-
20
- **Create a scaffold template in the working directory** (./)**:**
21
-
22
- docgen scaffold
23
-
24
- **Create a scaffold template in a specified directory:**
25
-
26
- docgen scaffold -o $HOME/docgen-example
27
-
28
- Run command
29
- -----------
30
-
31
- The **run** command transforms an input directory (plain text source) into an output directory (HTML+PDF).
32
-
33
- **Basic usage:**
34
-
35
- docgen run -i $HOME/docgen-example -o $HOME/docgen-output
36
-
37
- **Optionally create a PDF:**
38
-
39
- docgen run -i $HOME/docgen-example -o $HOME/docgen-output -p
40
-
41
- **Optionally create a redirect page:**
42
-
43
- docgen run -i $HOME/docgen-example -o $HOME/docgen-output -r
44
-
45
- > The optional redirect page is an 'index.html' file that is placed in the output's parent directory. The redirect page
46
- redirects the user to the homepage in the output directory. This is mostly useful for hosting the website without having
1
+ Overview
2
+ --------
3
+
4
+ DocGen is a command-line tool which takes plain text input files and outputs a static website.
5
+
6
+ Command-line usage
7
+ ------------------
8
+
9
+ The DocGen command-line interface includes usage help for both the tool and its subcommands:
10
+
11
+ docgen --help
12
+ docgen run --help
13
+
14
+ Scaffold command
15
+ ----------------
16
+
17
+ The **scaffold** command creates an *example* input directory. It outputs the minumum files required by DocGen, which
18
+ can then be used as a template for making any new website.
19
+
20
+ **Create a scaffold template in the working directory** (./)**:**
21
+
22
+ docgen scaffold
23
+
24
+ **Create a scaffold template in a specified directory:**
25
+
26
+ docgen scaffold -o $HOME/docgen-example
27
+
28
+ Run command
29
+ -----------
30
+
31
+ The **run** command transforms an input directory (plain text source) into an output directory (HTML+PDF).
32
+
33
+ **Basic usage:**
34
+
35
+ docgen run -i $HOME/docgen-example -o $HOME/docgen-output
36
+
37
+ **Optionally create a PDF:**
38
+
39
+ docgen run -i $HOME/docgen-example -o $HOME/docgen-output -p
40
+
41
+ **Optionally create a redirect page:**
42
+
43
+ docgen run -i $HOME/docgen-example -o $HOME/docgen-output -r
44
+
45
+ > The optional redirect page is an 'index.html' file that is placed in the output's parent directory. The redirect page
46
+ redirects the user to the homepage in the output directory. This is mostly useful for hosting the website without having
47
47
  to place all the files in the root directory.
@@ -1,32 +1,32 @@
1
- This section gives help on solving common issues with DocGen.
2
-
3
- Displaying detailed errors
4
- --------------------------
5
-
6
- Pass the **-v** (verbose) option when running DocGen to get more detailed error messages.
7
-
8
- PDF missing content
9
- -------------------
10
-
11
- In complex pages, the PDF generator (wkhtmltopdf) needs to be given enough time for dynamic content to be rendered.
12
- Pass the **-d [milliseconds]** option to increase the rendering time for each page, if required.
13
-
14
- Attached files not in PDF
15
- -------------------------
16
-
17
- Attached files are not converted to PDF, only the web content is.
18
-
19
- Corrupted text characters
20
- -------------------------
21
-
22
- Make sure all the input text files are saved with UTF-8 encoding.
23
-
24
- Missing logo
25
- ------------
26
-
27
- The logo must be PNG format and saved with the path *files/images/logo.png*.
28
-
29
- Other issues
30
- ------------
31
-
1
+ This section gives help on solving common issues with DocGen.
2
+
3
+ Displaying detailed errors
4
+ --------------------------
5
+
6
+ Pass the **-v** (verbose) option when running DocGen to get more detailed error messages.
7
+
8
+ PDF missing content
9
+ -------------------
10
+
11
+ In complex pages, the PDF generator (wkhtmltopdf) needs to be given enough time for dynamic content to be rendered.
12
+ Pass the **-d [milliseconds]** option to increase the rendering time for each page, if required.
13
+
14
+ Attached files not in PDF
15
+ -------------------------
16
+
17
+ Attached files are not converted to PDF, only the web content is.
18
+
19
+ Corrupted text characters
20
+ -------------------------
21
+
22
+ Make sure all the input text files are saved with UTF-8 encoding.
23
+
24
+ Missing logo
25
+ ------------
26
+
27
+ The logo must be PNG format and saved with the path *files/images/logo.png*.
28
+
29
+ Other issues
30
+ ------------
31
+
32
32
  For any other problems, please submit a [an issue ticket](https://github.com/mtmacdonald/docgen/issues).
@@ -1,25 +1,25 @@
1
- This section explains how to upgrade from old versions of DocGen.
2
-
3
- DocGen 1.0.* to DocGen 2.0.0
4
- ----------------------------
5
-
6
- DocGen 2 is not backwards compatible with DocGen 1, but the upgrade is easy with these instructions:
7
-
8
- - Install DocGen 2 by following the [installation guide](installation.html)
9
- - Create a replacement 'source' directory, e.g: **<code>docgen scaffold -o $HOME/source</code>**
10
- - Migrate the source files
11
- - Copy the source (.txt) files from the old 'Src' directory to the new 'source' directory
12
- - Remove the top-level page headings in each source file (DocGen now inserts these automatically, based on contents.json)
13
- - Rename *'change-log.txt'* to *'release-notes.txt'*
14
- - Migrate the attached content
15
- - Place a logo with filename 'logo.png' in 'files/images' directory (the logo is now part of the source)
16
- - Copy the images from *'Images'* to *'files/images'*
17
- - Copy attached files from *'Files'* to *'files'*
18
- - Migrate the metadata
19
- - Edit *'parameters.json'* with the relevant values from *'doc-parameters.yml'*
20
- - Edit *'contents.json'* with the relevant values from *'table-of-contents.yml'*
21
- - Run DocGen: **<code>docgen -i $HOME/source -o $HOME/output</code>**
22
- - Check the styling in the latest version still works well with the old content
23
- - Note that the PDF is no longer generated by default (pass the *'-p'* option)
24
-
25
- > DocGen 1 tool-behaviours.yml has been replaced by command-line options. For help, see **<code>docgen run -h</code>**.
1
+ This section explains how to upgrade from old versions of DocGen.
2
+
3
+ DocGen 1.0.* to DocGen 2.0.0
4
+ ----------------------------
5
+
6
+ DocGen 2 is not backwards compatible with DocGen 1, but the upgrade is easy with these instructions:
7
+
8
+ - Install DocGen 2 by following the [installation guide](installation.html)
9
+ - Create a replacement 'source' directory, e.g: **<code>docgen scaffold -o $HOME/source</code>**
10
+ - Migrate the source files
11
+ - Copy the source (.txt) files from the old 'Src' directory to the new 'source' directory
12
+ - Remove the top-level page headings in each source file (DocGen now inserts these automatically, based on contents.json)
13
+ - Rename *'change-log.txt'* to *'release-notes.txt'*
14
+ - Migrate the attached content
15
+ - Place a logo with filename 'logo.png' in 'files/images' directory (the logo is now part of the source)
16
+ - Copy the images from *'Images'* to *'files/images'*
17
+ - Copy attached files from *'Files'* to *'files'*
18
+ - Migrate the metadata
19
+ - Edit *'parameters.json'* with the relevant values from *'doc-parameters.yml'*
20
+ - Edit *'contents.json'* with the relevant values from *'table-of-contents.yml'*
21
+ - Run DocGen: **<code>docgen -i $HOME/source -o $HOME/output</code>**
22
+ - Check the styling in the latest version still works well with the old content
23
+ - Note that the PDF is no longer generated by default (pass the *'-p'* option)
24
+
25
+ > DocGen 1 tool-behaviours.yml has been replaced by command-line options. For help, see **<code>docgen run -h</code>**.
@@ -1,13 +1,13 @@
1
- One of the benefits of using DocGen for product software documentation is that its plain text source files are easy to
2
- version control in sync with the product.
3
-
4
- Recommended practice
5
- --------------------
6
-
7
- It is recommended to store the documentation **source files** (DocGen input directory) in the same version control
8
- repository as the product code. This allows each release of the product to have a matching version of its
9
- documentation.
10
-
11
- > It is not necessary to version control the DocGen output, because this can always be regenerated. If the DocGen
12
- output is version controlled, file renames, additions, and deletions have to be performed manually in the
13
- version control tool.
1
+ One of the benefits of using DocGen for product software documentation is that its plain text source files are easy to
2
+ version control in sync with the product.
3
+
4
+ Recommended practice
5
+ --------------------
6
+
7
+ It is recommended to store the documentation **source files** (DocGen input directory) in the same version control
8
+ repository as the product code. This allows each release of the product to have a matching version of its
9
+ documentation.
10
+
11
+ > It is not necessary to version control the DocGen output, because this can always be regenerated. If the DocGen
12
+ output is version controlled, file renames, additions, and deletions have to be performed manually in the
13
+ version control tool.