Docbook Tool for static documentation generation from Markdown files

Related tags

Markdown DocbookTool
Overview

Roave Docbook Tool

Static HTML and PDF generator tool for generating documentation from Markdown files.

  • Generates a deployable HTML file from Markdown documentation
  • Generates PDF files of the same documentation that can be deployed alongside
  • Link pages to a Confluence instance so the content can be mirrored there

Running with Docker

A Docker image is provided with all the pre-built tools. You will need to map several volumes into the container:

  • /docs-package - this will be where the tool writes the output
  • /docs-src/book - the path containing the Markdown files to be rendered
  • /docs-src/templates - the online.twig and pdf.twig templates to use for rendering HTML/PDF respectively
  • /docs-src/features - if you have features, this should contain your features

Additionally, you can provide environment variables to override the default paths used, or to enable the Confluence functionality.

# Will build the test fixtures and put in a folder called "build"
docker run \
  -v $(pwd)/test/fixture/docbook:/docs-src/book \
  -v $(pwd)/test/fixture/templates:/docs-src/templates \
  -v $(pwd)/test/fixture/feature:/docs-src/features \
  -v $(pwd)/build:/docs-package \
  --rm ghcr.io/roave/docbooktool:latest

# Will build your stuff - replace host paths as appropriate
docker run \
  -v $(pwd)/docs/book:/docs-src/book \
  -v $(pwd)/docs/templates:/docs-src/templates \
  -v $(pwd)/features:/docs-src/features \
  -v $(pwd)/build:/docs-package \
  --rm ghcr.io/roave/docbooktool:latest

# Will generate HTML, PDF, and update any configured Confluence pages
docker run \
  -v $(pwd)/docs/book:/docs-src/book \
  -v $(pwd)/docs/templates:/docs-src/templates \
  -v $(pwd)/features:/docs-src/features \
  -v $(pwd)/build:/docs-package \
  -e DOCBOOK_TOOL_CONFLUENCE_URL=https://confluence.mycompany.com \
  -e DOCBOOK_TOOL_CONFLUENCE_AUTH_TOKEN="Basic bXktdXNlcm5hbWU6bXktcGFzc3dvcmQ=" \
  --rm ghcr.io/roave/docbooktool:latest --html --pdf --confluence

Usage

bin/docbook-tool [--html] [--pdf] [--confluence]

For example, this command would generate only the HTML documentation:

$ DOCBOOK_TOOL_CONTENT_PATH=/path/to/myproject/docs/book \
> DOCBOOK_TOOL_TEMPLATE_PATH=/path/to/myproject/docs/template \
> DOCBOOK_TOOL_OUTPUT_HTML_FILE=/path/to/myproject/build/docs.html \
> bin/docbook-tool --html
[2021-01-28T12:28:41.000628+00:00] cli.INFO: Writing HTML output to /path/to/myproject/build/docs.html [] []
$

Formatting

We have limited support for YAML front matter:

  • title: Your title here - when specified, this will be used as the page title ({{ title }} in template)
  • pdf: true - when specified, a PDF will be generated for this
  • confluencePageId: 1234 - when specified, Confluence page 1234 will be updated (numeric ID only)
  • order: 100 - when specified, pages are ordered by this. Defaults to 100. Matching values are sorted alphabetically.

Additionally, we have a special Markdown syntax:

  • {{feature:test.feature}} will render $(DOCBOOK_TOOL_FEATURES_PATH)/test.feature as a code block
  • Code blocks (triple-backtick) with the puml syntax will be converted into a PlantUML diagram. Note your diagram must start and end with @startuml and @enduml respectively.

Example showing all syntax can be seen in test/fixture/docbook/test.md.

