Git Product home page Git Product logo

docinator's Introduction

Docinator

Welcome to Docinator! Docinator extracts documentation in the form of PlantUML diagrams, Swagger specs, markdowns, and more to build a beautiful documentation website without any modifications to your repository. Docinator "just works" - install it, run it, that's it.

Learn to use Docinator by reading the user documentation or simply run docinator --help command.

Developer Guide

Any editor will do, but effort has been put into getting VSCode configured just right so please use that unless you have a strong preference for another editor.

System Requirements

You'll need Java 8 or above for the PlantUML integration.

Project Initialization and First Run

The following will download the code, install dependencies, and serve the Docinator documentation:

git clone --recurse-submodules [email protected]:tmobile/docinator.git
cd docinator
npm i
ts-node src/cli.ts serve

Run the CLI

npm run build && npm link
docinator --help

Docinator will now be available on the command line.

To avoid having to re-link between changes, use ts-node:

ts-node src/cli.ts --help

Build with Docker

docker build -t docinator .

Run with Docker

To build a Docinator site:

docker run -v "$(pwd):/data" -ti docinator build

To serve a Docinator site:

docker run -v "$(pwd):/data" -p 1313:1313 -ti docinator serve

Note about using $(pwd) on Docker for Windows using GitBash and WSL-based engine: The $(pwd) value will pass the Windows path to the Linux host where it is invalid. Instead, try running directly from a WSL terminal


Note about WSL: WSL may not allow port access on 1313 by default. Use sudo ufw allow 1313 to allow access to port 1313. You can disallow this later with sudo ufw deny 1313.

Heads up: changes to the Hugo template need a rebuild of the Docker image...

Acknowledgements

  • Hugo and Hugo Theme Learn are used to generate static websites.
  • PlantUML is used to generate PlantUML diagrams; this repository includes a binary distribution of PlantUML.
  • Swagger UI is used to visualize swagger files.
  • Additional libraries and frameworks used are listed in the package.json file of this repository.

docinator's People

Contributors

jamestharpe avatar timothyshelton avatar mre-fog avatar dependabot[bot] avatar getting-started-projects avatar otseng avatar huiqizhou3 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.