Creating a Python document generation tool because it is difficult to use sphinx

Overview As the program grows to a certain scale, it will become almost essential to create documents for individuals or even a few people.

But Python's document generation tool doesn't feel very good.

It's almost the de facto standard sphinx, but are they really enduring such ** penance **? : thinking:

Recent Python has added elements such as Type Hints and Variable Annotation, and static type checking such as mypy makes debugging programs much easier.

However, document generation is not easy for the rest of my life ...: cry:

Even Cython supports Type Hints and Variable Annotation, but when it comes to sphinx, ** sphinx-quickstart ** is no longer quick.

I'm waiting for someone great to make it, but it's hard to come out, so I decided to make it myself.

Usage https://github.com/sumeshi/py2markdown

$ python py2markdown.py <SOURCE_DIRECTORY> <DESTINATION_DIRECTORY>

Since the tool is not in a state where it can be distributed, I will wait for the ** strongest engineer swastika ** to develop it, influenced by this article.

I will do my best to refactor if I get a pull request.

Demo

https://py2markdown.netlify.com/

I tried to convert py2markdown.py itself to markdown with this tool. Vuepress is used to convert markdown-> html.

Vuepress is basically like a git book, but it looks cool and it's nice because the components are applied in vue.js.

Issue Actually, I'm not parsing Python, I'm doing gorigori string processing.

So ** Of course, it doesn't support transformation notation like function closure **

Since the side effects are all messed up methods, I would like to write it functionally if possible to dilute the side effects, but since it is a mystery how much it affects performance, depending on the result, I want to get it quickly and quickly around Cythonize or Rust. ..

I wish I could easily see the source of the self-made system that I was developing in my research. I made it in a couple of hours with a loose concept, but it felt surprisingly good, so I'd like to implement it properly. Masu.: Sushi:

end

Recommended Posts

Creating a Python document generation tool because it is difficult to use sphinx
Re: Python lambda is useless ^ H ^ H ^ H ^ H ^ H Difficult to use
[Python] What is a tuple? Explains how to use without tuples and how to use it with examples.
[Python] Creating a scraping tool Memo
[Python] What is a slice? An easy-to-understand explanation of how to use it with a concrete example.
A memorandum because I stumbled on trying to use MeCab in Python
[Python] It was very convenient to use a Python class for a ROS program.
How to use is and == in Python
It is convenient to use Layers when putting a library on Lambda
It is more convenient to use csv-table when writing a table with python-sphinx
Judge whether it is a prime number [Python]
It is better to use NTFS when connecting SSD to Linux to create a file server.
How to use any or all to check if it is in a dictionary (Hash)
python note: What does it mean to set a seed with random number generation?
I realized that it is nonsense to use the module without thinking because it is convenient.
Try to make a command standby tool with python
Steps from installing Python 3 to creating a Django app
[Python] About creating a tool to display all the pages of the website registered in the JSON file & where it got caught
Use Heroku in python to notify Slack when a specific word is muttered on Twitter
I made a function to crop the image of python openCV, so please use it.
I don't want to search for high para because it is IQ1 (how to use lightgbm_tuner)
Creating a scraping tool
After all it is wrong to cat with python subprocess.
How to output a document in pdf format with Sphinx
How to use the __call__ method in a Python class
[python] A note when trying to use numpy with Cython
[Python] What a programming inexperienced person did before creating a tool
Create a tool to check scraping rules (robots.txt) in Python
A python beginner tried to intern at an IT company
Use a scripting language for a comfortable C ++ life-OpenCV-Port Python to C ++-
VIM is good to use — at least a sneak peek
[Python] What is pip? Explain the command list and how to use it with actual examples
Microsoft's Deep Learning framework "CNTK" is now compatible with Python, making it much easier to use
[Python] Although it is a humanities, I will do my best to understand bit full search