Skip to content

Move website from Docusaurus to Sphinx  #40

@jbesomi

Description

@jbesomi

Motivation

Initially, docusaurus.io has been chosen as a tool to visualize Texture's documentation on the website.
Docusaurus is great for two reasons: it's very beautiful and it's super easy to use as users need to write simple markdown files.
Docusaurus's main drawback is that it does not support natively Sphinx, the python documentation generator used to create documentation from the docstrings.

As of now, the API documentation is generated through Sphinx and a python function (to_docusaurs.py) is used to map Sphinx's html files to Docusaurus's markdown files.

This solution, even if it works, is not practical and that's why we should move texthero to Sphinx.

Implementation

Goal: move Texthero's website from Docusaurus to Sphinx.

Sphinx theme: pydata-sphinx-theme as it is very elegant and it resembles the actual website design.

The design should be adapted (not really a complex task) to match almost perfectly the current Texthero's design. This basically means change some CSS to match Texthero's colors and adapt the menu bar.

There is some extra work to do to create the homepage. The homepage will be probably hardcoded in an Html files, without using React (Javascript) as it's the case now with Docusaurus.

Extra

Once ported on Sphinx, it will be possible to add new functionalities to the API's page. Some of the most important are:

  • Add the 'source' button to every function for easy lookup of the code
  • Add Sphinx internationalization, i.e multilingual support. I have no idea yet how this will/should work, any help is much welcomed!
  • New ideas

Collaboration

If you've read this far; wow, congrats! If you are interested in helping with this (very important!) task just leave a comment, or, if you prefer, contact me directly: jonathanbesomi__AT__gmail.com

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions