On Mon, 13 Apr 2015 21:27:49 +0200 Adrien Nader <adr...@notk.org> said:
sorry - not addressing the below.. but i have now got a local dokuwiki patch that extends geshi (the code syntax hilighter) to teach it new keywords. the awesome bit - the keywords are just a text file in the wiki! http://www.enlightenment.org/ss/e-552cb0fa49e318.10726513.png see evas_object_del is hilighted. i have a file with: evas_object_del evas_object_show evas_object_hide eo_add eo_del and if any of these appear - they get linked... to the following url which is in an accompanying file: /docs/generated/c/keywords/{FNAMEL} so that means click on a link and it goes to: docs/generated/c/keywords/evas_object_del on the site (www.e.org in front of course). this is the beginning of a namespace for docs. the above keywords markdown pages can be totally generated (and maybe even be master pages for these things) and it means code at least gets auto-linked. the symbol list is in the wiki so it can be extended by hand edits or auto-generation and commits to www-content git on the back-end without going through the wiki. something needs to collect/generate all these keywords (functions, enums, macros, typedef'ed types). in future for eo we can auto-generate them for classes, methods, events etc. etc. but it's a start. so to some extent by doing this dokuwiki mod, i'm answering the question partially to layout already a this mod relies on a flat layout of keywords (geshi relies on this for linking keywords - it doesnt understand context thus has to be flat). oh btw - geshi is the code syntax hilighter buried in dokuwiki (external project from dokuwiki though) and has hilighters for maybe 50+ languages (c, cpp, js, lua python are all there, even brainfuck and ruby!) :) now adding auto-linking outside of code blocks is harder. problem: 1. we don't know language context (link in c, cpp, js, python, lua? which?) 2. a lot more work (likely write plugin to do it ... if we knew context). so q is - do i bother? or do we just leave it to links outside code sections not being automatic (have to manually [[]] things) ... which as i think about it i think is fine. we can FORCE every function to have a code section - an example at least. a "see also" section can be done in a code block as well so it links nicely. imho these solve the problem enough from a docs point of view. of course this consideration goes right to the heart of what our docs will look like formatting-wise as a standard. thus positing it here. > Last year, Samsung contracted a company made of French borkers to > write its "native application" documentation, i.e. usage of EFLs on > Tizen. Last week, raster switched e.org to dokuwiki. > Well, I worked on that documentation and I really like dokuwiki so I > started porting the documentation. > > It was written as doxygen and we don't have any copyright on that; > however, the HTML output has been published as a mix of CC-BY 3.0, BSD > 3-clauses and LGPL v2.1 and Apache. It's not entirely consistent but in > any case, it's definitely usable (and probably with a better track of > licenses than what has existed until now). at the bottom of each page we can put a licence link and put a copy of the above licenses in our docs tree - we will comply happily then. > The documentation in Tizen is really good. I'm totally unbiased on > that. No, really. sure... :) > More seriously, it's fairly comprehensive and covers some topics which > are large enough for no-one to deal with them on their free time. > > It's made of "tutorials" and "programming guides". Programming guides > sit between tutorials and the API reference. Think of the tutorial as > "hold-my-hand-and-make-me-use-that-widget-for-the-first-time" while the > programming guide explains the common APIs and usage. Most widgets are > covered. > > For reference, my first try is a page with no incoming link at: > https://www.enlightenment.org/docs-non-api-wip doesn't work. i think you got the wiki when beber had it locked down and semi-broken for editing. it's back to working now. > The very first question I got was: how do we organize that > documentation? good q - partly... see above. > Dokuwiki supports namespaces and we probably want to take advantage of > that; namespaces can appear in the URI either as "foo:bar" or "foo/bar" > and it's also possible to put a page directly at "foo". > > I think we could have namespaces and pages like: > doc/ > doc/efl # lists and explains libraries > doc/efl/ecore/ > doc/efl/ecore/events # covers events, their handling, the mainloop... > doc/efl/elementary/ > doc/efl/elementary/concepts > doc/efl/elementary/widgets # nice, sorted, widget gallery > doc/efl/elementary/widgets/button # page-name is guessable from the API > doc/e17/ > doc/e19/ i agree on using the dir tree. as above - some of it i think we will auto-generate (someone runs a script when we do a release and populates git - they commit changes then to www-content). admittedly i'm talking "reference" docs vs howto/tutorials/concepts etc. - docs for a class, a func/method, a macro, a type, an enum etc. .. but these are a core part of docs. the tutorials need to link back to references so it's all integrated. maybe like: doc/ref/lib/efl/gen/c/key/KEYWORD # a specific keyword like "evas_object_del" doc/ref/lib/efl/gen/c/keyword-link.txt # link url for keywords for "c" land doc/ref/lib/efl/gen/c/keyword-list.txt # txt file with list of all keywords doc/lib/efl/start.txt # start page for efl in general (efl, elm etc.) ... doc/app/enlightenment/start.txt # start page for enlightenment as an app doc/app/edi/start.txt # start page for edi ... as an app ... (KEYWORD being evas_object_del or eo_del or evas_object_color_set or ecore_timer_add etc.). replace "c" with "cpp", "lua", "js" depending on language using gen/ to indicate some content there is generated - eg new "empty template" pages for new keywords - the keyword list page too is generated. (you can generate it by just listing the key dir above i guess). efl/start.txt can be where you start with efl and this is the first "i'm a noob" to efl specifically and this page can link/include further pages - eg getting started etc. from some other file (likely inside the efl/ dir). it's much like yours - but why bother namespace elm and ecore etc. - it's all efl - to people this is what matters. libs are separate > Any thought? This really seems like the most blocking aspect to me. > > A few more things (most are for the wiki admins). > > What's missing or could be improved: > - the dokuwiki "syntax" page cannot be found on the wiki; it's a problem > because some dokuwiki plugins extend the syntax and it's difficult to > know which ones are enabled without that page just find any dokuwiki page - i actually use msot of what is supported in the example page on e.org (http://www.enlightenment.org/example) > - there should be a plugin which provides mediawiki's table/list syntax > (there are several of them available, not sure which one to chose) yeah - i know of it. so far tables have been good enough, but yes - this can be added. what do you need it for? > - locating the words "tizen" and "appcore"/"app_core" is fairly > difficult and it'd be nice to have highlighting for that ummm spellchecker! grep. vi, emacs, ... if your browser has a spellchecker they'll hilight as they arent.. real words. :) but tbh - find-in-page in browser or copy & paste to a local vim/emacs editor and pre-edit there a bit before passing into browser editor (or get commit access and commit right to www-content git for a "mass import" of data as this is heavy back-end work that is why we have a gitbacked wiki). > - when I want to upload an image, I need to download it locally then > re-upload it (something for which I don't have the rights it seems) you .. should have the rights... a normal @user can do everything - unregistered (@ALL) can only read. the acl's say so.. maybe it was the above lock of wiki by beber. try again. > - we need to think about the license a bit in order to have something > compatible with the mix from tizen.org. as above - put license link at bottom of imported tutorials/whatever - leave as a separate example/tutorial/howto - that page has that license at the bottom listing origin and what license is is :) > What's annoying and probably won't change: > - copy-paste from tizen.org is a bit difficult because of tizen.org's > layout > - copy-paste loses some markup, in particular headers/titles, lists, > tables, figures manual - have to redo. :( it'll be done once all imported so going forward we're find long-term > - some filtering needs to be done: Tizen-specific stuff needs to be > stripped (there isn't much of it but you need to locate it) > - dokuwiki's table syntax is nice and simple but also too simple let's discuss this - as above. what do you need? we can add plugins as needed > -- > Adrien Nader > > ------------------------------------------------------------------------------ > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > Develop your own process in accordance with the BPMN 2 standard > Learn Process modeling best practices with Bonita BPM through live exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF > _______________________________________________ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) ras...@rasterman.com ------------------------------------------------------------------------------ BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel