[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