Environment variables

  • DOCBOOK_TOOL_CONTENT_PATH - the path where your Markdown documentation is kept (Required)
    • Example: /path/to/myproject/docs/book
  • DOCBOOK_TOOL_TEMPLATE_PATH - the path to your Twig templates called online.twig and pdf.twig (Required)
    • Example: /path/to/myproject/docs/template
  • DOCBOOK_TOOL_FEATURES_PATH - the base path from where features are stored (Optional)
    • Example: /path/to/myproject/features
  • DOCBOOK_TOOL_OUTPUT_HTML_FILE - where to generate the HTML documentation (Required, if using --html)
    • Example: /path/to/myproject/build/docs/index.html
  • DOCBOOK_TOOL_OUTPUT_PDF_PATH - where to generate the PDF files, if used (Required, if using --pdf)
    • Example: /path/to/myproject/build/docs/pdf
  • DOCBOOK_TOOL_CONFLUENCE_URL - the base URL of confluence (/rest/api/content is appended to this, so don't include that) (Required, if using --confluence)
    • Example: https://confluence.mycompany.com
  • DOCBOOK_TOOL_CONFLUENCE_AUTH_TOKEN - the Authorization header value to use (Required, if using --confluence in a non-interactive terminal)
    • Example: Basic bXktdXNlcm5hbWU6bXktcGFzc3dvcmQ=
Comments
  • Auto-release job failing?

    Auto-release job failing?

    https://github.com/Roave/DocbookTool/actions/runs/2947324152

    
    In AssertException.php line 32:
                                            
      [Psl\Type\Exception\AssertException]  
      Expected "200", got "int".            
                                            
    
    Exception trace:
      at /app/vendor/azjezz/psl/src/Psl/Type/Exception/AssertException.php:32
     Psl\Type\Exception\AssertException::withValue() at /app/vendor/azjezz/psl/src/Psl/Type/Internal/LiteralScalarType.php:109
     Psl\Type\Internal\LiteralScalarType->assert() at /app/src/Github/Api/GraphQL/RunGraphQLQuery.php:60
     Laminas\AutomaticReleases\Github\Api\GraphQL\RunGraphQLQuery->__invoke() at /app/src/Github/Api/GraphQL/Query/GetMilestoneFirst100IssuesAndPullRequests.php:85
     Laminas\AutomaticReleases\Github\Api\GraphQL\Query\GetMilestoneFirst100IssuesAndPullRequests->__invoke() at /app/src/Application/Command/ReleaseCommand.php:79
     Laminas\AutomaticReleases\Application\Command\ReleaseCommand->execute() at /app/vendor/symfony/console/Command/Command.php:298
     Symfony\Component\Console\Command\Command->run() at /app/vendor/symfony/console/Application.php:1024
     Symfony\Component\Console\Application->doRunCommand() at /app/vendor/symfony/console/Application.php:299
     Symfony\Component\Console\Application->doRun() at /app/vendor/symfony/console/Application.php:171
     Symfony\Component\Console\Application->run() at /app/bin/console.php:170
     Laminas\AutomaticReleases\WebApplication\{closure}() at /app/bin/console.php:171
    
    laminas:automatic-releases:release
    

    Looks like it can't query the GraphQL API of Github here (to get the issue list)

    bug 
    opened by Ocramius 3
  • Reduce image size by not installing apt recommended packages

    Reduce image size by not installing apt recommended packages

    With 1.3.0 using apt to install wkhtmltopdf instead of a .deb the image size increased

    ghcr.io/roave/docbooktool   1.3.0             b8ad7ce04652   2 days ago      1.4GB
    ghcr.io/roave/docbooktool   1.2.0             0e74b895f381   3 days ago      743MB
    

    This PR uses the --no-install-recommended flag (suggested by @Ocramius) to reduce the amount of extra stuff we pull in, resulting in a ~700MB image again

    The layer of the main apt install is significantly reduced in size:

    < RUN /bin/sh -c export DEBIAN_FRONTEND="nonin…   629MB     buildkit.dockerfile.v0
    ---
    > RUN /bin/sh -c export DEBIAN_FRONTEND="nonin…   1.23GB    buildkit.dockerfile.v0
    
    enhancement dependencies 
    opened by ciaranmcnulty 3
  • Change defaulting of TARGETARCH

    Change defaulting of TARGETARCH

    This doesn't actually work - it prevents the TARGETARCH being populated. I suspect buildkit implements it as a default, then this overrides the default

    bug 
    opened by ciaranmcnulty 3
  • Update dependency php to ~8.2.0

    Update dependency php to ~8.2.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | php | require | minor | ~8.1.12 -> ~8.2.0 |


    Release Notes

    php/php-src

    v8.2.0

    Compare Source

    v8.1.13

    Compare Source


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    Read more about the use of Renovate Bot within ocramius/* projects.

    dependencies renovate 
    opened by renovate[bot] 2
  • Update node Docker tag to v19.1.0

    Update node Docker tag to v19.1.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | node | stage | minor | 19.0.1 -> 19.1.0 |


    Release Notes

    nodejs/node

    v19.1.0: 2022-11-14, Version 19.1.0 (Current), @​RafaelGSS

    Compare Source

    Notable changes
    Support function mocking on Node.js test runner

    The node:test module supports mocking during testing via a top-level mock object.

    test('spies on an object method', (t) => {
      const number = {
        value: 5,
        add(a) {
          return this.value + a;
        },
      };
      t.mock.method(number, 'add');
    
      assert.strictEqual(number.add(3), 8);
      assert.strictEqual(number.add.mock.calls.length, 1);
    });
    

    Contributed by Colin Ihrig in #​45326

    fs.watch recursive support on Linux

    fs.watch supports recursive watch using the recursive: true option.

    const watcher = fs.watch(testDirectory, { recursive: true });
    watcher.on('change', function(event, filename) {
    });
    

    Contributed by Yagiz Nizipli in #​45098

    Other notable changes
    • deps
      • update ICU to 72.1 (Michaël Zasso) #​45068
    • doc
      • add lukekarrys to collaborators (Luke Karrys) #​45180
      • add anonrig to collaborators (Yagiz Nizipli) #​45002
    • lib
      • drop fetch experimental warning (Matteo Collina) #​45287
    • util
      • (SEMVER-MINOR) add MIME utilities (Bradley Farias) #​21128
      • improve textdecoder decode performance (Yagiz Nizipli) #​45294
    Commits

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    Read more about the use of Renovate Bot within ocramius/* projects.

    renovate 
    opened by renovate[bot] 2
  • Bump phpunit/phpunit from 9.5.25 to 9.5.26

    Bump phpunit/phpunit from 9.5.25 to 9.5.26

    Bumps phpunit/phpunit from 9.5.25 to 9.5.26.

    Changelog

    Sourced from phpunit/phpunit's changelog.

    [9.5.26] - 2022-10-28

    Fixed

    • #5076: Test Runner does not warn about conflicting options
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies php 
    opened by dependabot[bot] 2
  • Bump symfony/string from 6.1.6 to 6.1.7

    Bump symfony/string from 6.1.6 to 6.1.7

    Bumps symfony/string from 6.1.6 to 6.1.7.

    Release notes

    Sourced from symfony/string's releases.

    v6.1.7

    Changelog (https://github.com/symfony/string/compare/v6.1.6...v6.1.7)

    • no significant changes
    Commits
    • 823f143 Merge branch '6.0' into 6.1
    • 51ac0fa Merge branch '5.4' into 6.0
    • a52d2aa Merge branch '6.0' into 6.1
    • f592bd0 Merge branch '5.4' into 6.0
    • 571334c [String] Update wcswidth data with Unicode 15
    • 306ae41 Guard scripts from being run in non-CLI contexts
    • 2e5ba59 Merge branch '6.0' into 6.1
    • 32222f9 Merge branch '5.4' into 6.0
    • 3b6b41b [String] CamelCase/SnakeCase on uppercase word
    • 227f1af Merge branch '6.0' into 6.1
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies php 
    opened by dependabot[bot] 2
  • Bump symfony/console from 6.1.6 to 6.1.7

    Bump symfony/console from 6.1.6 to 6.1.7

    Bumps symfony/console from 6.1.6 to 6.1.7.

    Release notes

    Sourced from symfony/console's releases.

    v6.1.7

    Changelog (https://github.com/symfony/console/compare/v6.1.6...v6.1.7)

    • bug #47907 Update Application.php (aleksandr-shevchenko)
    • bug #47883 Fix error output on windows cli (Maximilian.Beckers)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies php 
    opened by dependabot[bot] 2
  • Bump composer from 2.4.3 to 2.4.4

    Bump composer from 2.4.3 to 2.4.4

    Bumps composer from 2.4.3 to 2.4.4.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies docker 
    opened by dependabot[bot] 2
  • Bump phpunit/php-code-coverage from 9.2.17 to 9.2.18

    Bump phpunit/php-code-coverage from 9.2.17 to 9.2.18

    Bumps phpunit/php-code-coverage from 9.2.17 to 9.2.18.

    Changelog

    Sourced from phpunit/php-code-coverage's changelog.

    [9.2.18] - 2022-10-27

    Fixed

    • #935: Cobertura package name attribute is always empty
    • #946: return with multiline constant expression must only contain the last line
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies php 
    opened by dependabot[bot] 2
  • Bump guzzlehttp/psr7 from 2.4.1 to 2.4.3

    Bump guzzlehttp/psr7 from 2.4.1 to 2.4.3

    Bumps guzzlehttp/psr7 from 2.4.1 to 2.4.3.

    Release notes

    Sourced from guzzlehttp/psr7's releases.

    2.4.3

    See change log for changes.

    2.4.2

    See change log for changes.

    Changelog

    Sourced from guzzlehttp/psr7's changelog.

    2.4.3 - 2022-10-26

    Changed

    • Replaced sha1(uniqid()) by bin2hex(random_bytes(20))

    2.4.2 - 2022-10-25

    Fixed

    • Fixed erroneous behaviour when combining host and relative path
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies php 
    opened by dependabot[bot] 2
  • Update dependency php to ~8.2.1

    Update dependency php to ~8.2.1

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | php | require | patch | ~8.2.0 -> ~8.2.1 |


    Release Notes

    php/php-src

    v8.2.1

    Compare Source


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    Read more about the use of Renovate Bot within ocramius/* projects.

    renovate 
    opened by renovate[bot] 1
  • Allow relative links to be used

    Allow relative links to be used

    Currently relative links do not work with the SingleStaticHtmlWriter (this problem could exist in other writers as well). Support for relative links would be beneficial.

    opened by cspray 0
  • Too large images result in blank page

    Too large images result in blank page

    Given an image that has a byte size over a certain amount the page renders as a blank string. You can see a demonstration of this in the fix-large-inline-image branch.

    A couple things to note:

    1. I was able to see this fail with images as small as 256kb. I cannot say for certain whether this is the actual limit, only that anything >=256kb demonstrated this problem. It is possible that a number less than 256kb would also have this problem. That has not been confirmed.
    2. The problem is happening in the MarkdownToHml formatter. Before the Markdown parsing the $page->content() contains the proper image and after parsing the $page->content() is a blank string.
    bug 
    opened by cspray 0
  • Confluence feature - Replace relative links to markdown within scope with confluence page links (if available)

    Confluence feature - Replace relative links to markdown within scope with confluence page links (if available)

    Given a link like [Reporting Overview](./another-file.md), assuming another-file.md also has a confluencePageId, we could replace the link with a Confluence link, e.g. https://<confluence-url>/pages/viewpage.action?pageId=<linkedConfluencePageId>.

    enhancement 
    opened by asgrim 0
  • Dependency Dashboard

    Dependency Dashboard

    This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

    Awaiting Schedule

    These updates are awaiting their schedule. Click on a checkbox to get an update now.

    • [ ] Lock file maintenance

    Open

    These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

    Detected dependencies

    composer
    composer.json
    • php ~8.2.0
    • guzzlehttp/guzzle ^7.5
    • guzzlehttp/psr7 ^2.4.3
    • jasny/twig-extensions ^1.3
    • michelf/php-markdown ^2.0
    • monolog/monolog ^3.2
    • psr/log ^3.0.0
    • symfony/yaml ^6.2.2
    • thecodingmachine/safe ^2.4.0
    • twig/twig ^3.5.0
    • webmozart/assert ^1.11
    • doctrine/coding-standard ^11.0.0
    • phpunit/phpunit ^9.5.27
    • psalm/plugin-phpunit ^0.18.4
    • vimeo/psalm ^5.4.0
    dockerfile
    Dockerfile
    • composer 2.5.1
    • node 19.3.0
    • ubuntu 22.04
    github-actions
    .github/workflows/ci.yml
    • docker/setup-buildx-action v2
    • docker/build-push-action v3
    .github/workflows/publish-docker-image-to-github-registry.yml
    • actions/checkout v3
    • docker/metadata-action v4
    • docker/setup-qemu-action v2
    • docker/setup-buildx-action v2
    • docker/login-action v2
    • docker/build-push-action v3
    .github/workflows/release-on-milestone-closed-triggering-release-event.yml
    • actions/checkout v3
    • laminas/automatic-releases v1
    • laminas/automatic-releases v1
    • laminas/automatic-releases v1
    • laminas/automatic-releases v1
    npm
    package.json
    • redoc-cli ^0.13.20
    • marked ^4.2.5

    • [ ] Check this box to trigger a request for Renovate to run again on this repository
    opened by renovate[bot] 0
  • Add integration test for Confluence

    Add integration test for Confluence

    We do some basic unit testing introduced in #253 of the ConfluenceWriter, but this doesn't actually connect to a Confluence instance and verify anything. We should add some kind of integration test (which would need a running Confluence instance).

    enhancement 
    opened by asgrim 0
Releases(1.7.0)
Owner
Roave, LLC
Roave, LLC
A PHP tool to generate templateable markdown documentation from the docblocks or type-hints of your codebase.

Roster Installation To install, simply require the package using composer: composer require

Jordan LeDoux 14 Sep 25, 2022
Generate pseudo-static pages from markdown and HTML files for Flarum

Flarum Pages Generator This is not a Flarum extension. This package provides a Flarum extender that you can use in the local extend.php to define cust

Clark Winkelmann 7 Feb 21, 2022
PHP based Markdown documentation viewer

PHP based viewer for Markdown files, to view them with fenced code highlighting and navigation.

null 5 Dec 9, 2022
Easily add routes to your Laravel app by creating Markdown or Blade files

Laravel Pages This package lets you create pages using Markdown or Blade without having to worry about creating routes or controllers yourself. Essent

ARCHTECH 104 Nov 12, 2022
Better Markdown Parser in PHP

Parsedown Better Markdown Parser in PHP - Demo. Features One File No Dependencies Super Fast Extensible GitHub flavored Tested in 5.3 to 7.3 Markdown

Emanuil Rusev 14.3k Dec 28, 2022
Highly-extensible PHP Markdown parser which fully supports the CommonMark and GFM specs.

league/commonmark league/commonmark is a highly-extensible PHP Markdown parser created by Colin O'Dell which supports the full CommonMark spec and Git

The League of Extraordinary Packages 2.4k Dec 29, 2022
Convert HTML to Markdown with PHP

HTML To Markdown for PHP Library which converts HTML to Markdown for your sanity and convenience. Requires: PHP 7.2+ Lead Developer: @colinodell Origi

The League of Extraordinary Packages 1.5k Jan 3, 2023
A highly configurable markdown renderer and Blade component for Laravel

A highly configurable markdown renderer and Blade component for Laravel This package contains: a Blade component that can render markdown a highly con

Spatie 230 Jan 7, 2023
Render colored Markdown contents on console terminal

cli-markdown Render colored markdown contents on console terminal Preview run demo by php example/demo.php Features support auto render color on termi

PHPComLab 6 Sep 29, 2022
PHP Markdown Engine Support

PHP Markdown Version v1.x support all PHP version >=5.4 v2.x support all PHP version >=7.0 Cài đặt thư viện Thư viện này được cài đặt thông qua Compos

Hung Nguyen 3 Jul 1, 2022
markdown wiki/blog

Kwiki markdown wiki/blog Usage Place your markdown files in the /wiki directory. Categories are directories and subcategories are subdirectories. If y

Ryan Winchester 76 Dec 30, 2022
Rendering markdown from PHP code

JBZoo / Markdown Installing composer require jbzoo/markdown Usage Rendering Table <?php declare(strict_types=1); use JBZoo\Markdown\Table; echo (new

JBZoo Toolbox 1 Dec 26, 2021
Symfony 5 bundle to easily create dynamic subpages with Markdown. Useful for help sections and wikis.

MarkdownWikiBundle This bundle allows you to create rich subpages in a Symfony project using Markdown. Pages are stored in a file cache and sourced fr

Gigadrive UG 3 Apr 26, 2022
Gruik ! An open-source markdown note-taking web app. [ABANDONED PROJECT]

What is Gruik ? It's a free & open-source note-taking service. A space where you can store notes, tutorials, code snippets... by writing them in markd

Adrien Pétremann 329 Dec 14, 2022
PHP Markdown & Extra

PHP Markdown & Extra An updated and stripped version of the original PHP Markdown by Michel Fortin. Works quite well with PSR-0 autoloaders and is Com

dflydev 173 Dec 30, 2022
A simple regex-based Markdown parser in PHP

Slimdown A simple regex-based Markdown parser in PHP. Supports the following elements (and can be extended via Slimdown::add_rule()): Headers Links Bo

Aband*nthecar 16 Dec 24, 2022
A super lightweight Markdown parser for PHP projects and applications.

A speedy Markdown parser for PHP applications. This is a super lightweight Markdown parser for PHP projects and applications. It has a rather verbose

Ryan Chandler 15 Nov 8, 2022
PHP Documentation system.

PHP Documentation system Simple but powerful Markdown docs. Features Search within Markdown files Customizable Twig templates (Note: default design is

Róbert Kelčák 1 Oct 4, 2022
Daux.io is an documentation generator that uses a simple folder structure and Markdown files to create custom documentation on the fly. It helps you create great looking documentation in a developer friendly way.

Daux.io - Deprecation Notice This repository is deprecated! Daux.io has been moved to an organization, to guarantee future development and support. So

Justin Walsh 4.6k Dec 16, 2022
Daux.io is an documentation generator that uses a simple folder structure and Markdown files to create custom documentation on the fly. It helps you create great looking documentation in a developer friendly way.

Daux.io Daux.io is a documentation generator that uses a simple folder structure and Markdown files to create custom documentation on the fly. It help

Daux.io 719 Jan 1, 2023