*Effortless generation of documentation for Your Python project sensation.* 🙄
Supporting [poetry](), recommending [pre-commit-hooks]() and generating a fully hackable mini web site from a project README.md and project code comments using [pdoc](). All while combining them and [other tools](https://git.c3pb.de/ak/pykyll/-/blob/master/requirements.txt) with a glue code Python class and making them into an opinionated work flow to make your project: *Go, document yourself!"
Supporting [poetry](https://python-poetry.org/), recommending [pre-commit-hooks](https://pre-commit.com/) and generating a fully hackable mini web site from a project README.md and project code comments using [pdoc3](https://pdoc3.github.io/pdoc/). All while combining them and [other tools](https://git.c3pb.de/ak/pykyll/-/blob/master/requirements.txt) with a glue code Python class and making them into an opinionated work flow to make your project: *Go, document itself!*

This software is highly adapted to a particular workflow and not for everyone, though you may find it usefull. You can start from a web page like this in an instant
This software is highly adapted to a particular workflow and not for everyone. It is currently *in a state*, namely a state of being rewritten.
[unziped](https://pykyll.harmlos.info/html_out.zip) into your projects `docs/html_out` subfolder. This document is getting ahead of itself. Read the friendly
## Documentation
-[Web Site](https://pykyll.harmlos.info/pykyll) in HTML
-[Git Repository](https://git.c3pb.de/ak/pykyll) in Markdown Text
-[Web Site](https://pykyll.harmlos.info/pykyll) generated from `"""docstrings"""` by pdoc3
-[Markdown](https://git.c3pb.de/ak/pykyll) docs.
- This web site generated from the repository [`README.md`](https://git.c3pb.de/ak/pykyll/-/blob/master/README.md)
Pykyll*/pik:l/* is a friendly tool that aims to be useful and by no means *intended* to be a foot gun. Its aim is to ease maintaining documentation of software projects.
`pykyll`s aim is to ease maintaining documentation of software projects.
### Install
...
...
@@ -21,12 +29,12 @@ Download the [latest wheel](https://git.c3pb.de/ak/pykyll/-/tree/master/dist) an
Tip: Don't forget the `./` in `pipx install ./pykyll-SEMANTIC-VERSION-STRING.whl`
Starting out from any git repository generated by [poetry]().
### Initialise and Check your already existing git repository
:::shell
...
...
@@ -35,12 +43,29 @@ Starting out from any git repository generated by [poetry]().
In case you are not developing with poetry, you may ignore the suggestions from the output and instead handle the virtual environment yourself.
### Build docs subfrolder
### Build docs sub folder
and put the mini web site into `docs/html_out`.
:::shell
pykyll build
Will turn your projects README.md into a mini site in `docs/html_out` and generate a description from your code comments. Check out pykylls own web site at is has *Gone and documented itself!*
Will turn your projects README.md into a mini site in `docs/html_out` and generate a description from your code comments using `pdoc`. Check out pykylls own web site at is has *Gone and documented itself!*
### Lokal development web server
Using Pythons `http.server`
:::shell
pykyll serve
As all commands on this page intended to be executed from within your projects `poetry shell` or virtual environment manages by other means and by no means intended for production use. This is simply checked by calling
:::python
try:
os.environ["VIRTUAL_ENV"]
except KeyError:
foo()
#### SFTP Upload
...
...
@@ -52,25 +77,53 @@ Make yourself a `settings.py` following [this example](https://git.c3pb.de/ak/py
Please consider the importance of line 1.
# Pygments Test
## Self Test
### H3
#### H4
##### H5
###### H6
> This is a quote
### Pygments
As the name of the code style sheet is simply hard coded, you may change the source code or you may generate a style sheet as recommended in the official pygments docs like so:
:::shell
pygmentize -S monokai -f html -a .codehilite > styles.css
Which naturally goes into your html_out as this is just a mini site to get something like this:
<p><em>Effortless generation of documentation for Your Python project sensation.</em> 🙄</p>
<p>Supporting <ahref="">poetry</a>, recommending <ahref="">pre-commit-hooks</a> and generating a fully hackable mini web site from a project README.md and project code comments using <ahref="">pdoc</a>. All while combining them and <ahref="https://git.c3pb.de/ak/pykyll/-/blob/master/requirements.txt">other tools</a> with a glue code Python class and making them into an opinionated work flow to make your project: *Go, document yourself!"</p>
<p><imgalt="y is missing"src="https://pykyll.harmlos.info/pykyll_logo.png"/></p>
<p>This software is highly adapted to a particular workflow and not for everyone. It is currently <em>in a state</em>, namely a state of being rewritten.</p>
<h2id="documentation">Documentation</h2>
<ul>
<li><ahref="https://pykyll.harmlos.info/pykyll">Web Site</a> in HTML</li>
<li><ahref="https://git.c3pb.de/ak/pykyll">Git Repository</a> in Markdown Text</li>
</ul>
<p>Pykyll <em>/pik:l/</em> is a friendly tool that aims to be useful and by no means <em>intended</em> to be a foot gun. Its aim is to ease maintaining documentation of software projects.</p>
<h3id="install">Install</h3>
<p>Download the <ahref="https://git.c3pb.de/ak/pykyll/-/tree/master/dist">latest wheel</a> and install to an ephemeral virtual environment handled by pipx.</p>
<p>Tip: Don't forget the <code>./</code> in <code>pipx install ./pykyll-SEMANTIC-VERSION-STRING.whl</code></p>
<p>In case you are not developing with poetry, you may ignore the suggestions from the output and instead handle the virtual environment yourself. </p>
<p>Will turn your projects README.md into a mini site in <code>docs/html_out</code> and generate a description from your code comments. Check out pykylls own web site at is has <em>Gone and documented itself!</em></p>
<h4id="sftp-upload">SFTP Upload</h4>
<p>Make yourself a <code>settings.py</code> following <ahref="https://git.c3pb.de/ak/pykyll/-/blob/master/TEMPLATE_settings.py">this example</a>.</p>
<spanclass="nb">print</span><spanclass="p">(</span><spanclass="s2">"Serving on http://0.0.0.0:8000"</span><spanclass="p">)</span>
<spanclass="nb">print</span><spanclass="p">(</span><spanclass="s2">"</span><spanclass="se">\n</span><spanclass="s2">[bold]<CTL> + <c> to quit[/bold]"</span><spanclass="p">)</span>