Title: Introduction
Page: introduction
## What is Nukumi2?
Nukumi2 is a very flexible and open framework for building static and
dynamic content websites. It was mainly created to allow blogging and
has features to ease this, but in general, every kind of mainly
content providing website can be generated with it. This
documentation, for example, was generated with it too.
## What is it not?
Nukumi2 it not a web application framework. In case you wanted one,
there are enough around; look for IOWA, Rails, Cerise, Wee to get
started.
Nukumi2 is not a wiki. Check Ruwiki, Instiki if you want one.
## Audience
This documentation was made for different audiences. See this table
for the best order to read: (Of course, nothing will stop you from
reading everything... :-))
If you are a... | then read... |
Blogger | Core Concepts, A Step-by-step Guide to Your Own Blog, Use Cases/Blog |
Webmaster | Core Concepts, How does Nukumi2 work?, Use Cases/Small Site |
Advanced Nukumi2 user | Customizing and Extending Nukumi2 |
Curious Programmer | Core Concepts, How does Nukumi2 work?, Use Cases, Customizing and Extending Nukumi2 |
Hacker | The source code :-) |
## Philosophy
Nukumi2 wasn't made without a reason; there are enough CMS and Blogs
around already. However, no-one really satisfied my needs. I wanted
static pages (also see [Bake, Don't
Fry](http://www.aaronsw.com/weblog/000404) and [Building Baked
Sites](http://www.aaronsw.com/weblog/000406) by Aaron Swartz), extreme
flexibility but ease of use, too.
Nukumi2 directly reflects these needs: Almost anything can be
overridden, changed without hacking it's source directly. In case it
can't, consider this as a design mistake that should be reported and
discussed.
Nukumi2 isn't the first blogging system I wrote, there were at least
10 before, which, at varying stages from "Mindflash" to "Used for
months" finally were interrupted and trashed. Nukumi, the tool I used
before, worked for 7 months till I acknowledged that it was totally
and unfixably broken. The idea of Nukumi2 came during Euruko 2004 to
my mind, and I hacked together an (awful, admittedly) proof of concept
implementation in 2 weeks. The rewrite of this prototype is what you
see here, and I hope it can satisfy your needs.
Of course, Nukumi2 also---as everything---has it's downsides. Some
things may appear quirky to you, and there are still lots of rough
edges here and there. Some concepts, syntaxes and ideas may look
alien to you, but they reflect my thinking. I encourage you to give
it a try; if you can only find some things that annoy you, fix them---this
should be possibly easily, I hope.
Should more and more things annoy you, go ahead and look for other
software. If you get happy with it, that's fine; in case you don't,
feel free to go back and customize Nukumi2. Don't forget too mail
patches, I'll have a look at them, and if the idea is reasonable to
be included in the core, it will be there in the next release.
Last, but by far not least, Nukumi2 was made to do *The Right Thing*.
Generated output should be---by default--valid at the strictest level
of interpretation. In case it isn't, or you broke it without knowing,
please file a bug. Web standards are important if we want to keep our
Web useful in the future.
## License
Nukumi2 itself is licensed under the terms of the GNU General Public
License. Some general-purpose libraries included are licensed under
the same terms as Ruby itself.
In case above is a problem, feel free to mail me. I could imagine
making exceptions for special cases.