eosnetworkfoundation / docsgen

Scripts for creating docs.eosnetwork.com pulls from various eos nf repos and builds static HTML to power website
Other
3 stars 0 forks source link

DocsGen

Deprecated

Please see Docs UI for the updated docs.eosnetwork.com user interface

DocsGen is the tool used to build the EOS documentation. It consists of a set of scripts and configuration files to generate the EOS Web Documentation Portal. The goal of this project is to create a single web portal linking together documentation across the EOS Network code repositories. This portal will make an effort to make it easy to build and maintain EOS projects, according to the following objectives:

System Design

In a nutshell, a shell script clones a git repository, and puts the content into a staging server. The staging server builds the content into the documentation you see on the website. The current system uses Docusaurus to convert markdown into HTML, power navigation, and manage versions.

graph LR;
    subgraph prod1 [Production]
    Webserver;
    end
    subgraph stag1 [DocService]
    Docusaurus-->HTML;
    HTML-->|scp|Webserver;
    end
    subgraph github [GitHub]
    Repo1-->|clone|Docusaurus;
    Repo2-->|clone|Docusaurus;
    Repo3-->|clone|Docusaurus;
    end

Testing utilizes Cypress, while search is powered by algolia.

Coverage

Topic Source Repository Top Level Path Process To HTML
Nodeos HTTP API mandel leap-plugins/ openAPI yaml and redocly
JS SDK API Documentation mandel-eosjs eosjs/ Docusaurus
Swift API Documentation mandel-swift reference/swiftdocs static html
Swift API Manuals mandel-swift swift-sdk Docusaurus
Java API Documentation mandel-java reference/javadocs static html
EOS System Contracts eos-system-contracts system-contracts Docusaurus
Contract Developer Tools cdt cdt Docusarus
DUNE DUNE DUNE Docusarus
Nodeos, Cleos, Kloes Manuals Leap leap Docusarus
Tutorials Docs docs/tutorials Docusarus
Glossary Docs glossary Docusarus
Docs Docs docs docusarus

Documentation

For information on how to generate content, update the site navigation, update the UX presentation, production setup, and testing, visit the documentation section.