On Wed, 15 Apr 2015 09:20:42 +0200 Adrien Nader <adr...@notk.org> said:

> On Tue, Apr 14, 2015, Carsten Haitzler wrote:
> > 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
> 
> Do you plan on making "stable" ones? I don't think it's sane to link to
> anything but the most recent stable release: lagging a bit for updates
> is fine but linking to the devel stuff would be really bad imho.

yes - docs are meant for stable releases - whatever next release is is the
goal. we could take a policy of "api is not stable until documented". that's
actually not a bad idea. it pushes people to document it as it'll be generated
with a default template that says "this is unstable and should not be used" :0
i like this idea。 :) we can disable or even remove apis that dont get filled
in with docs easily. find the ones that are still in template mode after a
while.

> Also, what about an URI that is simpler to memorize? That's not
> exclusive with the current one though. I'd really like to be able to
> remember the URI to prepend to any function name in order to get its
> doc: "docs/generated/c/keywords/" is a bit too long for that.
> 
> > 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!) :)
> 
> That only applies to the API part, right?

it applies to the entire wiki - every single page on www.enlightenment.org. if
there is a <code> block - it can auto-link to the correct reference (based on
language and if we generate it).

> We can also mod_rewrite or something else to turn docs/ecore/foo/bar
> into whatever we want if needed. I think that for a namespaced
> organization, a trailing /api component would only be a redirect or a
> simple page with a list of entries but not much content by itself.
> 
> > 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.
> 
> I don't think it's worth spending time on it for now. It can always be
> done later on without costing more time if really needed. Let's wait and
> see.

not bothering right now. if i want things linked.. i make <code c> blocks. :)

> > > 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.
> 
> Page per page or globally for the wiki?

per page we import from tizen docs - they come with a respective licence. no
need to place any on pages freshly made in dokuwiki (we can have a global
license cover that)

> > > The documentation in Tizen is really good. I'm totally unbiased on
> > > that. No, really.
> > 
> > sure... :)
> 
> Who cares about typos and the like anyway? Being rushed is like a proof
> of authenticity of any real project: if you don't rush, it only means
> you had too much time.
> 
> > > 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.
> 
> Quite likely it got impacted by that. Well, too late and not worth
> bothering. You can't see it but I got to see what some of the annoyances
> were going to be.
> 
> > > 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
> 
> There are plugins that generate namespace indexes ("nslist" for instance
> I think).
> 
> Agreed that we probably don't want to use namespaces for elm vs. ecore
> vs. ...
> It's fine for elm/ecore/eina/evas/edje but then you need to add
> ephysics, emotion, eet, efreet and another dozen.
> 
> What about a topical split maybe?
> doc/efl/events
> doc/efl/canvas
> doc/efl/widgets
> doc/efl/themes
> doc/efl/networking
> doc/efl/data-structures
> 
> This list still smells of the underlying libs but it doesn't restrict us
> in how we organize inside. It would also be possible to doc
> doc/efl/gui/{canvas,widgets,themes} instead. This actually also quite
> matches the topics in the tizen doc.

well i have something up already - let's munge on that. :)

> > > 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)
> 
> I'm most interested in support for syntax plugins. The dokuwiki syntax
> page gets expanded by syntax plugins. You can see
> http://win-builds.org/doku.php/wiki/syntax#syntax_plugins : it lists the
> additional syntax that can be used on that very dokuwiki installation.
> 
> I was wondering if I could use some mediawiki syntax for lists and
> tables but without that page I couldn't tell.

plugin not installed. exttab3 is now. :)

> > > - 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?
> 
> With DW syntax, if I want a linefeed in a list item, I need to write it
> as:
>   * foo bar\\ this gets on a newline
> 
> It's not readable when editing.
> 
> Quite often when you get to lists with lots of content in each item,
> you're doing it wrong and would better use sections or re-think your
> prose but there's still this 10% of time when it's really what makes
> most sense.
> 
> > > - 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).
> 
> Hah, true. I should really install a vim plugin for the text edit boxes
> if I intend to do anything serious from the browser.

yup! :)

> > > - 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. 
> 
> Confirmed: I now get the file browser button. :) 
> 
> > > - 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
> 
> The most annoying thing to lose is links because they're in the middle
> of the text but since we're not going to keep the same structure we'll
> need to check links.
> 
> It's a bit depressing but until there's at least 30% of the content
> imported, links will be in a very sad state. That's basically what
> happened when we wrote that documentation: we could add a link from A to
> B but then B would change name or it hadn't been written yet and would
> never be named that way. So, well, realistically it'll be done with
> proof-reading at a slightly later stage.

indeed.

> > > - 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
> 
> I searched a bit for plugins on dokuwiki's website and I think the
> current ones that match the needs are:
>   https://www.dokuwiki.org/plugin:itemtable (tables)
>   https://www.dokuwiki.org/plugin:exttab3 (tables)
>   https://www.dokuwiki.org/plugin:complex_lists (lists)
>   https://www.dokuwiki.org/plugin:yalist (lists)
> 
> Itemtable is for tables and you basically name your columns and then
> add a bit of syntax to say you're giving the content for such column and
> such row.
> 
> Exttab3 brings mediawiki's syntax for tables. The syntax is quite ugly
> but it's needed to be able to put block breaks inside table cells.
> 
> Complex_lists and yalist, I don't know. I haven't had time to check them
> yet. Not sure which one is better. I think there's a another plugin; in
> any case there's one which makes it possible to "resume" a list (this is
> most visible when you use numbered lists: it resumes the numbering).
> Need to spend a bit more time on that but I can't until tonight.

complex_lists as a plugin is just broken. naming is actually illegal (cant have
_'s in the plugin name) and i frankly couldn't be bothered fixing it all. so
yalist it is. the others are in (itemtable and exttab3)

-- 
------------- 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

Reply via email to