Hi all,
I'm hacking away at docs, mainly because of this project..
Which is a mix of day job and night job ;-)
The day job is excel everywhere on wind machines..
So I started to look at the situation and converting some stuff to rst and making it better somewhat..
This kinda stuff is quite easy I find.. What I generally want its some clickable html..
Now the position I am looking "at it" what I would want as an end developer..ie me..
And what I would want
python-excel.org to be is a bit of a h(e)aven for python and excel..
After all one can go around the houses on search of things, and reading some
pdf here and another things there.. but I ended up at python-excel..
So for documentation..
The tool were using for this is sphinx and rst.. which are pedantic and stubborn in their own ways..
but sphinx is building it for us..
Quick Question, ?? is that automated from source or and acutal release "manual" process (i suspect the later)
So can I make some suggestions and some feedback et all.. this is off the top of my head ......
== End goal ==
1) my goal is to make the manual cool and clickable inbetween all of them.. but also we can end in a world of confusion..
eg clcking on a xutils link end me up in the the xlrd and i dont know it cos they all look the same with sphonx..
So the way I try to solve that is at least to have a "template" with some navigation on top..
and also maybe some "different color" for each module.. and this is easy..
== Build DOcs ==
2) out build system = sphinx * 2
The problem..
To interlink sites and make external references, there needs to be and object.inv in each "build" of the docs..
This leads to the problem of one dependancy.. eg "the new function" or alike in one lib accecing another..
eg
intersphinx_mapping = {
}
Sphinx makes this bindings at compile time, so the process needs to be run twice..
1) make build of each "project" and create objects.inv for each project, but fails in chicken and egg
2) run second time against previous builds and chicken wins.. ;-)
So these "object.inv" are aqquired from remote server at compile.. (ie cached.. even.. ummm!!)
=== Doc Branches ========
3) branches
is there a way to bring or create "docs" branches up to date..
If a project not have docs branch, then can we create on and keep it up to date..
This is real useful for things such as explains and correcitions and even other langs later ;-)
By this I mean that they exist or reflect "head" somewhat..
The merge for example from xlrd.master to xlrd.docs is not something I think I am comfortable dealing with..
It its huge patch upon __init__ file so this I think is best left to upstream..instead of a new fail == stall
== Doc Patches =============
4) The docs patches..
The sphinx uses autodoc, which is a new addition and is capable of creating docs from source code and a "python" module..
so this means that there needs to be a file that represents the module to be documented..
This also means that each "function" and "attribute" in the python source that has been crafted over a few years..
is suddenly mashed up by a stranger who comes in and changes all teh comments into something else in the wrong place..
Is the main problem..
and sphinx is another cos its pretty "fussy" about things, eg a new line is required
.. note::
This fails beacause no line break above..
When all one wanted was
.. note:: This works at last
instead
.. note::
This workz.. stuff u sphinx and rst sometimes..
So I understand this frustrations as a documentor over the years.. but at least its not docbook ;-)))))))))))
Doxygen is current favourite, but sphinx is for pytohn only.. kinda in my heart
So this pisses devs off when lots of white space and like, just to make docs cool.. etc..
===== Config Vars ==========
The issue I want to raise is where is the __version__ and __author__ and __license data etc..
its all over the place..
But what works is probably whats in the source..
For example,, the sources of xlrd have the .info module with verion
What I would expect is a file similar to this..
But theragain I am a new kid on the block..
How they are being used is that sphhinx loads stuff uponn config from project..
so the variables need to be there..
eg
And then the __version __ is proper down the line..
The same goes for authors and license and desription et all..
=== Main requests ===
* can someone create the "doc" branches and up to date in code and can patch to that..
suggest to use use "doc/" as the directory as this is what pypi recommend in install..
* What are the developer guidelines for helping with documentation
Pete