Diff for "ModularizeForReuse" | UserPreferences |
I've built a [http://www1.tripnet.se/~mly/ personal home page] and
a [http://www1.tripnet.se/~mly/mlis/ company web site] and both times I
built applications (first in Perl, second in Python) that I used
to generate the HTML pages. Both of these contained different
sub-sets of the functionality of MoinMoin such as:
* Handling of StructuredText of some sort.
* Mechanisms for navigation.
* Generation of RecentChanges and some kind of index.
* Consistent look through general headers and footers.
The main difference from MoinMoin is that I've been writing
my structured text (and embedding HTML) in my favourite text
editor (instead of a HTML form) and generated static HTML.
I've toyed with the idea of using MoinMoin for all of my
[http://www.thinkware.se/ new web site],
and protect it so that only I can edit files, but I would
like to be able to for instance embed arbitrary HTML, and
it seems a little wasteful to run cgi-scripts on every access
when the content is really static. I also have slightly different
ideas on navigation, headers adapting to the current page etc.
So, MoinMoin itself is not a perfect fit, but large parts of it
is. I don't know if this is what the ongoing redesign is about,
but I would '''love''' to be able to use:
* Going from template and structured text to HTML
* Automagic generation of RecentChanges and Index
* Search functions
* Versioning
without the Wiki things. I just want to be able to make
static pages with the above convenience.
''The refactoring will enable these things, or at least make them much easier. Creation of static pages can be done by writing a different "driver" script. Note that the current (current == in CVS) moin.cgi is just this:''{{{
from MoinMoin import cgimain
cgimain.run()
}}}
''I'll also add a way to export XML, which in turn will be implemented by using the Formatter/Writer interface, or a similar mechanism. And where's a HTML and a XML writer, there can be more... :)''
There are three point in my arguing here:
* Obviously, using the existing code in MoinMoin means less reinvention
of the famous wheel. Since I'm about to fix http://www.thinkware.se/ I
would probably hack things out of MoinMoin to do this anyway,
but naturally I prefer to use nice modules that are made to
fit this, and being actively supported together with the rest
of MoinMoin. I'm sure others feel the same.
* Using the same code for wiki and rest of ones site makes it easier to
give a common look and feel in the wiki part and the non-wiki part,
not only for color and small print in the footers, but also to
intregrate navigation, maybe use the same search page for both
the wiki part and the rest of the site and so on.
* Suddenly we have much more than just a wiki, which means (?)
a large user base and a better chance of a long and prosperous life.
The obvious downside is that the purpose of the project will be less
focused. I think it's worth that complication--even if one should
perhaps not underestimate that problem.
-- MagnusLyck�
''This can be solved by providing the necessary interfaces to plug extension stuff in (extend the core), or add said "driver" scripts (use the core, from the outside). Or both, in combination.''