[PD] puredocumentation

marius schebella marius.schebella at gmail.com
Thu Aug 30 03:06:47 CEST 2007


thanks,
atm I don't know how that works. otoh, can we use the index.txt? that 
seems to contain most of the information.
that's a great library!
marius.

Thomas O Fredericks wrote:
> We implemented something similar forthe help files in PDMTL 
> abstractions. See the pdmtl.inde.maker.pd in 
> https://devel.goto10.org/listing.php?repname=pdmtl&path=%2Ftrunk%2Ftools%2F&rev=0&sc=0 
> <https://devel.goto10.org/listing.php?repname=pdmtl&path=%2Ftrunk%2Ftools%2F&rev=0&sc=0>
> 
> Tom
> 
> On 8/29/07, *marius schebella* <marius.schebella at gmail.com 
> <mailto:marius.schebella at gmail.com>> wrote:
> 
>     hi,
>     this is the start for the puredocumentation wiki.
>     for all who didn't follow the discussions during the pdconv, here is the
>     latest:
>     some people agreed on building a media wiki for all documentation
>     beyond
>     the pd help patches. some time ago there was the puredatabase, but that
>     is quite dead now.
>     so the idea is, to reanimate something similar, but with the possibility
>     for everyone to commit to it. maybe not everyone but if 5-10% of users
>     help contributing, then I think the project will be successful.
>     one of the reasons why this should be done, is that very often pd users
>     look for a certain feature or object, but don't know the name exactly
>     and need a good search engine.
>     so... the puredocumentation (in planning state) will cover externals and
>     "stable" abstractions. (abstractions that are maintained kind of like
>     externals)
>     additionally to the "wiki for objects" there will be the section for
>     the
>     tutorials, manuals and faq, and hopefully you will be able to type in
>     your search string after "How do I: " and get the right objects,
>     examples and tutorials.
>     My estimation is, that there are more than 3000 objects atm. so for the
>     beginning the tricky part is to build all the basic object pages from
>     the existing documentation (mainly help patches).
>     here is, what I think should be the content of every object page:
>     *objectname* the string name (for example "plus" for "+") of the
>     object/external
>     *opt other name* = abbreviation, +,..
>     *helpfilename* (can be different than object name),
>     *description* = short description
>     *libraryinfo* purepd,GEM,cyclone... + author + licence
>     *arguments*
>     *inlets/outlets*
>     *examples* what this object is for... that's where you can be creative!
>     *see also* / similar objects
>     *tags* like audio/dsp, math, MIDI, something like a categorization.
>     I want to use python to extract as much information as possible from
>     the
>     help-patches into one big textfile (csv style) from which we can create
>     the wikipages. I hope to get the developers involved in correcting the
>     cvs-textfile before the basic pages are created). this has to be done
>     per library, and I am still trying to figure out, how to do this in
>     detail. for example some help patches have some description in the top
>     letmost corner. so a python script should be able to find that
>     information and put it into the "description" field.
>     there will be an irc session on sep 11 with all the people working on
>     the project. so maybe if you want to join or have suggestions on how to
>     get this done, feel free to respond.
>     addtitional documentation work that probably will also be done:
>     improving help patches by switching to a nice pddp format.
>     creating online video tutorials, or recordings of workshops.
>     one last point: If you know of a school/university or teaching center
>     that would like to get involved (for example by putting pd classes on
>     their schedule or paying people do some documentation work) that would
>     also help the project to be successful...
>     so far. thanks for reading through that all!
>     marius.
> 
>     # this file will look slightly different for every library
>     # write everything into a database like format... (NOT YET!!!)
>     # OBJECTNAME | OPT OTHER NAME | HELPFILE-NAME | DESCRIPTION | TAGS |
>     LIBRARYINFO | ARGUMENTS | INLETS/OUTLETS | EXAMPLES | SEE ALSO
>     # objectname is the string name (for example "plus" for "+")
>     # opt other name = abbreviation, +,
>     # helpfilename (can be different than object name),
>     # description = short description
>     # libraryinfo: purepd or GEM + author + licence
>     # arguments
>     # inlets/outlets
>     # examples : what this object is for...
>     # see also/similar objects
>     # junk
>     #
>     # use X coordinate to sort comments???
> 
>     import re
>     import os
> 
>     print 'searching all files for comments'
> 
>     searchPattern = "#X text \d+ \d+ " # search for comments
>     replacePattern = searchPattern    # what can be deleted of the comments
>     deleteNLPattern = r'\r'            # delete cr
>     fileExtension = ".*[.]pd$"        # files to look for
>     separator = "|"                    # separate colomns
>     separator2 = "___"                # separate junk
>     fileTo = "test_to.txt"
> 
>     p = re.compile(searchPattern)
>     rep = re.compile(replacePattern)
>     nldel = re.compile(deleteNLPattern)
>     fe = re.compile (fileExtension)
> 
>     f2 = open(fileTo, "w")
> 
>     for fileName in os.listdir("."):
>         m = fe.search(fileName)
>         if m:                            # only if is it a pd-file
>             f = open(fileName, "r")
>             first = 1                    # suppose the first entry is
>     the description
>             for line in f:
>                 m = p.search(line)     # search in line for pd-comment
>     pattern
>                 if m:
>                     line = nldel.sub("",line)
>                     if first == 1:                    # help needed! how
>     to sort other than by appearance? write to array?
>                         f2.write("\n" + fileName + separator) #need \n
>     for every file but the first.
>                         newText = rep.sub("",line)    # this should
>     delete the trailing pattern
>                         f2.write(newText[:-1])        # this writes
>     without closing nl
>                         f2.write (separator)
>                         first = 0
>                     else:
>                         newText = rep.sub("",line)
>                         f2.write(newText[:-1])
>                         f2.write(separator2)
>             f.close()
>     f2.close()
> 
>     #done...
>     _______________________________________________
>     PD-list at iem.at <mailto:PD-list at iem.at> mailing list
>     UNSUBSCRIBE and account-management ->
>     http://lists.puredata.info/listinfo/pd-list
> 
> 
> 
> 
> -- 
> thomas ouellet fredericks, tof at danslchamp.org 
> <mailto:tof at danslchamp.org>, montreal, canada





More information about the Pd-list mailing list