Coder Social home page Coder Social logo

deivu / docma Goto Github PK

View Code? Open in Web Editor NEW

This project forked from onury/docma

1.0 0.0 0.0 17.6 MB

A powerful tool to easily generate beautiful HTML documentation from JavaScript (JSDoc), Markdown and HTML files.

Home Page: https://onury.io/docma

License: MIT License

JavaScript 76.40% CSS 8.14% HTML 3.33% Less 12.12%

docma's Introduction

Docma

npm release license downloads dependencies maintained documentation
© 2019, Onur Yıldırım (@onury).

A powerful tool to easily generate beautiful HTML documentation from Javascript (JSDoc), Markdown and HTML files.

Features

  • Parse JSDoc documentation, Markdown and HTML files.
  • Build a cool SPA (Single Page Application) from parsed files.
  • Generate multiple/separate API documentations by grouping JS files.
  • Path or Query-string based app routing.
  • Non-opinionated engine, built-in template with cool opinions. 😎
  • Supports custom templates, comes with template authoring tools.
  • Works great with GitHub Pages, Amazon S3, Nginx, Apache, etc...
  • Build via API or CLI.
  • Extremely configurable and debuggable.
  • Well documented. ☝️

...like this:

Docma screen

This is generated with the built-in template, Zebra.
click to view live

Installation

npm i docma -D

Building Documentation with CLI

You can use Docma CLI to build documentations directly from your console. Once you create the configuration file docma.json in your project root, it's quite simple.

docma

You can even serve the docs locally and test.

docma serve

See

Building Documentation Programmatically

If you need to build documentation from within your code, use the API.

const Docma = require('docma');

Either by passing a configuration object.

const config = {
    src: [
        './code/**/*.js',
        './README.md'
    ],
    dest: './output/doc'
};
Docma.create()
    .build(config)
    .then(success => console.log('Documentation is built successfully.'))
    .catch(error => console.log(error));

Or by reading configuration from a JSON file.

Docma.create()
    .build('./path/to/docma.json')
    .catch(error => console.log(error));

See Docma API Reference.

Parsed Output

Sometimes, the issue is with invalid JSDoc comments. See this for linting/validating your JSDoc while you type and within a build process.

To investigate the parsed JSDoc output, enable the debug option that will create a JSON output(s) within the root of the destination directory. If you have a problem with the parsed documentation data, open an issue @ jsdoc-x. (I'm the author.)

For markdown output issues (that are not related with style), you can open an issue @ marked.

Changelog

See CHANGELOG.

Compatibility Table

Docma version Node version
v3.0.0 v8+
v2.0.0 v6+
v1.0.0 v4+

Documentation

Read Docma documentation, built with Docma, for a Docma demo... 👀
Also see the F.A.Q. section.

License

MIT. You don't have to include any copyright notice in your documentation output or templates but I'd appreciate if you let people know about this tool so we can read better documentations.

Emoji shortcuts used in source markdown files are parsed into twemoji. Graphics and icons licensed under CC-BY 4.0.

Related Modules

  • jsdoc-x — Parser for outputting a Javascript object from documented code via JSDoc's explain (-X) command.
  • marked — A full-featured markdown parser and compiler, written in JavaScript. Built for speed.
  • dustjs — Asynchronous Javascript templating for the browser and server.

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.