On Thu, Nov 6, 2014 at 10:15 PM, Carsten Haitzler <ras...@rasterman.com> wrote:
> On Thu, 6 Nov 2014 20:38:34 -0200 Felipe Magno de Almeida
> <felipe.m.alme...@gmail.com> said:

[snip]

>> Also, I agree that different languages should have separate
>> documentations because too much information distracts and discourages
>> the user. Specially when the information seems much more complicated
>> than what he is looking for. So a python developer going through
>> anything C or C++ related is going to run away pretty easy.
>
> so you're going to have to put this smarts into some eolian based tool as
> eolian now has to be taught to deal with structs, enums etc. anyway for
> js/lua/python etc. so if this has to go there to generate jsdoc ... and C/C++
> is separate, then some other lua doc thing (don't even now) then some 
> different
> python doc? why not just generate it all at once - generate simple markdown. 
> :)

That is indeed helpul. However we still have APIs in C headers for
legacy functions. We could import those declarations to Eo files as
well and generate documentation from there though, solving this
problem.

> keep the docs somewhere where they are community editable beyond just core
> devs. if docs stay in .eo files the only peolpe able to work on them are those
> with core src commit access. this isn't working. there are many reasons, but
> it's failing now for years. and getting worse.

Yes I agree it makes a lot easier for people outside to help us if we
don't require commit access. However, the problem is that separating
both complicates things way more than it looks like.

Let's call EFL-docs a git repo like
g...@git.enlightenment.org:core/efl-doc that contains all docs in some
format (could be JSON, EOs, SQLite, etc).
For example, how do we synchronize class definitions between EFL and
EFL-docs? Functions are added, removed, renamed all the time. These
must be kept in sync or people might not even know there's a new
function to document. But, how do we manage renaming functions, if we
through all documentation away from removed functions then when
someone renames this function in EFL repo it is going to disappear in
EFL-docs. Git helps us recover, but renaming becomes a huge pain in
the ass.

Also, should documentation live both in EFL eo's and EFL-docs? If yes,
then there's no purpose to exist EFL-docs, since we will have to keep
synchronizing between both anyway. If, on the other hand,
documentation lives only in EFL-docs then we need to synchronize EFL
API (as the last paragraph demonstrated) with EFL-docs, which is also
complicated.

Also, for auto-complete, we want reference documentation to live in
source code. This helps developers use the API. So if we remove it
from EO files or don't keep them in sync, this documentation is lost
or becomes outdated in the generated files. Unless  EFL-docs becomes a
optional dependency to build EFL.

The separation just makes sense because editing documentation through
a web site becomes harder to synchronize with real source code.
However, we could deliver an interface for editing that actually
creates a phab differential where developers can review and push it.
So we don't really need to separate both if we can make it easier for
people to get documentation modifications accepted.

About doxygen. Well, if we can move all documentation to EO files, we
could drop doxygen very easily and improve compilation by a huge
margin. This is a good thing. And we need a better tool to write
tutorials then if we drop doxygen. Wiki's are good and easy to edit,
but they aren't easy to use snippets of examples which is a necessity
in tutorial documentation IMO. And examples should never live inside
the documentation but be linked with snippets because examples must
always be compiling and breaking when API changes.

[snip]

>> Kind regards,
>>
>> [snip]
>>

Kind regards,
-- 
Felipe Magno de Almeida

------------------------------------------------------------------------------
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to