lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

> So, what's the thinking?

Neat! I was thinking about the exact same thing, but also for full
libraries and even applications. Ideally it will integrate the best
ideas of all the code repos out there, none of which seem to close the
circle (that's why some projects have the project homepage on lua
wiki, sources on github or luaforge, rockspec on luarocks main repo,

About the motivation for contribution: I think the greatest obstacle
for contribution is not internal motivation, it's the interface --
that is, the lengths you have to go to finally contribute something --
It's never easy and ever boring and distracting from your goals. Make
contribution easy and you're guaranteed to have it flowing. Most wikis
flourish because of that. I started a discussion about this topic on a
different community some time ago[1].

That being said, here's my list of ingredients:

1) for small code snippets:
- sections on a snippet page: description, snippet itself, comments,
unit testing, usage examples, tags, cross-categories.
- have any section edited like any wiki page by anyone without login -
but keep changelog and provide a diff tool.
- online lua interpreter for testing snippets and running usage
examples/unit tests.
   - mark snippets according to success/failure of unit tests.
- any text section (description, comments) is wiki-markup so it can
reference other snippets, etc.

2) for one-file pure-lua libraries:
- extract luadoc, globals, etc. and make an editable API doc. section.

3) for bigger, multi-file projects:
- project wiki (entire wiki, not just a wiki page -- other projects
will be referenced to as interwiki links) -- most important, as
questions, requests, reviews and changes of any part of the project
will be localized and worked out only between interested parties,
unlike in a mailing list.
- git repo with as many frontends as possible (sftp, html code
browsing, etc.) or just leave it all to github in the first phase.
- ... a lot more, to make it easier to join bigger projects and start

Finally, the whole website will be a pure-lua project, self-hosted so
that people can add more features easily and see the results
immediately. That means a pluginable architecture like [2] and a
sandbox version into which people can try out their plugins.