Giter VIP home page Giter VIP logo

docs-2's Introduction

 

Building

Getting the repo

If you are contributing to the repository, make sure to fork this repo, and then clone your own fork. You will need to do this to make creating pull requests easier.

git clone https://github.com/<your-username>/terra-docs

Test locally with Docker

Using Docker is easier than configuring your local machine to build sphinx:

First build the local Docker container:

make docker-make

Then you're ready to build the site:

make docker-build

You can view the site in your browser by navigating to index.html located in <PATH_TO_CLONED_REPO>/_build/html/index.html.

Make sure to run make docker-build each time you save your changes to view them live.

To auto-rebuild the site and refresh the browser use:

make docker-watch

Creating pages

Pages can be written in markdown .md or restructured text .rst

Add new pages to the /docs/ folder. Link pages to the navigation by inputting their relative filepath in the toctree located in index.md. Second-level pages can be made by adding a toctree to a parent file.

Markdown example:

To link a top-level page, insert a toctree and filepath into index.md:

```{toctree}
:hidden:
/docs/top-level-page
/docs/other-top-level-page
```

This will list top-level-page in the navigation.

To link a second-level page, add a filename's relative path to the toctree in the parent file.

In top-level-page.md, input the following toctree

```{toctree}
:hidden:
/docs/second-level-page
```

These two examples together will create the following navigation:

Top level page

  • Second level page
    Other top level page

Links

All links written in markdown are relative. Full URLs will render as external filepaths.

Admonitions (note and warning boxes)

Admonitions are made in markdown with the following syntax:

:::{warning}
 
This is the body of my warning admonition.
 
:::

Custom admonition syntax:

:::{admonition} This is my custom admonition title
:class: warning
 
This is the body of my admonition
 
:::

For a list of all admonition types, visit https://sphinx-book-theme.readthedocs.io/en/latest/reference/kitchen-sink/paragraph-markup.html?highlight=admonition#admonitions

Organization

Module Specs

Each module should be documented with the following subheaders:

  1. Abstract (no header)

    Maximum 2 paragraphs to explain, in broad terms, the general purpose of the module, to provide a "big-picture" perspective of how the module provides functionality and organization to the Terra protocol, and how it interacts with other modules.

  2. Concepts

    A section dedicated to the concepts that are required to understand how the module works. This may include:

    • layman primer
    • math formulas (formatted with LaTeX)
    • diagrams
  3. Data

    A section that covers the various data structures used by the module.

  4. State

    A section that covers the keeper state for that module key-value store

  5. Messages

    A section that covers the various types of messages and gives a rough explanation on how they are handled.

  6. Proposals

    A section that covers the related governance proposals

  7. Transitions

    A section that covers the begin-blocker and end-blocker transition functions

  8. Parameters

    A section that covers the chain parameters that can be modified by governance via the params module

For more info on configuring, visit:

Extensions

Extensions should be added to requirements.txt and conf.py.

Redirects

Redirects are listed in conf.py. Visit https://documatt.gitlab.io/sphinx-reredirects/ for more info.

Theme

Built using Sphinx Book Theme. Visit https://sphinx-book-theme.readthedocs.io/en/latest/customize/custom-css.html for CSS customization.

License

This software is licensed under the MIT license. See LICENSE for full disclosure.

© 2022 Terraform Labs, PTE.


 

Powering the innovation of money.

docs-2's People

Contributors

evanorti avatar ouiliame avatar steventerra avatar octalmage avatar jared-tfl avatar hanjukim avatar s-kim1 avatar etienne-napoleone avatar rtviii avatar ny6234 avatar erichgorski avatar dependabot[bot] avatar yun-yeo avatar alecande11 avatar pedro-explore avatar emidev98 avatar terran6 avatar chinoman10 avatar sveilleux1 avatar jiraffe7 avatar kjessec avatar maruf0011 avatar larry0x avatar santerra505 avatar peaceandwhisky avatar jacknewsom avatar jnsp avatar tobel158 avatar martinyung avatar minjungsung 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.