changeset 1:2f6e35beda96

split content
author David Demelier <markand@malikania.fr>
date Wed, 16 Dec 2020 22:25:15 +0100
parents 8a5b35ee8c0a
children ac0fecc47054
files Makefile contribute.md faq.md index.md mailing-lists.md projects.md templates/template.html
diffstat 7 files changed, 359 insertions(+), 99 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Wed Dec 16 14:57:36 2020 +0100
+++ b/Makefile	Wed Dec 16 22:25:15 2020 +0100
@@ -3,7 +3,7 @@
 .SUFFIXES:
 .SUFFIXES: .html .md
 
-SRCS=           index.md
+SRCS=           contribute.md faq.md index.md mailing-lists.md projects.md
 OBJS=           ${SRCS:.md=.html}
 PANDOC=         pandoc
 PANDOC_FLAGS=   -f markdown -t html5 --template templates/template.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/contribute.md	Wed Dec 16 22:25:15 2020 +0100
@@ -0,0 +1,62 @@
+% malikania - contribute
+% David Demelier <markand@malikania.fr>
+% 2020-12-16
+
+How to contribute
+=================
+
+There are many aspects in which you can contribute to the projects. First of all
+is to use them! More there are users, more bugs and problems can be found then
+hopefully solved.
+
+Report bugs
+-----------
+
+If you find a bug, please report it through the [mailing list][] with a detailed
+explanation to reproduce the problem.
+
+Development
+-----------
+
+Contribute code, bug fixes and features.
+
+### Repositories
+
+In contrast to many other projects, repositories are not hosted on GitHub and
+are not using Git either. A [FAQ][faq-github] has been addressed especially as
+an explanation to this frequent question.
+
+Instead, projects are hosted using the well known [Mercurial][hg] source control
+management which has the benefits of having a sane UX, being portable and simple
+to use.
+
+Repositories are available for both browsing and cloning at
+[http://hg.malikania.fr](http://hg.malikania.fr).
+
+To clone, simply append the project name. Example:
+
+	hg clone http://hg.malikania.fr/nsnake
+
+**Note**: do not use https scheme as a regular user. Repositories using https
+are reserved for pushing and require authentication for that purpose.
+
+### Patches
+
+Patches are sent to the appropriate [mailing list][]. Use the
+convenient Mercurial [patchbomb][] extension to send an email.
+
+Example:
+
+	hg clone http://hg.malikania.fr/molko
+	cd molko
+	(hack)
+	hg ci -m "topic: super message"
+	hg email -r . -s "[molko]"
+
+Please update the `-s` option according to the project name and also be sure to
+read the *CONTRIBUTING.md* file of the given project if there are any.
+
+[faq-github]: faq.html#why-no-github
+[hg]: http://mercurial-scm.org
+[mailing list]: mailing-lists.html
+[patchbomb]: https://www.mercurial-scm.org/wiki/PatchbombExtension
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/faq.md	Wed Dec 16 22:25:15 2020 +0100
@@ -0,0 +1,68 @@
+% malikania - FAQ
+% David Demelier <markand@malikania.fr>
+% 2020-12-16
+
+Frequently asked questions
+==========================
+
+Why no GitHub?
+--------------
+
+I want flexibility and be able to do exactly what I want. I've started using
+Redmine even before GitHub existed and I almost know every feature of it, it's
+highly customizable. Also, I prefer a homemade infrastructure rather than giving
+all my personal data to private companies. Remember when sourceforge was the
+main place for opensource projects?
+
+See also:
+
+- [youtube-dl fiasco](https://github.com/github/dmca/blob/master/2020/10/2020-10-23-RIAA.md)
+- [Microsoft acquires GitHub](https://blogs.microsoft.com/blog/2018/10/26/microsoft-completes-github-acquisition)
+- [Mercurial support ends in Bitbucket](https://bitbucket.org/blog/sunsetting-mercurial-support-in-bitbucket)
+- [Telemetry in GitLab](https://gitlab.com/gitlab-org/growth/product/issues/164)
+
+Why no Git?
+-----------
+
+Some people are asking projects to move to Git and some are even considering
+non-Git SCMs as legacy, it is not. As a long time Mercurial user and
+occasionally contributor I can't say enough that Mercurial is active and receive
+a vast amount of contributions every day. Mercurial is far easier and
+comfortable to use than Git with a sane UI guidelines and good integration, also
+Mercurial works better on other platforms that Git. The only downside is the
+current mainstream hype around Git feeling like it's de-facto standard for team
+development, thus many people fails to understand that alternatives exist.
+
+That said, Mercurial is the only one SCM used at Malikania and there will never
+be any kind of SCM repositories in other forms. However, Mercurial mirrors are
+allowed and some of them are officially updated and maintained.
+
+Why no Discourse, Matrix, Slack, Discord?
+-----------------------------------------
+
+Nowadays, there is a mainstream consensus of bloating every simple things. This
+also impacts basic communications channels that are available since decades.
+While IRC has its warts and is pretty minimalist, it still serves it's sole
+purpose: instant messaging focusing on the content rather than the form.
+“Modern” alternatives such as Discord, Matrix provide many more features and
+additional extras that prevent you from focusing on what people said; the
+content being mangled alongside a lot of GIFs, emojis, images and such.
+
+At Malikania we keep the UNIX principle of using simple tools following the KISS
+philosophy and that do not requires a brand new shiny hardware to run all of
+those alternatives. This does not mean that we don't consider alternatives but
+simplicity and elegance is chosen first. In that area, Redmine is probably the
+only complex and big software running in the infrastructure but in contrast to
+GitLab it has the advantage of doing well without installing billions of
+dependencies.
+
+That said, we think that IRC, mailing lists are still the best way to share
+quality content focused on pure data.
+
+Is there a code of conduct?
+---------------------------
+
+There is a common mainstream hype of putting [Code of
+Conducts](https://en.wikipedia.org/wiki/Code_of_conduct) everywhere. Malikania
+doesn't have such of any kind nor will have one. On the other hand, this does
+not mean that everything is tolerated, just keep common sense.
--- a/index.md	Wed Dec 16 14:57:36 2020 +0100
+++ b/index.md	Wed Dec 16 22:25:15 2020 +0100
@@ -2,11 +2,16 @@
 % David Demelier <markand@malikania.fr>
 % 2020-12-16
 
-malikania hosting
-=================
+About malikania hosting
+=======================
 
 Welcome to malikania home.
 
+About
+-----
+
+This home is a center of several fully opensource projects.
+
 Philosophy
 ----------
 
@@ -18,109 +23,26 @@
 things but well. Not surprising, projects are usually written in C or C++ with
 few dependencies except POSIX and simple libraries.
 
-Libraries
----------
-
-The following libraries can be bundled directly into your project.
-
-- [libbuf][]: a minimalist growing string container for C.
-  - Status: stable
-  - Languages: Make, C11
-
-Projects
---------
-
-The following projects are listed mostly in ascending list of first initial date
-of birth.
-
-- [code][]: a set of reusable code in C and C++.
-  - Status: unversioned
-  - Languages: CMake, C11, C++17
-- [nsnake][]: a simple snake game for your terminal, in C.
-  - Status: stable
-  - Languages: Make, C11
-- [irccd][]: a flexible, fast IRC bot.
-  - Status: stable
-  - Languages: CMake, C++17, Javascript (Optional)
-- [paster][]: code paste hosting service written in C11.
-  - Status: new
-  - Languages: Make, C11
-- [imgup][]: temporary image hosting service written in C11.
-  - Status: new
-  - Languages: Make, C11
-- [molko][]: a 2D solo RPG in spirit of Final Fantasy.
-  - Status: experimental
-  - Languages: Make, C11
-
-### Status legend
-
-The following status indicates the project versioning and roadmap.
-
-| Status       | Description                                               |
-|--------------|-----------------------------------------------------------|
-| New          | Project is fairly new and subject to change but usable    |
-| Stable       | Project reached a stable version                          |
-| Experimental | Project is experimental and not suitable for use yet      |
-| Unversioned  | Project does not produce version and should be used as-is |
-
-**A note about stability**
-
-Some Linux distributions packagers tend to think that a software that isn't
-having development commits in a long period means it is no longer maintained.
-This isn't the case. A software does not need to be continually developed to be
-considered as maintained. For example, [nsnake][] is a simple snake game that is
-considered complete and as such unless there are bugs to fix it does not need
-any maintenance. Please stop removing packages from Linux distributions just
-because there aren't new releases every two weeks.
-
-Versioning
-----------
-
-All projects under the malikania umbrella are covered under the [Semantic
-Versioning][semver].
-
-License
--------
-
-All projects and code written are licensed and released under the permissive
-[ISC][isc] license. Few projects may incorporate third party components under a
-license that is compatible with [ISC][isc].
-
-Non-free licenses such as GPL are not allowed.
-
-Development
------------
-
-In contrast to many other projects, repositories are not hosted on GitHub and
-are not using Git either. A [FAQ][faq-github] has been addressed especially as
-an explanation to this frequent question.
-
-Instead, projects are hosted using the well known [Mercurial][hg] source control
-management which has the benefits of having a sane UX, being portable and simple
-to use.
-
-### Repositories
-
-Repositories are available for both browsing and cloning at
-[http://hg.malikania.fr](http://hg.malikania.fr).
-
-To clone, simply append the project name. Example:
-
-	hg clone http://hg.malikania.fr/nsnake
-
-**Note**: do not use https scheme as a regular user. Repositories using https
-are reserved for pushing and require authentication for that purpose.
-
+[backlight]: http://hg.malikania.fr/backlight
+[bcc]: http://hg.malikania.fr/bcc
 [code]: http://hg.malikania.fr/code
+[devkit]: http://hg.malikania.fr/devkit
+[embed]: http://hg.malikania.fr/embed
+[faq-github]: https://redmine.malikania.fr/projects/infrastructure/wiki#Why-no-GitHub
+[hg]: http://mercurial-scm.org
 [imgup]: http://projects.malikania.fr/imgup
 [irccd]: http://projects.malikania.fr/irccd
 [isc]: https://opensource.org/licenses/ISC
 [kiss]: https://en.wikipedia.org/wiki/KISS_principle
-[libbuf]: http://hg.malikania.fr/libbuf
+[libbase64]: http://hg.malikania.fr/libbase64
+[libbuf]: http://projects.malikania.fr/libbuf
+[libunicode]: http://hg.malikania.fr/libunicode
+[marker]: http://hg.malikania.fr/marker
+[miner]: http://hg.malikania.fr/miner
 [molko]: http://hg.malikania.fr/molko
+[nirc]: http://hg.malikania.fr/nirc
 [nsnake]: http://projects.malikania.fr/nsnake
 [paster]: http://projects.malikania.fr/paster
 [semver]: http://semver.org
 [unix]: https://en.wikipedia.org/wiki/Unix_philosophy
-[faq-github]: https://redmine.malikania.fr/projects/infrastructure/wiki#Why-no-GitHub
-[hg]: http://mercurial-scm.org
+[vanilla linux]: http://projects.malikania.fr/vanilla
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mailing-lists.md	Wed Dec 16 22:25:15 2020 +0100
@@ -0,0 +1,42 @@
+% malikania - mailing lists
+% David Demelier <markand@malikania.fr>
+% 2020-12-16
+
+Mailing lists
+=============
+
+The usual way to send patches, ask questions and fix bugs is done through the
+mailing lists. At the moment the following lists are available.
+
+`users@`
+:   General questions and discussions.
+
+`dev@`
+:   Development list for sending patches. This is not a tech forum, please
+    do not use as such.
+
+`commits@`
+:   Read-only list referencing commits.
+
+Management
+----------
+
+To subscribe, you must send an email to the `LIST-NAME+subscribe` at
+malikania.fr. To unsubscribe, replace the `subscribe` verb to `unsubscribe`.
+
+To send a mail, just write to one of the defined above and add the domain name
+malikania.fr
+
+**Note**: Subscription is required to send a mail.
+
+Rules
+-----
+
+Please follow the following rules before sending a mail.
+
+- Prefix the subject using `[topic]` to indicate the project. Example with an
+  irccd question: `[irccd] new plugin question`.
+- No HTML.
+- Reply using bottom-posting only.
+- Use your mail agent "Reply to list" function rather than "Reply to all".
+- Use UTF-8 only.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/projects.md	Wed Dec 16 22:25:15 2020 +0100
@@ -0,0 +1,155 @@
+% malikania - projects
+% David Demelier <markand@malikania.fr>
+% 2020-12-16
+
+Projects
+========
+
+Official projects hosted and maintained here.
+
+Libraries
+---------
+
+The following libraries can be bundled directly into your project.
+
+- [libbuf][]: a minimalist growing string container for C.
+  - Status: stable
+  - Languages: Make, C11
+- [libbase64][]: encoding and decoding in pure C or pure C++.
+  - Status: stable
+  - Languages: Make, C11 or C++17
+- [libunicode][]: UTF-8 <-> UTF-32 conversions and classifications without
+  dependencies in pure C or pure C++.
+  - Status: stable
+  - Languages; Make, C11 or C++17
+
+Utilities
+---------
+
+Basic utilities.
+
+- [backlight][]: a portable tool to adjust brightness using direct ACPI calls.
+  - Status: stable
+  - Languages: Make, C11, POSIX
+- [bcc][]: a flexible C/C++ array generator for binary files (in spirit of
+  `xxd`).
+  - Status: new
+  - Languages: Make, C11, POSIX
+
+Projects
+--------
+
+The following projects are listed mostly in ascending list of first initial date
+of birth.
+
+- [code][]: a set of reusable code in C and C++.
+  - Status: unversioned
+  - Languages: CMake, C11, C++17
+- [nsnake][]: a simple snake game for your terminal, in C.
+  - Status: stable
+  - Languages: Make, C11
+- [devkit][]: documentations on how to build libraries for Windows.
+  - Status: unversioned
+  - Languages: Markdown
+- [embed][]: set of embeddable C and C++ libraries.
+  - Status: unversioned
+  - Languages: CMake, C, C++
+- [irccd][]: a flexible, fast IRC bot.
+  - Status: stable
+  - Languages: CMake, C++17, Javascript (Optional)
+- [paster][]: code paste hosting service written in C11.
+  - Status: new
+  - Languages: Make, C11
+- [imgup][]: temporary image hosting service written in C11.
+  - Status: new
+  - Languages: Make, C11
+- [molko][]: a 2D solo RPG in spirit of Final Fantasy.
+  - Status: experimental
+  - Languages: Make, C11
+
+Unmaintained or abandoned projects
+----------------------------------
+
+- [vanilla linux][]: an innovative Linux distribution using pure LLVM toolchain
+  and musl.
+  - Status: abandoned
+  - Languages: POSIX Shell
+  - Reason: see the [detailed explanation](http://projects.malikania.fr/vanilla/post-mortem.html).
+- [marker][]: a custom Markdown renderer.
+  - Status: abandoned
+  - Languages: CMake, C++14
+  - Reason: some alternatives support more extensions.
+- [nirc][]: minimalist IRC client for ncurses.
+  - Status: abandoned
+  - Languages: Make, C11
+  - Reason: no more interest.
+- [miner][]: redmine command line client.
+  - Status: abandoned
+  - Languages: Make, C++14
+  - Reason: Redmine API isn't versioned and too limited.
+
+Status legend
+-------------
+
+The following status indicates the project versioning and roadmap.
+
+| Status       | Description                                               |
+|--------------|-----------------------------------------------------------|
+| New          | Project is fairly new and subject to change but usable    |
+| Stable       | Project reached a stable version                          |
+| Experimental | Project is experimental and not suitable for use yet      |
+| Unversioned  | Project does not produce version and should be used as-is |
+| Abandoned    | Project is no longer maintained                           |
+
+**Note about stability**
+
+Some Linux distributions packagers tend to think that a software that isn't
+having development commits in a long period means it is no longer maintained.
+This isn't the case. A software does not need to be continually developed to be
+considered as maintained. For example, [nsnake][] is a simple snake game that is
+considered complete and as such unless there are bugs to fix it does not need
+any maintenance. Please stop removing packages from Linux distributions just
+because there aren't new releases every two weeks.
+
+**Note about abandoned projects**
+
+Abandoned projects are kept forever in the Mercurial repository list but no
+longer listed in the index page. They may still work for you and you can still
+contribute to them if you want to resurrect some, in that case it may be
+reconsidered.
+
+Versioning
+----------
+
+All projects under the malikania umbrella that are not classified as
+*unversioned* are covered under the [Semantic Versioning][semver].
+
+License
+-------
+
+All projects and code written are licensed and released under the permissive
+[ISC][isc] license. Few projects may incorporate third party components under a
+license that is compatible with [ISC][isc].
+
+Non-free licenses such as GPL are not allowed.
+
+[backlight]: http://hg.malikania.fr/backlight
+[bcc]: http://hg.malikania.fr/bcc
+[code]: http://hg.malikania.fr/code
+[devkit]: http://hg.malikania.fr/devkit
+[embed]: http://hg.malikania.fr/embed
+[hg]: http://mercurial-scm.org
+[imgup]: http://projects.malikania.fr/imgup
+[irccd]: http://projects.malikania.fr/irccd
+[isc]: https://opensource.org/licenses/ISC
+[libbase64]: http://hg.malikania.fr/libbase64
+[libbuf]: http://projects.malikania.fr/libbuf
+[libunicode]: http://hg.malikania.fr/libunicode
+[marker]: http://hg.malikania.fr/marker
+[miner]: http://hg.malikania.fr/miner
+[molko]: http://hg.malikania.fr/molko
+[nirc]: http://hg.malikania.fr/nirc
+[nsnake]: http://projects.malikania.fr/nsnake
+[paster]: http://projects.malikania.fr/paster
+[semver]: http://semver.org
+[vanilla linux]: http://projects.malikania.fr/vanilla
--- a/templates/template.html	Wed Dec 16 14:57:36 2020 +0100
+++ b/templates/template.html	Wed Dec 16 22:25:15 2020 +0100
@@ -5,6 +5,17 @@
 		<link rel="stylesheet" href="css/no-class.css" type="text/css">
 	</head>
 	<body>
+		<header>
+			<nav>
+				<ul>
+					<li><a href="index.html">home</a></li>
+					<li><a href="projects.html">projects</a></li>
+					<li><a href="contribute.html">contribute</a></li>
+					<li><a href="mailing-lists.html">mailing lists</a></li>
+					<li><a href="faq.html">faq</a></li>
+				</ul>
+			</nav>
+		</header>
 $body$
 	</body>
 	<footer>