aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.build.yml4
-rw-r--r--.gitignore11
-rw-r--r--.projectile1
-rw-r--r--Makefile50
-rw-r--r--archetypes/default.md6
-rw-r--r--config.toml13
-rw-r--r--content/_index.org59
-rw-r--r--content/blog/20200128.org (renamed from blog/20200128.org)3
-rw-r--r--content/blog/20200406.org (renamed from blog/20200406.org)1
-rw-r--r--content/blog/20200410.org (renamed from blog/20200410.org)1
-rw-r--r--content/blog/20200508.org (renamed from blog/20200508.org)1
-rw-r--r--content/blog/20200528.org (renamed from blog/20200528.org)1
-rw-r--r--content/blog/20200617.org (renamed from blog/20200617.org)1
-rw-r--r--content/blog/20200803.org (renamed from blog/20200803.org)1
-rw-r--r--content/blog/20201210.org (renamed from blog/20201210.org)1
-rw-r--r--content/blog/20210303.org (renamed from blog/20210303.org)1
-rw-r--r--content/blog/20210415.org (renamed from blog/20210415.org)16
-rw-r--r--content/blog/20210525.org50
-rw-r--r--content/blog/20210630.org15
-rw-r--r--content/blog/20211025.org125
-rw-r--r--content/blog/_index.md5
-rw-r--r--content/blog/february-2024-news-post.org89
-rw-r--r--content/blog/january-2023-news-post.org44
-rw-r--r--content/blog/three-years-of-carbs-linux.org20
-rw-r--r--content/blog/two-years-of-carbs-linux.org28
-rw-r--r--content/docs.org (renamed from src/docs.org)19
-rw-r--r--content/donate.org13
-rw-r--r--content/download.org (renamed from src/download.org)7
-rw-r--r--content/mailing-lists.org (renamed from src/mailing-lists.org)1
-rw-r--r--content/news/20191210.org (renamed from news/20191210.org)2
-rw-r--r--content/news/20191212.org (renamed from news/20191212.org)2
-rw-r--r--content/news/20191217.org (renamed from news/20191217.org)2
-rw-r--r--content/news/20191218.org (renamed from news/20191218.org)2
-rw-r--r--content/news/20200109.org (renamed from news/20200109.org)2
-rw-r--r--content/news/20200110.org (renamed from news/20200110.org)2
-rw-r--r--content/news/20200113.org (renamed from news/20200113.org)2
-rw-r--r--content/news/20200115.org (renamed from news/20200115.org)2
-rw-r--r--content/news/20200122.org (renamed from news/20200122.org)2
-rw-r--r--content/news/20200128.org (renamed from news/20200128.org)2
-rw-r--r--content/news/20200213.org (renamed from news/20200213.org)2
-rw-r--r--content/news/20200214.org (renamed from news/20200214.org)2
-rw-r--r--content/news/20200218.org (renamed from news/20200218.org)2
-rw-r--r--content/news/20200405.org (renamed from news/20200405.org)2
-rw-r--r--content/news/20200406.org (renamed from news/20200406.org)2
-rw-r--r--content/news/20200410.org (renamed from news/20200410.org)2
-rw-r--r--content/news/20200427.org (renamed from news/20200427.org)2
-rw-r--r--content/news/20200510.org (renamed from news/20200510.org)2
-rw-r--r--content/news/20200519.org (renamed from news/20200519.org)2
-rw-r--r--content/news/20200526.org (renamed from news/20200526.org)2
-rw-r--r--content/news/20200617.org (renamed from news/20200617.org)2
-rw-r--r--content/news/20200727.org (renamed from news/20200727.org)2
-rw-r--r--content/news/20200903.org (renamed from news/20200903.org)2
-rw-r--r--content/news/20200916.org (renamed from news/20200916.org)2
-rw-r--r--content/news/20210228.org (renamed from news/20210228.org)2
-rw-r--r--content/news/20210304.org (renamed from news/20210304.org)2
-rw-r--r--content/news/20210308.org (renamed from news/20210308.org)2
-rw-r--r--content/news/20210401.org (renamed from news/20210401.org)2
-rw-r--r--content/news/20210406.org (renamed from news/20210406.org)2
-rw-r--r--content/news/20210522.org (renamed from news/20210522.org)2
-rw-r--r--content/news/20220214.org8
-rw-r--r--content/news/20221107.org7
-rw-r--r--content/news/20221122.org5
-rw-r--r--content/news/20230125.org6
-rw-r--r--content/news/20230205.org6
-rw-r--r--content/news/20240306.org7
-rw-r--r--content/people.org (renamed from src/people.org)0
-rw-r--r--content/sources.org32
m---------cpt0
-rw-r--r--elisp/no-littering.el454
-rwxr-xr-xhooks/pre-commit5
-rw-r--r--layouts/_default/baseof.html11
-rw-r--r--layouts/_default/baseof.txt1
-rw-r--r--layouts/_default/rss.xml39
-rw-r--r--layouts/_default/single.html3
-rw-r--r--layouts/_default/single.txt3
-rw-r--r--layouts/blog/list.html8
-rw-r--r--layouts/blog/list.rss.xml39
-rw-r--r--layouts/blog/single.html7
-rw-r--r--layouts/news/list.html7
-rw-r--r--layouts/news/list.txt12
-rw-r--r--layouts/news/single.html6
-rw-r--r--layouts/news/single.txt6
-rw-r--r--layouts/page/index.html24
-rw-r--r--layouts/page/index.txt3
-rw-r--r--layouts/partials/footer.html6
-rw-r--r--layouts/partials/head.html12
-rw-r--r--layouts/partials/navbar.html15
-rw-r--r--layouts/shortcodes/pkg.html1
-rw-r--r--layouts/shortcodes/pkg.txt1
-rwxr-xr-xorg-publish.el358
-rw-r--r--src/index.org77
-rw-r--r--src/install.org4
-rw-r--r--static/commits.js21
-rw-r--r--static/img/repology-tui-1.pngbin0 -> 767141 bytes
-rw-r--r--static/img/repology-tui-2.pngbin0 -> 806692 bytes
m---------style0
m---------texidocs0
97 files changed, 859 insertions, 982 deletions
diff --git a/.build.yml b/.build.yml
index 58f0cb2..770f2e1 100644
--- a/.build.yml
+++ b/.build.yml
@@ -1,7 +1,7 @@
image: alpine/edge
packages:
- curl
- - emacs-nox
+ - hugo
- texinfo
- rsync
- openssh-client
@@ -13,4 +13,4 @@ tasks:
make
- deploy: |
sshopt="--rsh=ssh -o StrictHostKeyChecking=no"
- rsync "$sshopt" -av --delete website/docs/ user-data@carbslinux.org:www/carbslinux.org
+ rsync "$sshopt" -av --delete website/public/ user-data@carbslinux.org:www/carbslinux.org
diff --git a/.gitignore b/.gitignore
index 7fafb4f..2b254d2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,5 @@
/.cache/
-/news/index.org
-/news/news.org
-/news/latest-news.org
-/blog/latest-blog.org
-/blog/index.org
-/blog/rss.org
-/docs/
+/public/
+/static/style.css
+/content/install.org
+/.hugo_build.lock
diff --git a/.projectile b/.projectile
new file mode 100644
index 0000000..1fa92a1
--- /dev/null
+++ b/.projectile
@@ -0,0 +1 @@
+-public
diff --git a/Makefile b/Makefile
index 3552b5d..ba95cf1 100644
--- a/Makefile
+++ b/Makefile
@@ -1,32 +1,30 @@
-EMACS = emacs
-
-all: docs style
- ${EMACS} --batch --script ./org-publish.el
-
-docs: texidocs/carbslinux.texi texidocs/carbslinux.txt
- mkdir -p docs/docs
- makeinfo --html --css-ref=https://www.gnu.org/software/gnulib/manual.css -o docs/docs/cpt cpt/docs/cpt.texi
- makeinfo --html --css-ref=https://www.gnu.org/software/gnulib/manual.css --no-split -o docs/docs/cpt.html cpt/docs/cpt.texi
- makeinfo --html --css-ref=https://www.gnu.org/software/gnulib/manual.css -o docs/docs/carbslinux texidocs/carbslinux.texi
- makeinfo --html --css-ref=https://www.gnu.org/software/gnulib/manual.css --no-split -o docs/docs/carbslinux.html texidocs/carbslinux.texi
- cp texidocs/carbslinux.txt docs/docs/carbslinux.txt
- cp cpt/docs/cpt.txt docs/docs/cpt.txt
-
-style: style/carbslinux.css
- mkdir -p docs
- cp style/carbslinux.css docs/style.css
+.POSIX:
+
+all: public
+
+public: style texidocs/carbslinux.texi texidocs/carbslinux.txt
+ sed -e '3a#+ALIASES[]: /install.html' -e 1d texidocs/install.org > content/install.org
+ hugo
+ mkdir -p public/docs
+ makeinfo --html --css-ref=https://www.gnu.org/software/gnulib/manual.css -o public/docs/cpt cpt/docs/cpt.texi
+ makeinfo --html --css-ref=https://www.gnu.org/software/gnulib/manual.css --no-split -o public/docs/cpt.html cpt/docs/cpt.texi
+ makeinfo --html --css-ref=https://www.gnu.org/software/gnulib/manual.css -o public/docs/carbslinux texidocs/carbslinux.texi
+ makeinfo --html --css-ref=https://www.gnu.org/software/gnulib/manual.css --no-split -o public/docs/carbslinux.html texidocs/carbslinux.texi
+ cp texidocs/carbslinux.txt public/docs/carbslinux.txt
+ cp texidocs/install.txt public/install.txt
+ cp cpt/docs/cpt.txt public/docs/cpt.txt
+ ln -sf blog/index.xml public/rss.xml
+ ln -sf news/index.xml public/news.xml
+
+style: style/carbslinux.min.css
+ mkdir -p static
+ cp style/carbslinux.css static/style.css
update-submodules:
git submodule update --remote --init --recursive -f
-publish:
- ${EMACS} --batch --script ./org-publish.el
-
-rebuild:
- rm -rf .cache/var/timestamps
- ${MAKE} all
-
clean:
- rm -rf ./docs ./.cache/var/timestamps
+ rm -rf public
+ rm -f static/style.css
-.PHONY: all docs style update-submodules publish rebuild clean
+.PHONY: all public style update-submodules publish rebuild clean
diff --git a/archetypes/default.md b/archetypes/default.md
new file mode 100644
index 0000000..00e77bd
--- /dev/null
+++ b/archetypes/default.md
@@ -0,0 +1,6 @@
+---
+title: "{{ replace .Name "-" " " | title }}"
+date: {{ .Date }}
+draft: true
+---
+
diff --git a/config.toml b/config.toml
new file mode 100644
index 0000000..b32188a
--- /dev/null
+++ b/config.toml
@@ -0,0 +1,13 @@
+baseURL = "https://carbslinux.org"
+languageCode = "en-us"
+title = "Carbs Linux"
+disableKinds = ["taxonomy", "term"]
+pygmentsUseClasses = true
+
+[markup.highlight]
+codeFences = true
+hl_Lines = " "
+
+[permalinks]
+blog = "/:year/:month/:title/"
+news = "/news/:year-:month-:day/"
diff --git a/content/_index.org b/content/_index.org
new file mode 100644
index 0000000..ea0fac7
--- /dev/null
+++ b/content/_index.org
@@ -0,0 +1,59 @@
+#+TITLE: Home
+#+DESCRIPTION: a simple Linux distribution
+#+OPTIONS: title:nil
+
+Carbs Linux is an independent source-based Linux\reg distribution that aims to
+be simple, flexible and extensible while staying as pragmatic and practical as
+possible. The system can consist of as much or as little as its user can intend
+to.
+
+Join us over the IRC channel [[ircs://irc.libera.chat/#carbslinux][#carbslinux]] on [[https://libera.chat][libera.chat]], visit [[https://reddit.com/r/carbslinux][r/carbslinux]] on
+Reddit, or sign up to our [[file:mailing-lists.org][mailing lists]].
+
+* Package Manager
+:PROPERTIES:
+:CUSTOM_ID: package-manager
+:END:
+
+Carbs Linux uses its own package manager [[https://fossil.carbslinux.org/cpt][Carbs Packaging Tools]], a POSIX shell
+package manager with the tool-based approach of [[https://github.com/void-linux/xbps][xbps]]. Its aim is to deliver
+easy-to-use tools while also providing a powerful POSIX shell library that can
+be used to further extend and script the packaging system.
+
+
+* Small base
+:PROPERTIES:
+:CUSTOM_ID: small-base
+:END:
+
+By default, Carbs Linux comes with busybox for coreutils, libressl for its
+crypto library, musl libc, and other basic utilities that are required for
+building new software. The majority of the base packages are statically linked.
+
+
+* Multiple Init Support
+:PROPERTIES:
+:CUSTOM_ID: multiple-init-support
+:END:
+
+Carbs Linux has support for multiple init systems and service supervisors. In
+the main repository are
+
+- {{< pkg "core/sinit" >}}
+- {{< pkg "extra/shinit" >}}
+- {{< pkg "core/busybox" "busybox-init" >}}
+- {{< pkg "core/runit" "runit-init" >}}
+
+for init systems, and
+
+- {{< pkg "core/sysmgr" >}}
+- {{< pkg "core/busybox" "busybox-runit" >}}
+- {{< pkg "core/runit" >}}
+
+for service supervisors. The {{< pkg "core/carbs-init" >}} package is the collection of init
+scripts that ensure the interoperability of these init and service systems, and
+make it easier for the user to switch to their preferred combinations of system
+supervision.
+
+Nothing holds you back, however, from ditching any of these and packaging some
+other system supervision technique along with your own init scripts.
diff --git a/blog/20200128.org b/content/blog/20200128.org
index 9309a99..97b771a 100644
--- a/blog/20200128.org
+++ b/content/blog/20200128.org
@@ -1,6 +1,7 @@
#+TITLE: Switching to New Website
-#+DATE: <2020-01-28 Tue>
+#+DATE: 2020-01-28
#+AUTHOR: Cem Keylan
+#+ALIASES[]: /blog/20200128.html
In case you haven't seen it before, this website was powered by [[http://werc.cat-v.org][werc]]. And even
though I liked it really much, it was too powerful for a small website like
diff --git a/blog/20200406.org b/content/blog/20200406.org
index 08e79bf..c993b6f 100644
--- a/blog/20200406.org
+++ b/content/blog/20200406.org
@@ -1,6 +1,7 @@
#+TITLE: Roadmap for Carbs
#+AUTHOR: Cem Keylan
#+DATE: <2020-04-06 Mon>
+#+ALIASES[]: /blog/20200406.html
It has been a busy week. There are lots of changes in direction, and more to
come. I want to talk a little about all of them.
diff --git a/blog/20200410.org b/content/blog/20200410.org
index 0868c2d..8bdf57a 100644
--- a/blog/20200410.org
+++ b/content/blog/20200410.org
@@ -1,6 +1,7 @@
#+TITLE: Outsource Repository Concept
#+AUTHOR: Cem Keylan
#+DATE: <2020-04-10 Fri>
+#+ALIASES[]: /blog/20200410.html
In April 3rd, I have added submodule support for Carbs Linux's fork of =kiss=.
Now, from that sentence, it really doesn't sound exciting at all. But in
diff --git a/blog/20200508.org b/content/blog/20200508.org
index 1df12e7..8de5de0 100644
--- a/blog/20200508.org
+++ b/content/blog/20200508.org
@@ -1,6 +1,7 @@
#+TITLE: The Relation of Carbs and KISS
#+AUTHOR: Cem Keylan
#+DATE: <2020-05-08 Fri>
+#+ALIASES[]: /blog/20200508.html
Since I have forked KISS, I have received many questions that can be summarized
as "Why?". I have realized that I never truly answered this question. That's the
diff --git a/blog/20200528.org b/content/blog/20200528.org
index b37498d..54a140b 100644
--- a/blog/20200528.org
+++ b/content/blog/20200528.org
@@ -1,6 +1,7 @@
#+TITLE: kiss 2.0.0 and Overall Changes
#+AUTHOR: Cem Keylan
#+DATE: <2020-05-28 Thu>
+#+ALIASES[]: /blog/20200528.html
Carbs Linux kiss version 2.0.0 has been released which introduces rsync
repositories.
diff --git a/blog/20200617.org b/content/blog/20200617.org
index 52143ff..2524fb6 100644
--- a/blog/20200617.org
+++ b/content/blog/20200617.org
@@ -1,6 +1,7 @@
#+TITLE: June 2020 News Post
#+AUTHOR: Cem Keylan
#+DATE: <2020-06-17 Wed>
+#+ALIASES[]: /blog/20200617.html
This will be an active month for Carbs as major changes to the base and the
package manager will be coming up.
diff --git a/blog/20200803.org b/content/blog/20200803.org
index 21404e8..c2c2b6b 100644
--- a/blog/20200803.org
+++ b/content/blog/20200803.org
@@ -1,6 +1,7 @@
#+TITLE: August 2020 News Post
#+AUTHOR: Cem Keylan
#+DATE: <2020-08-03 Mon>
+#+ALIASES[]: /blog/20200803.html
We are having some stalls during this summer, as I am currently working on
university-related stuff. Nonetheless, there are some important changes that I
diff --git a/blog/20201210.org b/content/blog/20201210.org
index 7da78cb..f945dc5 100644
--- a/blog/20201210.org
+++ b/content/blog/20201210.org
@@ -1,6 +1,7 @@
#+TITLE: First Year of Carbs Linux
#+AUTHOR: Cem Keylan
#+DATE: <2020-12-10 Thu>
+#+ALIASES[]: /blog/20201210.html
December 10, 2020 marks the first year after the initial release of Carbs Linux.
When I forked the KISS Linux repository on the 9th of December, I was fairly new
diff --git a/blog/20210303.org b/content/blog/20210303.org
index a1bb161..bf7ad96 100644
--- a/blog/20210303.org
+++ b/content/blog/20210303.org
@@ -1,6 +1,7 @@
#+TITLE: March 2021 News Post
#+DATE: <2021-03-03 Wed>
#+AUTHOR: Cem Keylan
+#+ALIASES[]: /blog/20210303.html
Greetings! I am really happy to announce some few changes to the distribution. I
wanted to write a new blog post to summarise them so you can get up to what is
diff --git a/blog/20210415.org b/content/blog/20210415.org
index 4ebf358..609af88 100644
--- a/blog/20210415.org
+++ b/content/blog/20210415.org
@@ -1,6 +1,7 @@
#+TITLE: April 2021 News Post
#+DATE: <2021-04-15 Thu>
#+AUTHOR: Cem Keylan
+#+ALIASES[]: /blog/20210415.html
Greetings from the cruellest month of the year! We have some important
topics this month that I wanted to share with you.
@@ -17,7 +18,7 @@ releases, which contained a variety of changes made since December. The
[[https://fossil.carbslinux.org/cpt/log][Changelog]] details them on our new Fossil repository, which I will be talking
about more on a later section of this post.
-As I have mentioned on the [[file:20210303.org::#next-release-for-cpt][previous news post]], I was holding the release for a
+As I have mentioned on the [[{{<relref "20210303.org#next-release-for-cpt">}}][previous news post]], I was holding the release for a
few bugfixes, and documentation. The documentation is complete enough to be
shipped, but there are still some things to add. The manual pages, and the
documentation for the user tools, however, are considered complete.
@@ -36,12 +37,13 @@ A new tarball has been released after almost 7 months! This tarball targets the
:END:
Releases are now signed with the OpenBSD tool [[https://man.openbsd.org/signify][signify(1)]] instead of GnuPG. There
-are two packages on our repository that provide this tool, [[carbs-pkg:core/otools][otools]], and [[carbs-pkg:extra/signify][signify]].
-Debian-based distributions usually provide it under =signify-openbsd=, and other
-distributions provide it as just =signify=. Each release will have a different
-public key, those can be found on [[https://dl.carbslinux.org/keys]]. Since the
-public keys are so small, I will also be embedding the latest release key to the
-README file of the package repository, and the installation manual.
+are two packages on our repository that provide this tool, {{<pkg "core/otools">}},
+and {{<pkg "extra/signify">}}. Debian-based distributions usually provide it
+under =signify-openbsd=, and other distributions provide it as just =signify=.
+Each release will have a different public key, those can be found on
+[[https://dl.carbslinux.org/keys]]. Since the public keys are so small, I will also
+be embedding the latest release key to the README file of the package
+repository, and the installation manual.
*** The state of i686
:PROPERTIES:
diff --git a/content/blog/20210525.org b/content/blog/20210525.org
new file mode 100644
index 0000000..ecbd070
--- /dev/null
+++ b/content/blog/20210525.org
@@ -0,0 +1,50 @@
+#+TITLE: May 2021 News Post
+#+DATE: 2021-05-25
+#+AUTHOR: Cem Keylan
+#+ALIASES[]: /blog/20210525.html
+
+Welcome to May! It has been a rather quiet month, mostly dedicated to fixing
+some small bugs and working on some features.
+
+#+TOC: headlines 1 local
+
+** Fossil support and new repository backend
+:PROPERTIES:
+:CUSTOM_ID: fossil-support
+:END:
+
+In the [[{{< relref "20210415.org#fossil" >}}][previous news post]] I mentioned adding fossil support to the package
+manager. Fossil support is now merged to the trunk branch of the package
+manager, and I have completely rewritten the repository backend which has
+better performance and is easier to extend. There are still some changes to
+make, but the feature will be added in the =6.1.0= release.
+
+** Moving IRC channel
+:PROPERTIES:
+:CUSTOM_ID: moving-irc-channel
+:END:
+
+After the recent controversies surrounding Freenode, we have also switched to
+the new Libera IRC network. Since our previous logger =globbot= is also shutting
+down, I have set up an IRC logger powered by [[https://git.causal.agency/litterbox][litterbox]]. The IRC logs can be
+found on [[https://irclogs.carbslinux.org]]. The website includes both a searchable
+web interface, and plaintext dumps of daily logs. Even though the channel is
+low-volume, I think logging it is extremely important.
+
+** New i686 release
+:PROPERTIES:
+:CUSTOM_ID: new-i686-release
+:END:
+
+I have decided to make an i686 release last week because it was really outdated,
+but it will likely be the last one depending on its use on the few following
+months. If you are interested in keeping support for the architecture, feel free
+to join the IRC channel to let me know. Maintaining i686 isn't really much of a
+burdon on me, but there is no point in maintaining an architecture that isn't
+used by anyone.
+
+Compared to the last month, there aren't much news, and there have been other
+things that I needed to attend to. I started writing this post on the 13th, and
+only had the time to finish it now!
+
+See you on the next post!
diff --git a/content/blog/20210630.org b/content/blog/20210630.org
new file mode 100644
index 0000000..48611ac
--- /dev/null
+++ b/content/blog/20210630.org
@@ -0,0 +1,15 @@
+#+TITLE: June 2021 News Post
+#+DATE: 2021-06-30
+#+AUTHOR: Cem Keylan
+#+ALIASES[]: /blog/20210630.html
+
+Hello! This month was rather slow for me while I was mostly away for some
+vacation and I had some connectivity issues. I mostly tried to keep the packages
+up to date, and to keep up with the IRC channel as I've had some issues with the
+new logger we are using in the channel. I have very recently returned to home,
+and I'm mostly working on with the next release of the package manager.
+
+Hopefully, next month will be more newsworthy as I will take my time to work on
+the new package repository backend, and document its features.
+
+See you on the next post!
diff --git a/content/blog/20211025.org b/content/blog/20211025.org
new file mode 100644
index 0000000..97a005c
--- /dev/null
+++ b/content/blog/20211025.org
@@ -0,0 +1,125 @@
+#+TITLE: October 2021 News Post
+#+DATE: 2021-10-25
+#+AUTHOR: Cem Keylan
+
+After a long absence during the summer and working my way through moving to
+Berlin, I think it's the appropriate time to write a new blog post about the
+changes that arrived to the distribution. I have started writing this post in
+August, and now it's finished! Only a few months late. Since I have been holding
+this post for so long, there are quite a numerous details to be discussed.
+
+#+TOC: headlines 1 local
+
+* Repository meta file
+:PROPERTIES:
+:CUSTOM_ID: repository-meta-file
+:END:
+
+You might have noticed that most packages now contain a file named =meta=. This
+file contains a small description, license for the package, and the maintainer
+information of the package. A sample meta file looks like the following:
+
+#+begin_example
+description: Carbs Packaging Tools
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
+#+end_example
+
+Inclusion of this file makes it easier to query package information, as it is
+now implemented inside the =cpt-search= utility. Running ~cpt-search -q~ puts
+the utility in query mode, and makes use of the package descriptions when
+searching for packages. Unlike the default operation mode, using the =-q= flag
+makes the tool output in a pretty format, which is not meant to be parsed by
+other tools. The format is similar to the output of =apt search=. Below is an
+example of running ~cpt-search -q carbs~:
+
+#+begin_example
+baselayout@/home/cem/repos/main/core/baselayout 3-1
+ Carbs Linux base directories / scripts / configuration
+
+carbs-docs@/home/cem/repos/main/core/carbs-docs 20201226-1
+ Carbs Linux documentation
+
+carbs-init@/home/cem/repos/main/core/carbs-init 1.2.2-3
+ Carbs Linux init scripts
+
+cl-utils@/home/cem/repos/main/core/cl-utils 1.0.1-1
+ Carbs Linux repository utilities
+
+cpt@/home/cem/repos/main/core/cpt 6.2.0-1
+ Carbs Packaging Tools
+
+#+end_example
+
+
+The package manager library provides the =pkg_query_meta()= function to easily
+parse the =meta= file, which is further explained in the package manager
+documentation. Also see =cpt-search(1)= for more information on the flags and
+their behaviours.
+
+* Blake3 checksums
+:PROPERTIES:
+:CUSTOM_ID: blake3-checksums
+:END:
+
+The package manager now uses BLAKE3 to generate checksums, however this change
+is backwards compatible, and does not break any old packages that are lying
+about. If for some reason you need a package to have old SHA256 checksums, you
+can generate the checksums using ~cpt-checksum -s~, which is what I'm using the
+generate the checksums for the =cpt= package itself.
+
+* Message of the Day files
+:PROPERTIES:
+:CUSTOM_ID: message-of-the-day-files
+:END:
+
+With the release of the version =6.1.0= of CPT, I have added a =MOTD= file for
+displaying updates and important information from the repository. This file is a
+simple plaintext file that should be present on the root of the repository, and
+it is printed to the standard output during the =cpt-update= command.
+
+* Adding the core repository to the tarball
+:PROPERTIES:
+:CUSTOM_ID: adding-the-core-repository-to-the-tarball
+:END:
+
+I am thinking of adding a copy of the =core= repository to the release tarballs.
+By adding it, it will be a good incentive to remove the =git= package from the
+tarball, and let the user choose which repository backend they want to install
+(=git/fossil/rsync=) instead of enforcing =git=.
+
+* Packaging Linux Kernel headers
+:PROPERTIES:
+:CUSTOM_ID: packaging-linux-kernel-headers
+:END:
+
+The kernel header files are now packaged from a separate source tarball that
+/only/ contains the kernel headers so that the downloads are much smaller. For
+comparison, the kernel tarball is sized ~110 Megabytes, while our header tarball
+is 1.6 Megabytes. The sources for the headers can be found on
+[[https://fossil.carbslinux.org/linux-headers]].
+
+You can also fork the package and install LTS headers that are also provided by
+this repository, if they better fit your needs.
+
+* Website Update
+:PROPERTIES:
+:CUSTOM_ID: website-update
+:END:
+
+No blog post is complete without me butchering this website, trying to shove it
+into a different static site generation software, breaking lots of links in the
+process, and write it up here as if it were some sort of achievement or
+something. I've switched to [[https://gohugo.io][Hugo]] this time, because it's obviously better(TM)
+than using org-publish. Well, let's see how long my position on that will last.
+
+I have created symlinks for the time being, but you will need to update your RSS
+feeds for the blog and the news:
+
+- [[https://carbslinux.org/blog/index.xml]]
+- [[https://carbslinux.org/news/index.xml]]
+
+I will also no longer be serving plaintext pages, with the exception of the
+installation guide. The documentation is available offline through =cpt= and
+=carbs-docs= packages (in both multiple formats), and the website is clean
+enough to be easily navigated through a terminal browser.
diff --git a/content/blog/_index.md b/content/blog/_index.md
new file mode 100644
index 0000000..de18e96
--- /dev/null
+++ b/content/blog/_index.md
@@ -0,0 +1,5 @@
+---
+title: Blog Index
+---
+
+This is the Carbs Linux blog index. You can find every post here. [RSS Feed](/blog/index.xml)
diff --git a/content/blog/february-2024-news-post.org b/content/blog/february-2024-news-post.org
new file mode 100644
index 0000000..82ca5b3
--- /dev/null
+++ b/content/blog/february-2024-news-post.org
@@ -0,0 +1,89 @@
+#+title: IS CARBS DEAD? (Or February 2024 News Post)
+#+author: Cem Keylan
+#+date: <2024-02-22 Thu>
+#+ALIASES[]: /blog/2024/02/index.html
+
+Every once in a while (maybe like once a month) I check the IRC logs and see
+someone asking for help while I was not available. Unfortunately, the amount of
+outdated packages are rising, 125 at the time of writing this post, which
+inadvertently causes issues for people trying to setup or maintain Carbs
+installations.
+
+I have just recently seen two messages that were posted on the IRC channel a
+couple of days ago asking if Carbs was still maintained so I decided to make a
+post addressing the state in hand.
+
+#+TOC: headlines 3 local
+
+** Is Carbs Dead?
+
+I am fully aware that I haven't been doing a proper job as the maintainer for
+the last couple of months so I can really see where the question is coming from.
+Carbs is not dead, but it would be quite valid to say that it is in a comatose
+state. I have been spending these last months focusing mainly on my university,
+and doing that, I even missed the 4th anniversary of Carbs, and forgot to make a
+post as I usually had done.
+
+However, Carbs is a project that is very dear to my heart, and I still use it
+personally as my daily system, so I have no intention on killing it any time soon.
+Still, there is good need for better communication on how my maintenance of the
+distribution will be moving forward.
+
+** Future of the Distribution
+
+I am still working hard on my tasks as a university student. This means that I
+can only work on the distribution periodically. Luckily, Carbs is a very
+self-sustainable project and it can be easily updated without the need of a
+maintainer. However, leaving a distribution unmaintained is rarely healthy for
+an open-source project, so let's talk about my views on each component that
+makes Carbs a functioning Linux distribution:
+
+*** CPT
+
+Apart from the occasional bug fix, performance improvements, and documentation,
+I don't think CPT needs active maintenance, and I consider it to be feature
+complete. I haven't made any release over a year, and it's likely that I won't
+be adding any new features any time soon.
+
+*** Package Repository
+
+This is in general the tricky part. A user can update packages on their own
+without the requirement of a maintainer. The Carbs Linux repository is part of
+[[https://repology.org][Repology]], a hub that monitors a very large number of repositories to provide
+packaging information. Since tracking hundreds of software packages for updates,
+and issues is near impossible for a person alone without a unified interface, I
+use Repology API to [[https://repology.org/projects/?inrepo=carbs&outdated=1][follow outdated packages on our repository]]. Any user on the
+event that I leave the distribution unmaintained, can go to Repology and look
+for more information on outdated packages to update their own.
+
+I have also written some tools that help me follow these information on my
+terminal instead of requiring a browser, which I plan on releasing somewhat
+soon. Here are some screenshots, as a teaser:
+
+#+ATTR_HTML: :width 800
+#+ATTR_HTML: :alt title
+#+ATTR_HTML: :title Image Title
+[[file:/img/repology-tui-1.png]]
+
+#+ATTR_HTML: :width 800
+#+ATTR_HTML: :alt title
+#+ATTR_HTML: :title Image Title
+[[file:/img/repology-tui-2.png]]
+
+This leads to what I believe is the most important part of this post.
+
+*** Maintainership
+
+I am planning on delegating maintainership for certain parts of the repository.
+This will start with me orphaning some packages found in the community
+repository and leaving them for adoption. Packages orphaned for more than a 3
+month period will be dropped from the repositories. The dropped packages will be
+moved to a graveyard repository where someone wanting the package can request to
+maintain it.
+
+Once the repository back to its usual state, I will also start looking for a
+second maintainer to help me with overall repository management. If this sounds
+interesting to you please do reach out to me from my maintainer email (or on
+Mastodon [[https://mas.to/@cem][@cem@mas.to]])!
+
+See you on the next post!
diff --git a/content/blog/january-2023-news-post.org b/content/blog/january-2023-news-post.org
new file mode 100644
index 0000000..03f07f1
--- /dev/null
+++ b/content/blog/january-2023-news-post.org
@@ -0,0 +1,44 @@
+#+title: January 2023 News Post
+#+author: Cem Keylan
+#+date: <2023-01-31 Tue>
+
+Happy New Year everyone, and welcome to the first Carbs Linux "News Post" in
+nearly two years (wow that really is a long time). We have a couple of news that
+I want to discuss in detail, so I decided that it warrants a blog post on its
+own.
+
+#+TOC: headline 1 local
+
+** Bye bye, X.org
+
+Throughout the years I was already clear on my intentions to drop xorg support
+at one point, and in my opinion both Wayland and its support around it has
+matured enough to make the complete switch. I am currently writing this blog
+post on, as of yet unreleased, pure-GTK build of Emacs which does not depend on
+any X11 components.
+
+Carbs Linux was first published on December 2019 with xorg support only, and had
+Wayland support since February 2021. This month, all xorg specific libraries,
+drivers, and utilities (except for xwayland) have been dropped from the
+repository. If you are currently an xorg user, you can read the [[https://carbslinux.org/docs/carbslinux/Switching-from-Xorg.html][Switching from
+Xorg]] section of the user manual. Feel free to jump on the IRC channel for
+requesting help.
+
+** CPT Version 7 Release
+
+After almost a year of delay, I am happy to finally announce that the 7th major
+version of our package manager is released. You can learn more about the changes
+from the [[https://fossil.carbslinux.org/cpt/doc/trunk/CHANGELOG.md][ChangeLog]] in the source repository. Some of the highlights include:
+
+- Package manager updates will be re-entrant from now on, meaning that you don't
+ have to run ~cpt-update~ twice.
+- The new configuration directory is now available as =/etc/cpt/= in order to not
+ clutter the =/etc/= directory.
+- Package manager hooks are now handled in a different manner.
+- ~cpt-size~ program can now sort the files based on size.
+
+And many more changes and improvements along this one! Coming with this change,
+I will also be releasing a new rootfs tarball soon. Follow the news feed for
+more information.
+
+See you on the next post!
diff --git a/content/blog/three-years-of-carbs-linux.org b/content/blog/three-years-of-carbs-linux.org
new file mode 100644
index 0000000..eb2d95c
--- /dev/null
+++ b/content/blog/three-years-of-carbs-linux.org
@@ -0,0 +1,20 @@
+#+title: Three Years of Carbs Linux
+#+author: Cem Keylan
+#+date: <2022-12-12 Mon>
+
+Dec 10th, 2022 marked the third year of Carbs Linux, so this post is
+unfortunately two days late :) Even though I did my best to keep the package
+repository up to date as much as possible, I was quite distant to the project in
+general, and was unable to release the version 7 of CPT as I promised on my last
+blog post (which was the birthday post of last year). Fortunately, I believe
+that the distribution has matured enough to not require constant observation and
+intervention to function. Again, I want to thank everyone who has contributed to
+Carbs Linux in any way, people who continue to hang around the IRC channel even
+though it's been a pretty quiet one this year.
+
+I hope to bring some of my attention back to the project the upcoming year.
+Version 7 is mostly finished, but I still haven't released it to update the
+documentation and tests, so I am planning on making a release in the upcoming
+months :)
+
+See you on the next post!
diff --git a/content/blog/two-years-of-carbs-linux.org b/content/blog/two-years-of-carbs-linux.org
new file mode 100644
index 0000000..5f65711
--- /dev/null
+++ b/content/blog/two-years-of-carbs-linux.org
@@ -0,0 +1,28 @@
+#+TITLE: Two Years of Carbs Linux
+#+AUTHOR: Cem Keylan
+#+DATE: <2021-12-10 Fri>
+
+
+#+BEGIN_SRC
+ ) )
+ (*) (*)
+ _____i___i_____
+ (_______________)
+ | @ @ @ @ @ @ @ |
+ __(_______________)__
+ (_____________________)
+ |/\/\/\/\/\/\/\/\/\/\/|
+ __(_____________________)__
+(___________________________)
+| @ @ @ @ @ @ @ @ @ @ @ @ @ |
+(___________________________)
+#+END_SRC
+
+Today marks the second year of Carbs Linux, and even though I'm not able to
+create a long blog post about it at this time of the year, I'm a big fan of
+special dates, and milestones. I want to thank everyone that has been a part of
+this experience, people sending patches, people hanging around in the IRC to
+chat with me. It's certainly a much more enjoyable experience with people like
+you, and I hope I'll see you in the next year :)
+
+Expect a blog post on CPT-7 mid-January.
diff --git a/src/docs.org b/content/docs.org
index c8d0380..5737f51 100644
--- a/src/docs.org
+++ b/content/docs.org
@@ -1,4 +1,5 @@
#+TITLE: Documentation
+#+ALIASES[]: /docs.html
Below are sources of documentation regarding Carbs Linux and tools surrounding
it.
@@ -21,15 +22,15 @@ can be accessed or otherwise obtained with various methods:
You can view the Manual from your browser. The Manual can be viewed as
-- [[file:docs/carbslinux][One HTML page per node]]
-- [[file:docs/carbslinux.html][Single HTML page]]
+- [[file:/docs/carbslinux/][One HTML page per node]]
+- [[/docs/carbslinux.html][Single HTML page]]
** Plain text
:PROPERTIES:
:CUSTOM_ID: plain-text
:END:
-You can download [[file:docs/carbslinux.txt][carbslinux.txt]] in order to view the Manual from your preferred
+You can download [[/docs/carbslinux.txt][carbslinux.txt]] in order to view the Manual from your preferred
pager.
#+begin_src sh
@@ -61,7 +62,7 @@ You can also acquire the source for generating the Manual, which requires
html/info pages.
#+begin_src sh
-git clone git://git.carbslinux.org/docs
+git clone https://git.carbslinux.org/docs
#+end_src
* Installation Instructions
@@ -72,8 +73,8 @@ git clone git://git.carbslinux.org/docs
Installation Manual is part of the [[*User Manual][User Manual]], but it can also be obtained
separately:
-- [[file:install.org][HTML]]
-- [[file:install.txt][Plaintext]]
+- [[/install/][HTML]]
+- [[/install.txt][Plaintext]]
* Carbs Packaging Tools
:PROPERTIES:
@@ -90,15 +91,15 @@ It can be accessed or otherwise obtained with various methods:
You can view the Manual from your browser. The Manual can be viewed as
-- [[file:docs/cpt][One HTML page per node]]
-- [[file:docs/cpt.html][Single HTML page]]
+- [[/docs/cpt/][One HTML page per node]]
+- [[/docs/cpt.html][Single HTML page]]
** Plain text
:PROPERTIES:
:CUSTOM_ID: cpt-plain-text
:END:
-You can download [[file:docs/cpt.txt][cpt.txt]] in order to view the Manual from your preferred pager.
+You can download [[/docs/cpt.txt][cpt.txt]] in order to view the Manual from your preferred pager.
#+begin_src sh
curl -LO https://carbslinux.org/docs/cpt.txt
diff --git a/content/donate.org b/content/donate.org
new file mode 100644
index 0000000..a29c741
--- /dev/null
+++ b/content/donate.org
@@ -0,0 +1,13 @@
+#+TITLE: Donate
+
+* Donate to Carbs Linux
+
+Carbs Linux is a project fully developed and maintained by me. You can help
+support this project through donations, helping the server and maintenance
+costs, and giving incentive to me to keep developing this project. Right now,
+you can either [[https://www.paypal.com/donate/?hosted_button_id=TLGZ7AK4KBPW2][donate with PayPal]] or [[https://www.patreon.com/bePatron?u=14221570][become a Patron]].
+
+Contributions through other means are also always welcome, be it the development
+or the documentation of the project.
+
+Thanks!
diff --git a/src/download.org b/content/download.org
index 1267418..7445ad4 100644
--- a/src/download.org
+++ b/content/download.org
@@ -1,8 +1,11 @@
-#+TITLE: Download Carbs Linux
+#+TITLE: Download
+#+ALIASES[]: /download.html
+
+* Download Carbs Linux
Below are the latest tarballs for the =x86_64= and =i686= architectures. You can
visit [[https://dl.carbslinux.org/releases]] for all downloads. Follow the
-[[file:install.org][Installation guide]] to learn more about verifying the releases, and the required
+[[file:/install.org][Installation guide]] to learn more about verifying the releases, and the required
steps for installing the system.
* x86-64
diff --git a/src/mailing-lists.org b/content/mailing-lists.org
index c33848e..61a463e 100644
--- a/src/mailing-lists.org
+++ b/content/mailing-lists.org
@@ -1,4 +1,5 @@
#+TITLE: Mailing Lists
+#+ALIASES[]: /mailing-lists.html
Carbs Linux aims to move the development and discussion to mailing lists as much
as possible, using the mailing lists hosted at [[https://lists.sr.ht/~carbslinux][Sourcehut]]. The following mailing
diff --git a/news/20191210.org b/content/news/20191210.org
index 7e7c0c8..af7a540 100644
--- a/news/20191210.org
+++ b/content/news/20191210.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: Dec 10, 2019
#+DATE: <2019-12-10 Tue>
First alpha release was made. See the [[https://dl.carbslinux.org/releases][downloads page]].
diff --git a/news/20191212.org b/content/news/20191212.org
index df21941..2f66b54 100644
--- a/news/20191212.org
+++ b/content/news/20191212.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: Dec 12, 2019
#+DATE: <2019-12-12 Thu>
Busybox and Busybox-init has been seperated into two different packages.
diff --git a/news/20191217.org b/content/news/20191217.org
index daa160b..dc10d75 100644
--- a/news/20191217.org
+++ b/content/news/20191217.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: Dec 17, 2019
#+DATE: <2019-12-17 Tue>
Installation instruction are now complete. A review would be greatly appreciated!
diff --git a/news/20191218.org b/content/news/20191218.org
index 337cfdb..5184fec 100644
--- a/news/20191218.org
+++ b/content/news/20191218.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: Dec 18, 2019
#+DATE: <2019-12-18 Wed>
carbs-rootfs-20191218.tar.xz was released.
diff --git a/news/20200109.org b/content/news/20200109.org
index bb09f67..8804729 100644
--- a/news/20200109.org
+++ b/content/news/20200109.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: Jan 09, 2020
#+DATE: <2020-01-09 Thu>
Happy new year, everyone! I am back after some long silence. I was unable to commit for a
diff --git a/news/20200110.org b/content/news/20200110.org
index 0a83a3e..c71f61b 100644
--- a/news/20200110.org
+++ b/content/news/20200110.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: Jan 10, 2020
#+DATE: <2020-01-10 Fri>
carbs-rootfs-20200110.tar.xz was released.
diff --git a/news/20200113.org b/content/news/20200113.org
index 5fbdf9f..44f157a 100644
--- a/news/20200113.org
+++ b/content/news/20200113.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: Jan 13, 2020
#+DATE: <2020-01-13 Mon>
**Busybox update reqires manual intervention**
diff --git a/news/20200115.org b/content/news/20200115.org
index 8da8e13..9d3bcc3 100644
--- a/news/20200115.org
+++ b/content/news/20200115.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: Jan 15, 2020
#+DATE: <2020-01-15 Wed>
sinit has been taken to =core=, and is now officially supported
diff --git a/news/20200122.org b/content/news/20200122.org
index 9e6b998..009405e 100644
--- a/news/20200122.org
+++ b/content/news/20200122.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: Jan 22, 2020
#+DATE: <2020-01-22 Wed>
Expect downtime on Jan 24 2020 22:00 UTC as I will be migrating this web server
diff --git a/news/20200128.org b/content/news/20200128.org
index e917fa3..c13e72e 100644
--- a/news/20200128.org
+++ b/content/news/20200128.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: Jan 28, 2020
#+DATE: <2020-01-28 Tue>
Web Server is now on a Carbs Linux server. It is not complete yet, but I will be
diff --git a/news/20200213.org b/content/news/20200213.org
index f37d9eb..65a2ab1 100644
--- a/news/20200213.org
+++ b/content/news/20200213.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: Feb 13, 2020
#+DATE: <2020-02-13 Thu>
Runit is now released on the core repository! You can now replace busybox-init
diff --git a/news/20200214.org b/content/news/20200214.org
index 36b3325..90b805d 100644
--- a/news/20200214.org
+++ b/content/news/20200214.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: Feb 14, 2020
#+DATE: <2020-02-14 Fri>
**IMPORTANT!** Carbs-init update to be released on 17th of February
diff --git a/news/20200218.org b/content/news/20200218.org
index ee56dfd..5ea71af 100644
--- a/news/20200218.org
+++ b/content/news/20200218.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: Feb 18, 2020
#+DATE: <2020-02-18 Tue>
A new tarball is released. It can be found on [[https://dl.carbslinux.org]].
diff --git a/news/20200405.org b/content/news/20200405.org
index 375a7ac..716f669 100644
--- a/news/20200405.org
+++ b/content/news/20200405.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: Apr 05, 2020
#+DATE: <2020-04-05 Sun>
Carbs Linux repositories will be hosted only on Github. Commits will be pushed
diff --git a/news/20200406.org b/content/news/20200406.org
index 31209ca..e2810d1 100644
--- a/news/20200406.org
+++ b/content/news/20200406.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: Apr 06, 2020
#+DATE: <2020-04-06 Mon>
A new rootfs tarball has been released. See the downloads page.
diff --git a/news/20200410.org b/content/news/20200410.org
index fda05fb..b51657b 100644
--- a/news/20200410.org
+++ b/content/news/20200410.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: Apr 10, 2020
#+DATE: <2020-04-10 Fri>
IRC channel can now be accessed from =#carbslinux= at freenode!
diff --git a/news/20200427.org b/content/news/20200427.org
index 867f83c..4df269e 100644
--- a/news/20200427.org
+++ b/content/news/20200427.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: Apr 27, 2020
#+DATE: <2020-04-27 Mon>
A new rootfs tarball has been released! You can see it on
diff --git a/news/20200510.org b/content/news/20200510.org
index c7b7d32..dcdd408 100644
--- a/news/20200510.org
+++ b/content/news/20200510.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: May 10, 2020
#+DATE: <2020-05-10 Sun>
A GCC 10.1.0 change causes a kernel panic for kernels built with GCC 10.1. This
diff --git a/news/20200519.org b/content/news/20200519.org
index 0583f19..52b555e 100644
--- a/news/20200519.org
+++ b/content/news/20200519.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: May 19, 2020
#+DATE: <2020-05-19 Tue>
A rootfs tarball targeting the i686 architecture has been released. It can be
diff --git a/news/20200526.org b/content/news/20200526.org
index 70c4fec..2a3658f 100644
--- a/news/20200526.org
+++ b/content/news/20200526.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: May 26, 2020
#+DATE: <2020-05-26 Tue>
An initial version for binary package management is released. It can be found on
diff --git a/news/20200617.org b/content/news/20200617.org
index 0aee0df..5872e15 100644
--- a/news/20200617.org
+++ b/content/news/20200617.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: Jun 17, 2020
#+DATE: <2020-06-17 Wed>
A new rootfs tarball including the changes to the core is released and can be
diff --git a/news/20200727.org b/content/news/20200727.org
index 0afe0b3..0309b12 100644
--- a/news/20200727.org
+++ b/content/news/20200727.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: Jul 27, 2020
#+DATE: <2020-07-27 Mon>
Carbs Linux's fork of the =kiss= package manager has been renamed to =Carbs
diff --git a/news/20200903.org b/content/news/20200903.org
index 4c1941d..6cd120b 100644
--- a/news/20200903.org
+++ b/content/news/20200903.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: Sep 03, 2020
#+DATE: <2020-09-03 Thu>
The default TLS provider has been reverted to =libressl=. System update will
diff --git a/news/20200916.org b/content/news/20200916.org
index 50e9ecb..cf2dc7d 100644
--- a/news/20200916.org
+++ b/content/news/20200916.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: Sep 16, 2020
#+DATE: <2020-09-16 Wed>
The libressl "revert" was reverted. System update will replace libressl
diff --git a/news/20210228.org b/content/news/20210228.org
index 3cd89ec..b7efc19 100644
--- a/news/20210228.org
+++ b/content/news/20210228.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: Feb 28, 2021
#+DATE: <2021-02-28 Sun>
Mailing lists for Carbs Linux has changed, see [[file:../mailing-lists.html][the mailing lists section]] for
diff --git a/news/20210304.org b/content/news/20210304.org
index f2a576d..f6bc7ca 100644
--- a/news/20210304.org
+++ b/content/news/20210304.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: Mar 04, 2021
#+DATE: <2021-03-04 Thu>
Our own git server might stay outdated as it is switching to the new server.
diff --git a/news/20210308.org b/content/news/20210308.org
index 215d3a5..7ea693b 100644
--- a/news/20210308.org
+++ b/content/news/20210308.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: Mar 08, 2021
#+DATE: <2021-03-08 Mon>
Our [[https://git.carbslinux.org][Git repositories]] are back up, and you can switch your remotes back to them,
diff --git a/news/20210401.org b/content/news/20210401.org
index ac2d24d..0f03923 100644
--- a/news/20210401.org
+++ b/content/news/20210401.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: Apr 01, 2021
#+DATE: <2021-04-01 Thu>
After long consideration, Carbs Linux has again switched from BearSSL to
diff --git a/news/20210406.org b/content/news/20210406.org
index 15894ca..4235157 100644
--- a/news/20210406.org
+++ b/content/news/20210406.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: Apr 06, 2021
#+DATE: <2021-04-06 Tue>
A new rootfs tarball has been released, but the signature verification method
diff --git a/news/20210522.org b/content/news/20210522.org
index af969c4..ed90e1b 100644
--- a/news/20210522.org
+++ b/content/news/20210522.org
@@ -1,4 +1,4 @@
-#+TITLE: {{{date(%b %d\, %Y)}}}
+#+TITLE: May 22, 2021
#+DATE: <2021-05-22 Sat>
The IRC channel '#carbslinux' has moved to [[https://libera.chat][libera.chat]].
diff --git a/content/news/20220214.org b/content/news/20220214.org
new file mode 100644
index 0000000..8a6a617
--- /dev/null
+++ b/content/news/20220214.org
@@ -0,0 +1,8 @@
+#+TITLE: Feb 14, 2022
+#+DATE: <2022-02-14 Mon>
+
+A server migration for the downloads page is in place. During the downtime,
+please use [[https://dl-backup.carbslinux.org][dl-backup.carbslinux.org]] for your downloads. Certain packages may
+need a temporary sources file change during this downtime.
+
+**EDIT:** The download page should be back up again.
diff --git a/content/news/20221107.org b/content/news/20221107.org
new file mode 100644
index 0000000..4962235
--- /dev/null
+++ b/content/news/20221107.org
@@ -0,0 +1,7 @@
+#+title: November 7, 2022
+#+date: <2022-11-07 Mon>
+
+On Tuesday, 2022-11-22 01:00-05:00 UTC there will be scheduled migration of the
+Carbs Linux servers. During this time period you can expect some downtime for
+the Fossil and Git repositories, website, the mail server, as well as the IRC
+logger.
diff --git a/content/news/20221122.org b/content/news/20221122.org
new file mode 100644
index 0000000..e2a317d
--- /dev/null
+++ b/content/news/20221122.org
@@ -0,0 +1,5 @@
+#+title: November 22, 2022
+#+date: <2022-11-22 Tue>
+
+The server migration was completed around 04:30 UTC. All services should be back
+to normal, please report in the IRC channel if you encounter any issues.
diff --git a/content/news/20230125.org b/content/news/20230125.org
new file mode 100644
index 0000000..fe03533
--- /dev/null
+++ b/content/news/20230125.org
@@ -0,0 +1,6 @@
+#+title: January 25, 2023
+#+date: <2023-01-25 Wed>
+
+The =xorg= repository has been removed, the distribution now only supports
+Wayland. The documentation have been updated to reflect the changes, and
+includes a guide for =xorg= users to switch to =wayland=.
diff --git a/content/news/20230205.org b/content/news/20230205.org
new file mode 100644
index 0000000..16a1394
--- /dev/null
+++ b/content/news/20230205.org
@@ -0,0 +1,6 @@
+#+title: February 5, 2023
+#+date: <2023-02-05 Sun>
+
+A new rootfs tarball (targeting the =x86_64= architecture) including the latest
+version of the package manager has been released and can be found on the
+downloads page.
diff --git a/content/news/20240306.org b/content/news/20240306.org
new file mode 100644
index 0000000..cf82b5f
--- /dev/null
+++ b/content/news/20240306.org
@@ -0,0 +1,7 @@
+#+title: March 6, 2024
+#+date: <2024-03-06 Wed>
+
+On Friday, March 8th 2024 between 11:00-15:00 UTC there will be scheduled
+migration of the Carbs Linux servers. During this time period you can expect
+some downtime for the Fossil and Git repositories, as well as the IRC logger.
+The mail server and the website will not see downtime.
diff --git a/src/people.org b/content/people.org
index 4f2fc8f..4f2fc8f 100644
--- a/src/people.org
+++ b/content/people.org
diff --git a/content/sources.org b/content/sources.org
new file mode 100644
index 0000000..649a189
--- /dev/null
+++ b/content/sources.org
@@ -0,0 +1,32 @@
+#+TITLE: Sources and Projects
+* Sources and Projects
+
+All distribution specific tooling and source can be found from either the Fossil
+repositories or the relevant Git repositories. I am planning to eventually move
+all the source repositories to Fossil, including the package repositories. You
+can click the following links to visit source repositories.
+
+- https://git.carbslinux.org
+- https://fossil.carbslinux.org
+- https://git.sr.ht/~carbslinux (Git mirror)
+
+** Package Repositories
+
+Package repositories currently reside in our git server, they can be obtained
+from the places below:
+
+- https://git.carbslinux.org/repository
+- [[https://git.sr.ht/~carbslinux/repository]] (mirror)
+- [[https://github.com/CarbsLinux/repository]] (mirror)
+
+However, it is planned to migrate the package repositories to Fossil at a later
+date.
+
+** Carbs Packaging Tools
+
+CPT is the set of package management tools used in Carbs Linux. The canonical source for the
+package manager is in Fossil, but they are also mirrored to git:
+
+- https://fossil.carbslinux.org/cpt
+- https://git.carbslinux.org/cpt (mirror)
+- https://git.sr.ht/~carbslinux/cpt (mirror)
diff --git a/cpt b/cpt
-Subproject e64ca397b4343502d72977fc791b8c968db1759
+Subproject aabe332d65cabbc1dfc32ebb10ff68b85b54064
diff --git a/elisp/no-littering.el b/elisp/no-littering.el
deleted file mode 100644
index 88fe0e7..0000000
--- a/elisp/no-littering.el
+++ /dev/null
@@ -1,454 +0,0 @@
-;;; no-littering.el --- help keeping ~/.emacs.d clean -*- lexical-binding: t; -*-
-
-;; Copyright (C) 2016-2021 Jonas Bernoulli
-
-;; Author: Jonas Bernoulli <jonas@bernoul.li>
-;; Homepage: https://github.com/emacscollective/no-littering
-;; Package-Requires: ((cl-lib "0.5"))
-
-;; This file is not part of GNU Emacs.
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 3, or (at your option)
-;; any later version.
-
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; For a full copy of the GNU General Public License
-;; see https://www.gnu.org/licenses.
-
-;;; Commentary:
-
-;; Help keeping ~/.emacs.d clean.
-
-;; The default paths used to store configuration files and persistent
-;; data are not consistent across Emacs packages. This isn't just a
-;; problem with third-party packages but even with built-in packages.
-
-;; Some packages put these files directly in `user-emacs-directory'
-;; or $HOME or in a subdirectory of either of the two or elsewhere.
-;; Furthermore sometimes file names are used that don't provide any
-;; insight into what package might have created them.
-
-;; This package sets out to fix this by changing the values of path
-;; variables to put configuration files in `no-littering-etc-directory'
-;; (defaulting to "etc/" under `user-emacs-directory', thus usually
-;; "~/.emacs.d/etc/") and persistent data files in
-;; `no-littering-var-directory' (defaulting to "var/" under
-;; `user-emacs-directory', thus usually "~/.emacs.d/var/"), and
-;; by using descriptive file names and subdirectories when appropriate.
-;; This is similar to a color-theme; a "path-theme" if you will.
-
-;; We still have a long way to go until most built-in and many third-
-;; party path variables are properly "themed". Like a color-theme,
-;; this package depends on user contributions to accomplish decent
-;; coverage. Pull requests are highly welcome (but please follow the
-;; conventions described below and in the pull request template).
-
-;; `no-littering' cannot help with moving existing files to the new
-;; location. You will have to move the files manually. See issue
-;; #79 for more information.
-
-;; Usage:
-
-;; Load the feature `no-littering' as early as possible in your init
-;; file. Make sure you load it at least before you change any path
-;; variables using some other method.
-;;
-;; (require 'no-littering)
-
-;; If you would like to use base directories different from what
-;; `no-littering' uses by default, then you have to set the respective
-;; variables before loading the feature.
-;;
-;; (setq no-littering-etc-directory
-;; (expand-file-name "config/" user-emacs-directory))
-;; (setq no-littering-var-directory
-;; (expand-file-name "data/" user-emacs-directory))
-;; (require 'no-littering)
-
-;; Conventions:
-
-;; * A) File names
-;;
-;; 1. File names are based on the name of the respective Emacs Lisp
-;; variables and the name of the respective Emacs package.
-;;
-;; 2. The name of the respective Emacs package should serve as the
-;; prefix of the file name, unless the file is in a subdirectory in
-;; which case the name of the subdirectory serves as the prefix.
-;;
-;; 3. If the name of the package and the prefix of the variable do not
-;; match, then we prefer the name of the package.
-;;
-;; 4. If the name of a path variable ends with `-file`, `-default-file`,
-;; `-directory`, `-default-directory`, or something similar, then that
-;; suffix is usually dropped from the file name.
-;;
-;; 5. If applicable, the appropriate extension is added to the file name
-;; so that files are visited using the appropriate major-modes and
-;; also to provide a hint about the kind of data stored in the file.
-;; E.g. if a file contains an S-expression, then the suffix should be
-;; `*.el`.
-
-;; * B) File location and subdirectories
-;;
-;; 1. If a package has only one data file, then that is usually placed in
-;; `no-littering-var-directory` itself. Likewise if a package has
-;; only one config file, then that is placed in
-;; `no-littering-etc-directory` itself.
-;;
-;; 2. If a package has multiple data (or config files), then those files
-;; are placed in a subdirectory of `no-littering-var-directory` (or
-;; `no-littering-etc-directory`).
-;;
-;; 3. If a subdirectory is used for a package's data (or config) file
-;; variables, then the name of the directory should match the name of
-;; the package in most cases. The subdirectory name may serve as the
-;; package prefix of the file name.
-;;
-;; 4. If a package provides a "framework" for other packages to use,
-;; then we may reuse its directories for other packages that make use
-;; of that framework or otherwise "extend" the "main package".
-;; E.g. we place all `helm` related files in `helm/`.
-;;
-;; 5. If a package only defines a single variable that specifies a data
-;; (or config) directory, then the directory name should
-;; nevertheless be just the package name. E.g. the path used for
-;; `sx-cache-directory` from the `sx` package is `sx/cache/`, not
-;; `sx-cache/`.
-;;
-;; 6. However if the name of the directory variable implies that the
-;; package won't ever define any data (or config) files that won't be
-;; placed in that directory, then we use a top-level directory. E.g.
-;; when the name of the variable is `<package>-directory`, in which
-;; case we would use just `<package>/` as the path.
-
-;; * C) Ordering and alignment
-;;
-;; 1. The code that sets the values of themed variables is split into two
-;; groups. The first group sets the value of variables that belong to
-;; packages that are part of Emacs, and the second group is used for
-;; variables that are defined by packages that are not part of Emacs.
-;;
-;; 2. Each of these lists is sorted alphabetically (usually by variable
-;; name). Please keep it that way.
-;;
-;; 3. We attempt to align the value forms inside different `setq` forms.
-;; If the symbol part for a particular variable is too long to allow
-;; doing so, then don't worry about it and just break the alignment.
-;; If it turns out that this happens very often, then we will adjust
-;; the alignment eventually.
-
-;; * D) Commit messages
-;;
-;; 1. Please theme each package using a separate commit and use commit
-;; messages of the form "<package>: theme <variable".
-;;
-;; 2. If a package has several path variables, then you should theme them
-;; all in one commit.
-;;
-;; 3. If the variable names do not fit nicely on the summary line, then
-;; use a message such as:
-;;
-;; foo: theme variables
-;;
-;; Theme `foo-config-file', `foo-cache-directory',
-;; and `foo-persistent-file'.
-;; 4. When appropriate add statements like the following to the commit
-;; message:
-;;
-;; - This file is used to store an s-expression.
-;; - This file is used to store raw text.
-;; - This is the only configuration/data file of the package.
-;; - This package does/doesn't take care of creating the containing
-;; directory if necessary. (If the package does not do it, then you
-;; should also fix that and submit an upstream pull request.)
-;;
-;; 5. If you are uncertain, then be explicit about it by adding a comment
-;; to the pull-request.
-
-;;; Code:
-
-(require 'cl-lib)
-
-(defvar no-littering-etc-directory
- (expand-file-name (convert-standard-filename "etc/") user-emacs-directory)
- "The directory where packages place their configuration files.
-This variable has to be set before `no-littering' is loaded.")
-
-(defvar no-littering-var-directory
- (expand-file-name (convert-standard-filename "var/") user-emacs-directory)
- "The directory where packages place their persistent data files.
-This variable has to be set before `no-littering' is loaded.")
-
-;;;###autoload
-(defun no-littering-expand-etc-file-name (file)
- "Expand filename FILE relative to `no-littering-etc-directory'."
- (expand-file-name (convert-standard-filename file)
- no-littering-etc-directory))
-
-;;;###autoload
-(defun no-littering-expand-var-file-name (file)
- "Expand filename FILE relative to `no-littering-var-directory'."
- (expand-file-name (convert-standard-filename file)
- no-littering-var-directory))
-
-(cl-letf (((symbol-function 'etc)
- (symbol-function #'no-littering-expand-etc-file-name))
- ((symbol-function 'var)
- (symbol-function #'no-littering-expand-var-file-name)))
- (make-directory no-littering-etc-directory t)
- (make-directory no-littering-var-directory t)
- (with-no-warnings ; many of these variables haven't been defined yet
-
-;;; Built-in packages
-
- (setq abbrev-file-name (etc "abbrev.el"))
- (setq auto-insert-directory (etc "auto-insert/"))
- (setq auto-save-list-file-prefix (var "auto-save/sessions/"))
- (setq backup-directory-alist (list (cons "." (var "backup/"))))
- (setq bookmark-default-file (var "bookmark-default.el"))
- (setq calc-settings-file (etc "calc-settings.el"))
- (eval-after-load 'desktop
- `(make-directory ,(var "desktop/") t))
- (setq desktop-dirname (var "desktop/"))
- (setq desktop-path (list desktop-dirname))
- (setq diary-file (var "diary"))
- (setq ecomplete-database-file (var "ecomplete-database.el"))
- (setq ede-project-placeholder-cache-file (var "ede-projects.el"))
- (eval-after-load 'erc
- `(make-directory ,(var "erc/dcc/") t))
- (setq erc-dcc-get-default-directory (var "erc/dcc/"))
- (setq erc-log-channels-directory (var "erc/log-channels/"))
- (eval-after-load 'eshell
- `(make-directory ,(etc "eshell/") t))
- (setq eshell-aliases-file (etc "eshell/aliases"))
- (setq eshell-directory-name (var "eshell/"))
- (setq eudc-options-file (etc "eudc-options.el"))
- (eval-after-load 'eww
- `(make-directory ,(var "eww/") t))
- (setq eww-bookmarks-directory (var "eww/"))
- (setq filesets-menu-cache-file (var "filesets-menu-cache.el"))
- (setq gamegrid-user-score-file-directory (var "gamegrid-user-score/"))
- (setq ido-save-directory-list-file (var "ido-save-directory-list.el"))
- (setq image-dired-db-file (var "image-dired/db.el"))
- (setq image-dired-dir (var "image-dired/"))
- (setq image-dired-gallery-dir (var "image-dired/gallery/"))
- (setq image-dired-temp-image-file (var "image-dired/temp-image"))
- (setq image-dired-temp-rotate-image-file (var "image-dired/temp-rotate-image"))
- (setq kkc-init-file-name (var "kkc-init.el"))
- (eval-after-load 'newsticker
- `(make-directory ,(var "newsticker/") t))
- (setq newsticker-cache-filename (var "newsticker/cache.el"))
- (setq newsticker-dir (var "newsticker/data/"))
- (setq nsm-settings-file (var "nsm-settings.el"))
- (eval-after-load 'org
- `(make-directory ,(var "org/") t))
- (setq org-clock-persist-file (var "org/clock-persist.el"))
- (setq org-id-locations-file (var "org/id-locations.el"))
- (setq org-publish-timestamp-directory (var "org/timestamps/"))
- (setq project-list-file (var "project-list.el"))
- (setq quickurl-url-file (var "quickurl-url.el"))
- (setq rcirc-log-directory (var "rcirc-log/"))
- (setq recentf-save-file (var "recentf-save.el"))
- (setq remember-data-file (var "remember/data"))
- (setq remember-data-directory (var "remember/data.d/"))
- (setq save-place-file (var "save-place.el"))
- (setq savehist-file (var "savehist.el"))
- (setq srecode-map-save-file (var "srecode-map.el"))
- (setq semanticdb-default-save-directory (var "semantic/"))
- (setq shared-game-score-directory (var "shared-game-score/"))
- (setq timeclock-file (var "timeclock"))
- (setq tramp-auto-save-directory (var "tramp/auto-save/"))
- (setq tramp-persistency-file-name (var "tramp/persistency.el"))
- (setq type-break-file-name (var "type-break.el"))
- (setq url-cache-directory (var "url/cache/"))
- (setq url-configuration-directory (var "url/configuration/"))
-
-;;; Third-party packages
-
- (setq ac-comphist-file (var "ac-comphist.el"))
- (setq amx-save-file (var "amx-save.el"))
- (setq anaconda-mode-installation-directory (var "anaconda-mode/"))
- (setq annotate-file (var "annotations.el"))
- (setq async-byte-compile-log-file (var "async-bytecomp.log"))
- (setq auto-package-update-last-update-day-path (var "auto-package-update-last-update-day"))
- (eval-after-load 'bbdb
- `(make-directory ,(var "bbdb/") t))
- (setq bbdb-file (var "bbdb/bbdb.el"))
- (setq bbdb-vcard-directory (var "bbdb/vcard/"))
- (setq bm-repository-file (var "bm-repository.el"))
- (eval-after-load 'bookmark+-1
- `(make-directory ,(var "bmkp/") t))
- (setq bmkp-bmenu-commands-file (var "bmkp/bmenu-commands.el"))
- (setq bmkp-current-bookmark-file (var "bmkp/current-bookmark.el"))
- (setq bmkp-last-bookmark-file (var "bmkp/last-bookmark.el"))
- (setq bookiez-file (var "bookiez"))
- (setq cider-repl-history-file (var "cider-repl-history.el"))
- (eval-after-load 'command-log-mode
- `(make-directory ,(var "command-log-mode-logging/") t))
- (setq clm/logging-dir (var "command-log-mode/logging/"))
- (eval-after-load 'company
- `(make-directory ,(var "company/") t))
- (setq company-statistics-file (var "company/statistics.el"))
- (setq company-tabnine-binaries-folder (var "company/tabnine-binaries"))
- (setq dap-breakpoints-file (var "dap/breakpoints.el"))
- (setq dap-java-test-runner (var "lsp-java/eclipse.jdt.ls/test-runner/junit-platform-console-standalone.jar"))
- (setq dap-utils-extension-path (var "dap/extensions/"))
- (setq debbugs-gnu-persistency-file (var "debbugs.el"))
- (setq dired-recent-directories-file (var "dired-recent-directories.el"))
- (setq elbank-data-file (var "elbank-data.el"))
- (setq elmo-msgdb-directory (var "elmo/"))
- (setq elmo-split-log-file (var "elmo/split-log"))
- (eval-after-load 'elfeed
- `(make-directory ,(var "elfeed/") t))
- (setq elfeed-db-directory (var "elfeed/db/"))
- (setq elfeed-enclosure-default-dir (var "elfeed/enclosures/"))
- (setq elfeed-score-score-file (etc "elfeed/score/score.el"))
- (setq elpher-bookmarks-file (var "elpher-bookmarks.el"))
- (eval-after-load 'x-win
- (let ((session-dir (var "emacs-session/")))
- `(progn
- (make-directory ,session-dir t)
- (defun emacs-session-filename (session-id)
- "Construct a filename to save the session in based on SESSION-ID.
-This function overrides the one on `x-win' to use `no-littering'
-directories."
- (expand-file-name session-id ,session-dir)))))
- (setq emms-directory (var "emms/"))
- (eval-after-load 'emojify
- `(make-directory ,(var "emojify/") t))
- (setq emojify-emojis-dir (var "emojify/"))
- (setq epkg-repository (var "epkgs/"))
- (setq equake-persistent-display-file (var "equake-persistent-display"))
- (setq forge-database-file (var "forge/database.sqlite"))
- (setq forge-post-directory (var "forge/posts/"))
- (setq geben-temporary-file-directory (var "geben/"))
- (eval-after-load 'geiser
- `(make-directory ,(var "geiser/") t))
- (setq geiser-repl-history-filename (var "geiser/repl-history"))
- (setq hackernews-visited-links-file (var "hackernews/visited-links.el"))
- (eval-after-load 'helm
- `(make-directory ,(var "helm/") t))
- (setq helm-adaptive-history-file (var "helm/adaptive-history.el"))
- (setq helm-backup-path (var "helm/backup/"))
- (setq helm-github-stars-cache-file (var "helm/github-stars-cache.el"))
- (setq helm-net-curl-log-file (var "helm/helm-curl.log"))
- (setq historian-save-file (var "historian-save.el"))
- (setq indium-workspace-file (var "indium/workspaces.el"))
- (setq irfc-directory (var "irfc/"))
- (setq irony-user-dir (var "irony/"))
- (setq jabber-avatar-cache-directory (var "jabber/avatar-cache"))
- (eval-after-load 'jabber
- `(make-directory ,(var "jabber/avatar-cache/") t))
- (setq jabber-history-dir (var "jabber/history"))
- (eval-after-load 'jabber
- `(make-directory ,(var "jabber/history/") t))
- (setq keyfreq-file (var "keyfreq.el"))
- (setq keyfreq-file-lock (var "keyfreq.lock"))
- (setq libbcel-oauth-store-filename (var "libbcel-oauth-store.el.gpg"))
- (setq litable-list-file (var "litable-list.el"))
- (setq logview-cache-filename (var "logview-cache"))
- (setq logview-views-file (etc "logview-views"))
- (eval-after-load 'lookup
- `(make-directory ,(etc "lookup/") t))
- (setq lookup-init-directory (etc "lookup/"))
- (setq lsp-eslint-library-choices-file (var "lsp/eslint-library-choices.el"))
- (setq lsp-python-ms-dir (var "lsp-python-ms/"))
- (eval-after-load 'lsp-mode
- `(make-directory ,(var "lsp/") t))
- (setq lsp-server-install-dir (var "lsp/server/"))
- (setq lsp-session-file (var "lsp/session.el"))
- (setq lsp-java-workspace-dir (var "lsp-java/workspace/"))
- (setq lsp-java-server-install-dir (var "lsp-java/eclipse.jdt.ls/server/"))
- (setq magithub-dir (var "magithub/"))
- (setq magithub-cache-file (var "magithub/cache.el"))
- (setq mc/list-file (var "mc-list.el"))
- (setq meghanada-server-install-dir (var "meghanada/"))
- (setq multi-compile-history-file (var "multi-compile-history.el"))
- (setq nix-buffer-directory-name (var "nix-buffer/"))
- ;; The value of this variable MUST NOT end with ".el" but the
- ;; actual file name MUST end with ".el". Use "git blame" for
- ;; more information.
- (setq notmuch-init-file (etc "notmuch-init"))
- (setq nov-save-place-file (var "nov-save-place.el"))
- (setq omnisharp-cache-directory (var "omnisharp/cache"))
- (setq org-gcal-dir (var "org/gcal/"))
- (eval-after-load 'org-caldav
- `(make-directory ,(var "org/caldav/save") t))
- (setq org-caldav-backup-file (var "org/caldav/backup.org"))
- (setq org-caldav-save-directory (var "org/caldav/save"))
- (setq org-journal-cache-file (var "org/journal-cache.el"))
- (setq org-recent-headings-save-file (var "org/recent-headings.el"))
- (setq org-registry-file (var "org/registry.el"))
- (setq org-roam-db-location (var "org/org-roam.db"))
- (setq package-quickstart-file (var "package-quickstart.el"))
- (setq pandoc-data-dir (etc "pandoc-mode/"))
- (setq pcache-directory (var "pcache/"))
- (setq pdf-view-restore-filename (var "pdf-view-restore.el"))
- (setq persist--directory-location (var "persist/"))
- (setq persistent-scratch-save-file (var "persistent-scratch.el"))
- (setq persp-save-dir (var "persp-mode/"))
- (eval-after-load 'projectile
- `(make-directory ,(var "projectile/") t))
- (setq prescient-save-file (var "prescient-save.el"))
- (setq projectile-cache-file (var "projectile/cache.el"))
- (setq projectile-known-projects-file (var "projectile/known-projects.el"))
- (setq psession-elisp-objects-default-directory (var "psession/"))
- (setq purpose-default-layout-file (etc "window-purpose/default-layout.el"))
- (setq purpose-layout-dirs (list (etc "window-purpose/layouts/")))
- (setq pyim-dcache-directory (var "pyim/dcache/"))
- (setq quack-dir (var "quack/"))
- (setq rfc-mode-directory (var "rfc-mode/"))
- (setq request-storage-directory (var "request/storage/"))
- (setq rmh-elfeed-org-files (list (var "elfeed/rmh-elfeed.org")))
- (setq runner-init-file (var "runner-init.el"))
- (setq save-kill-file-name (var "save-kill.el"))
- (setq save-visited-files-location (var "save-visited-files-location"))
- (eval-after-load 'sly
- `(make-directory ,(var "sly/") t))
- (setq sly-mrepl-history-file-name (var "sly/mrepl-history"))
- (setq smex-save-file (var "smex-save.el"))
- (setq speed-type-gb-dir (var "speed-type/"))
- (eval-after-load 'sx
- `(make-directory ,(var "sx/cache/") t))
- (setq sx-cache-directory (var "sx/cache/"))
- (setq tldr-directory-path (var "tldr/"))
- (setq transient-history-file (var "transient/history.el"))
- (setq transient-levels-file (etc "transient/levels.el"))
- (setq transient-values-file (etc "transient/values.el"))
- (setq treemacs-persist-file (var "treemacs/persist.org"))
- (setq treemacs-last-error-persist-file (var "treemacs/persist-last-error.org"))
- (setq undo-fu-session-directory (var "undo-fu-session/"))
- (setq undohist-directory (var "undohist/"))
- (setq undo-tree-history-directory-alist (list (cons "." (var "undo-tree-hist/"))))
- (setq user-emacs-ensime-directory (var "ensime/"))
- (setq vimish-fold-dir (var "vimish-fold/"))
- (eval-after-load 'wl
- `(make-directory ,(etc "wanderlust") t))
- (setq wl-init-file (etc "wanderlust/init.el"))
- (setq wl-folders-file (etc "wanderlust/folders"))
- (setq wl-address-file (etc "wanderlust/address"))
- (setq wl-alias-file (etc "wanderlust/alias"))
- (setq wl-x-face-file (etc "wanderlust/x-face"))
- (setq wl-temporary-file-directory (var "wanderlust-tmp"))
- (setq x86-lookup-cache-directory (var "x86-lookup/cache/"))
- (eval-after-load 'xkcd
- `(make-directory ,(var "xkcd/") t))
- (setq xkcd-cache-dir (var "xkcd/"))
- (eval-after-load 'yasnippet
- `(make-directory ,(etc "yasnippet/snippets/") t))
- (setq yas-snippet-dirs (list (etc "yasnippet/snippets/")))
- ))
-
-;;; _
-(provide 'no-littering)
-;; Local Variables:
-;; indent-tabs-mode: nil
-;; End:
-;;; no-littering.el ends here
diff --git a/hooks/pre-commit b/hooks/pre-commit
deleted file mode 100755
index 20c65dc..0000000
--- a/hooks/pre-commit
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-./build
-git add docs
-git add src
diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html
new file mode 100644
index 0000000..a4f747b
--- /dev/null
+++ b/layouts/_default/baseof.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+ {{- partial "head.html" . -}}
+ <body>
+ {{- partial "navbar.html" . -}}
+ <div id="content">
+ {{- block "main" . }}{{- end }}
+ </div>
+ {{- partial "footer.html" . -}}
+ </body>
+</html>
diff --git a/layouts/_default/baseof.txt b/layouts/_default/baseof.txt
new file mode 100644
index 0000000..49d010f
--- /dev/null
+++ b/layouts/_default/baseof.txt
@@ -0,0 +1 @@
+{{- block "main" . }}{{- end }}
diff --git a/layouts/_default/rss.xml b/layouts/_default/rss.xml
new file mode 100644
index 0000000..e49c966
--- /dev/null
+++ b/layouts/_default/rss.xml
@@ -0,0 +1,39 @@
+{{- $pctx := . -}}
+{{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}}
+{{- $pages := slice -}}
+{{- if or $.IsHome $.IsSection -}}
+{{- $pages = $pctx.RegularPages -}}
+{{- else -}}
+{{- $pages = $pctx.Pages -}}
+{{- end -}}
+{{- $limit := .Site.Config.Services.RSS.Limit -}}
+{{- if ge $limit 1 -}}
+{{- $pages = $pages | first $limit -}}
+{{- end -}}
+{{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
+ <channel>
+ <title>{{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }}</title>
+ <link>{{ .Permalink }}</link>
+ <description>Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }}</description>
+ <generator>Hugo -- gohugo.io</generator>{{ with .Site.LanguageCode }}
+ <language>{{.}}</language>{{end}}{{ with .Site.Author.email }}
+ <managingEditor>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with .Site.Author.email }}
+ <webMaster>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</webMaster>{{end}}{{ with .Site.Copyright }}
+ <copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }}
+ <lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
+ {{- with .OutputFormats.Get "RSS" -}}
+ {{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
+ {{- end -}}
+ {{ range $pages }}
+ <item>
+ <title>{{ .Title }}</title>
+ <link>{{ .Permalink }}</link>
+ <pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
+ {{ with .Site.Author.email }}<author>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</author>{{end}}
+ <guid>{{ .Permalink }}</guid>
+ <description>{{ .Content | html }}</description>
+ </item>
+ {{ end }}
+ </channel>
+</rss>
diff --git a/layouts/_default/single.html b/layouts/_default/single.html
new file mode 100644
index 0000000..bfa8dcd
--- /dev/null
+++ b/layouts/_default/single.html
@@ -0,0 +1,3 @@
+{{define "main"}}
+{{ .Content }}
+{{ end }}
diff --git a/layouts/_default/single.txt b/layouts/_default/single.txt
new file mode 100644
index 0000000..bfa8dcd
--- /dev/null
+++ b/layouts/_default/single.txt
@@ -0,0 +1,3 @@
+{{define "main"}}
+{{ .Content }}
+{{ end }}
diff --git a/layouts/blog/list.html b/layouts/blog/list.html
new file mode 100644
index 0000000..63388b7
--- /dev/null
+++ b/layouts/blog/list.html
@@ -0,0 +1,8 @@
+{{define "main"}}
+{{.Content}}
+<ul>
+{{ range .Pages }}
+<li>{{.Date.Format "2006-01-02"}} | <a href="{{.Permalink}}">{{.Title}}</a></li>
+{{ end }}
+</ul>
+{{ end }}
diff --git a/layouts/blog/list.rss.xml b/layouts/blog/list.rss.xml
new file mode 100644
index 0000000..fe84c3f
--- /dev/null
+++ b/layouts/blog/list.rss.xml
@@ -0,0 +1,39 @@
+{{- $pctx := . -}}
+{{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}}
+{{- $pages := slice -}}
+{{- if or $.IsHome $.IsSection -}}
+{{- $pages = $pctx.RegularPages -}}
+{{- else -}}
+{{- $pages = $pctx.Pages -}}
+{{- end -}}
+{{- $limit := .Site.Config.Services.RSS.Limit -}}
+{{- if ge $limit 1 -}}
+{{- $pages = $pages | first $limit -}}
+{{- end -}}
+{{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
+ <channel>
+ <title>Carbs Linux Blog</title>
+ <link>{{ .Permalink }}</link>
+ <description>Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }}</description>
+ <generator>Hugo -- gohugo.io</generator>{{ with .Site.LanguageCode }}
+ <language>{{.}}</language>{{end}}{{ with .Site.Author.email }}
+ <managingEditor>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with .Site.Author.email }}
+ <webMaster>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</webMaster>{{end}}{{ with .Site.Copyright }}
+ <copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }}
+ <lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
+ {{- with .OutputFormats.Get "RSS" -}}
+ {{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
+ {{- end -}}
+ {{ range $pages }}
+ <item>
+ <title>{{ .Title }}</title>
+ <link>{{ .Permalink }}</link>
+ <pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
+ {{ with .Site.Author.email }}<author>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</author>{{end}}
+ <guid>{{ .Permalink }}</guid>
+ <description>{{ .Content | html }}</description>
+ </item>
+ {{ end }}
+ </channel>
+</rss>
diff --git a/layouts/blog/single.html b/layouts/blog/single.html
new file mode 100644
index 0000000..6a9f636
--- /dev/null
+++ b/layouts/blog/single.html
@@ -0,0 +1,7 @@
+{{define "main"}}
+<header>
+<h1 class="title">{{.Title}}</h1>
+<p class="subtitle">posted on {{.PublishDate.Format "Jan 02, 2006"}}</p>
+</header>
+{{ .Content }}
+{{ end }}
diff --git a/layouts/news/list.html b/layouts/news/list.html
new file mode 100644
index 0000000..67eb4fb
--- /dev/null
+++ b/layouts/news/list.html
@@ -0,0 +1,7 @@
+{{define "main"}}
+<h1>News Index</h1>
+{{ range .Pages }}
+<h2><a href="{{.Permalink}}">{{.Date.Format "Jan 02, 2006"}}</a></h2>
+<p>{{ .Content }}</p>
+{{ end }}
+{{ end }}
diff --git a/layouts/news/list.txt b/layouts/news/list.txt
new file mode 100644
index 0000000..ab0a732
--- /dev/null
+++ b/layouts/news/list.txt
@@ -0,0 +1,12 @@
+{{define "main"}}
+NEWS INDEX
+==========
+
+{{ range .Pages }}
+{{.Date.Format "Jan 02, 2006"}}
+-------------------------------
+
+{{ .RawContent }}
+
+{{ end }}
+{{ end }}
diff --git a/layouts/news/single.html b/layouts/news/single.html
new file mode 100644
index 0000000..2a2d481
--- /dev/null
+++ b/layouts/news/single.html
@@ -0,0 +1,6 @@
+{{define "main"}}
+<header>
+<h2 class="title">{{.PublishDate.Format "Jan 02, 2006"}}</h2>
+</header>
+{{ .Content }}
+{{ end }}
diff --git a/layouts/news/single.txt b/layouts/news/single.txt
new file mode 100644
index 0000000..e59d69f
--- /dev/null
+++ b/layouts/news/single.txt
@@ -0,0 +1,6 @@
+{{define "main"}}
+{{.PublishDate.Format "Jan 02, 2006"}}
+============
+
+{{ .RawContent }}
+{{ end }}
diff --git a/layouts/page/index.html b/layouts/page/index.html
new file mode 100644
index 0000000..ec8a704
--- /dev/null
+++ b/layouts/page/index.html
@@ -0,0 +1,24 @@
+{{define "main"}}
+{{ .Content }}
+<hr>
+<h3>Latest Blog Posts</h3>
+<ul>
+ {{ range first 3 (where .Site.RegularPages.ByDate.Reverse "Section" "blog") }}
+ <li>{{.Date.Format "2006-01-02"}} | <a href="{{.Permalink}}">{{.Title}}</a></li>
+ {{ end }}
+</ul>
+<hr>
+<h3>Latest Package Changes</h3>
+<script type="text/javascript">
+ {{ os.ReadFile "/static/commits.js" | safeJS }}
+</script>
+<div id="commits"></div>
+<hr>
+<h2>News</h2>
+<a href="{{"news/index.xml"|relURL}}">RSS Feed</a> |
+<a href="{{"news"|relURL}}">See all news</a>
+{{ range first 5 (where .Site.RegularPages.ByDate.Reverse "Section" "news") }}
+<h3><a href="{{.Permalink}}">{{.Date.Format "Jan 02, 2006"}}</a></h3>
+<p>{{ .Content }}</p>
+{{ end }}
+{{ end }}
diff --git a/layouts/page/index.txt b/layouts/page/index.txt
new file mode 100644
index 0000000..d2cdac2
--- /dev/null
+++ b/layouts/page/index.txt
@@ -0,0 +1,3 @@
+{{- define "main" -}}
+{{- .RawContent}}
+{{- end}}
diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html
new file mode 100644
index 0000000..e80288f
--- /dev/null
+++ b/layouts/partials/footer.html
@@ -0,0 +1,6 @@
+<div id="postamble" class="status">
+<footer>
+ <p>Linux&reg; is a registered trademark of Linus Torvalds</p>
+ <p>Copyright &copy; 2019-{{now.Format "2006"}} Cem Keylan</p>
+</footer>
+</div>
diff --git a/layouts/partials/head.html b/layouts/partials/head.html
new file mode 100644
index 0000000..7a5d194
--- /dev/null
+++ b/layouts/partials/head.html
@@ -0,0 +1,12 @@
+<meta charset="utf-8">
+<style>
+</style>
+<link rel=icon href='data:image/png;base64,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'>
+<link rel="stylesheet" href="/style.css" type="text/css" media="screen" />
+<link rel="alternate" type="application/rss+xml" href="https://carbslinux.org/news/index.xml" title="Carbs Linux News">
+<link rel="alternate" type="application/rss+xml" href="https://carbslinux.org/blog/index.xml" title="Carbs Linux Blog">
+<meta name="robots" content="index, follow" />
+<meta name="viewport" content="width=device-width, initial-scale=1" />
+<meta name="referrer" content="no-referrer">
+<meta name="description" content="A simple Linux distribution" />
+<title>{{.Title}} | Carbs Linux</title>
diff --git a/layouts/partials/navbar.html b/layouts/partials/navbar.html
new file mode 100644
index 0000000..5c29a25
--- /dev/null
+++ b/layouts/partials/navbar.html
@@ -0,0 +1,15 @@
+<div id="preamble">
+<div id="titlebar">
+ <a href="/" class=maintitle>Carbs Linux</a>
+</div>
+<nav id="navbar">
+ <ul id=navbarlist>
+ <li><a href="/" title="Home Page">Home</a></li>
+ <li><a href="/blog/" title="Blog Posts">Blog</a></li>
+ <li><a href="/docs/" title="Documentation">Docs</a></li>
+ <li><a href="/sources/" title="Sources and Projects">Sources</a></li>
+ <li><a href="/install/" title="Installation Instructions">Install</a></li>
+ <li><a href="/donate/" title="Donate to Carbs Linux">Donate</a></li>
+ </ul>
+</nav>
+</div>
diff --git a/layouts/shortcodes/pkg.html b/layouts/shortcodes/pkg.html
new file mode 100644
index 0000000..0c2eeff
--- /dev/null
+++ b/layouts/shortcodes/pkg.html
@@ -0,0 +1 @@
+<a href="https://git.carbslinux.org/repository/tree/{{ index .Params 0 }}">{{ or (index .Params 1 ) (index .Params 0 | path.Base)}}</a>
diff --git a/layouts/shortcodes/pkg.txt b/layouts/shortcodes/pkg.txt
new file mode 100644
index 0000000..148dca4
--- /dev/null
+++ b/layouts/shortcodes/pkg.txt
@@ -0,0 +1 @@
+{{index .Params 0 | path.Base}}
diff --git a/org-publish.el b/org-publish.el
deleted file mode 100755
index ee0a618..0000000
--- a/org-publish.el
+++ /dev/null
@@ -1,358 +0,0 @@
-#!/usr/bin/emacs --script
-;; Lots of code were taken from:
-;; - https://gitlab.com/to1ne/blog/-/blob/master/elisp/publish.el
-;; - https://github.com/dmacvicar/site.org/blob/master/publish.el
-
-;; I don't want this script, especially package, to mess my Emacs directory.
-(setq user-emacs-directory (expand-file-name ".cache/" default-directory))
-(load-file (expand-file-name "elisp/no-littering.el" default-directory))
-
-(setq package-user-dir (with-no-warnings (no-littering-expand-var-file-name "package/")))
-(require 'package)
-(package-initialize)
-
-(unless package-archive-contents
- (add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t)
- (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
- (package-refresh-contents))
-
-(dolist (pkg '(org-plus-contrib htmlize))
- (unless (package-installed-p pkg)
- (package-install pkg)))
-
-(require 'cl-lib)
-(require 'sh-script)
-(require 'ox)
-(require 'ox-publish)
-(require 'ox-rss)
-
-;; Taken from doom-emacs
-(defmacro c/pushnew! (place &rest values)
- "Push VALUES sequentially into PLACE, if they aren't already present.
-This is a variadic `cl-pushnew'."
- (let ((var (make-symbol "result")))
- `(dolist (,var (list ,@values) (with-no-warnings ,place))
- (cl-pushnew ,var ,place :test #'equal))))
-
-
-;; Some Quality of Life link abbrevations.
-(c/pushnew! org-link-abbrev-alist
- '("carbs-pkg" . "https://git.sr.ht/~carbslinux/repository/tree/master/item/%s")
- '("srht" . "https://git.sr.ht/%s")
- '("ml" . "https://lists.sr.ht/~carbslinux/%s")
- '("mlto" . "mailto:~carbslinux/%s@lists.sr.ht")
- '("github" . "https://github.com/%s"))
-
-(defvar carbs--src-directory (expand-file-name "src/" default-directory)
- "Directory for most of the static webpage content.")
-
-(defvar carbs--publish-directory (expand-file-name "docs/" default-directory)
- "Root directory of the published website.")
-
-(defvar carbs--news-directory (expand-file-name "news/" default-directory)
- "Directory for news posts.")
-
-(defvar carbs--blog-directory (expand-file-name "blog/" default-directory)
- "Directory for blog posts.")
-
-(defvar carbs--template-directory (expand-file-name "templates/" default-directory)
- "Directory for all types of templates")
-
-(defun carbs--insert-template (file)
- "Insert FILE from `carbs--template-directory'."
- (with-temp-buffer
- (insert-file-contents (expand-file-name file carbs--template-directory))
- (buffer-string)))
-
-(defun carbs/org-html-publish-to-html (plist filename pub-dir)
- "Wrapper function that adds publishing date as a subtitle.
-
-PLIST contains the properties, FILENAME the source file and
- PUB-DIR the output directory."
- (let ((project (cons 'rw plist)))
- (plist-put plist :subtitle
- (carbs/format-date-subtitle filename project))
- (org-html-publish-to-html plist filename pub-dir)))
-
-(defun carbs/org-html-publish-blog-index (plist filename pub-dir)
- "Wrapper function to publish only the index file to html.
-PLIST contains the properties, FILENAME the source file and PUB-DIR the output
-directory."
- (if (equal "index.org" (file-name-nondirectory filename))
- (org-html-publish-to-html plist filename pub-dir)))
-
-(defun carbs/format-rss-feed-entry (entry style project)
- "Format ENTRY for the RSS feed.
-ENTRY is a file name. STYLE is either 'list' or 'tree'.
-PROJECT is the current project."
- (cond ((not (directory-name-p entry))
- (let* ((file (org-publish--expand-file-name entry project))
- (title (org-publish-find-title entry project))
- (date (format-time-string "%Y-%m-%d" (org-publish-find-date entry project)))
- (link (concat (file-name-sans-extension entry) ".html")))
- (with-temp-buffer
- (insert (format "* %s\n" title))
- (org-set-property "RSS_PERMALINK" link)
- (org-set-property "PUBDATE" date)
- (insert-file-contents file)
- (buffer-string))))
- ((eq style 'tree)
- ;; Return only last subdir.
- (file-name-nondirectory (directory-file-name entry)))
- (t entry)))
-
-(defun carbs/format-rss-feed (title list)
- "Generate RSS feed, as a string.
-TITLE is the title of the RSS feed. LIST is an internal
-representation for the files to include, as returned by
-`org-list-to-lisp'. PROJECT is the current project."
- (concat "#+TITLE: " title "\n"
- "#+DESCRIPTION: a simple Linux distribution\n\n"
- (org-list-to-subtree list 1 '(:icount "" :istart ""))))
-
-(defun carbs/org-rss-publish-to-rss (plist filename pub-dir)
- "Publish RSS with PLIST, only when FILENAME is 'rss.org'.
-PUB-DIR is when the output will be placed."
- (org-rss-publish-to-rss plist filename pub-dir))
-
-(defun carbs/format-date-subtitle (file project)
- "Format the date found in FILE of PROJECT."
- (format-time-string "posted on %b %d, %Y" (org-publish-find-date file project)))
-
-(defun carbs--pre/postamble-format (type)
- "Return the content for the pre/postamble of TYPE."
- `(("en" ,(carbs--insert-template (format "%s.html" type)))))
-
-(defun carbs/org-publish-sitemap (title list)
- "Generate sitemap as a string, having TITLE.
-LIST is an internal representation for the files to include, as
-returned by `org-list-to-lisp'."
- (let ((filtered-list (cl-remove-if (lambda (x)
- (and (sequencep x) (null (car x))))
- list)))
- (concat (carbs--insert-template "blog.org")
- (org-list-to-org filtered-list) "\n")))
-
-(defun carbs/org-publish-latest-blog (title list)
- "Generate sitemap as a string, having TITLE.
-LIST is an internal representation for the files to include, as returned by
-`org-list-to-lisp'."
- (let* ((filtered-list (cl-remove-if (lambda (x)
- (and (sequencep x) (null (car x))))
- list))
- (latest-posts (seq-subseq filtered-list 0 (min (length filtered-list) 4))))
- (concat (org-list-to-org latest-posts) "\n")))
-
-(defun carbs/org-publish-latest-blog-entry (entry style project)
- "Format for sitemap ENTRY, as a string.
-ENTRY is a file name. STYLE is the style of the sitemap.
-PROJECT is the current project."
- (unless (equal entry "404.org")
- (format "%s - [[file:%s][%s]]"
- (format-time-string "%b %d, %Y" (org-publish-find-date entry project))
- entry
- (org-publish-find-title entry project))))
-
-(defun carbs/org-publish-sitemap-entry (entry style project)
- "Format for sitemap ENTRY, as a string.
-ENTRY is a file name. STYLE is the style of the sitemap.
-PROJECT is the current project."
- (unless (equal entry "404.org")
- (format "[[file:%s][%s]] /%s/"
- entry
- (org-publish-find-title entry project)
- (carbs/format-date-subtitle entry project))))
-
-(defun carbs/org-publish-news (title list)
- "Generate sitemap as a string, having TITLE.
-LIST is an internal representation for the files to include, as
-returned by `org-list-to-lisp'."
- (let ((filtered-list (cl-remove-if (lambda (x)
- (and (sequencep x) (null (car x))))
- list)))
- (concat "#+TITLE: News Index\n\n"
- (org-list-to-subtree filtered-list 1 '(:istart "" :icount "")) "\n")))
-
-(defun carbs/org-publish-news-latest (title list)
- "Generate sitemap as a string, having TITLE.
-LIST is an internal representation for the files to include, as
-returned by `org-list-to-lisp'."
- (let* ((filtered-list (cl-remove-if (lambda (x)
- (and (sequencep x) (null (car x))))
- list))
- (latest-posts (seq-subseq filtered-list 0 (min (length filtered-list) 6))))
- (concat
- (org-list-to-subtree latest-posts 1 '(:istart "" :icount "")) "\n")))
-
-(defun carbs/org-publish-news-entry (entry style project)
- "Format for sitemap ENTRY, as a string.
-ENTRY is a file name. STYLE is the style of the sitemap.
-PROJECT is the current project."
- (cond ((not (directory-name-p entry))
- (let* ((file (org-publish--expand-file-name entry project))
- (date (format-time-string "%b %d, %Y" (org-publish-find-date entry project)))
- (link (concat (file-name-sans-extension entry) ".html")))
- (with-temp-buffer
- (insert (format "* [[file:%s][%s]]\n" link date))
- (insert-file-contents file)
- (buffer-string))))
- ((eq style 'tree)
- ;; Return only last subdir.
- (file-name-nondirectory (directory-file-name entry)))
- (t entry)))
-
-(setq user-full-name "Cem Keylan"
- user-mail-address "root@carbslinux.org"
- org-publish-timestamp-directory (with-no-warnings (no-littering-expand-var-file-name "timestamps/"))
- org-html-doctype "html5"
- org-html-head (concat "<link rel=\"stylesheet\" type=\"text/css\" href=\"/style.css\">\n"
- "<link rel=icon href='data:image/png;base64,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'>")
- org-html-head-include-scripts nil
- org-html-metadata-timestamp-format "%Y-%m-%d"
- org-html-head-include-default-style nil
- org-html-html5-fancy t
- org-html-htmlize-output-type 'css
- org-export-with-toc nil
- org-export-with-section-numbers nil
-
- org-publish-project-alist
- (list
- (list "news"
- :author ""
- :base-directory carbs--news-directory
- :html-preamble t
- :html-postamble t
- :html-preamble-format (carbs--pre/postamble-format 'preamble)
- :html-postamble-format (carbs--pre/postamble-format 'postamble)
- :publishing-directory (expand-file-name "news/" carbs--publish-directory)
- :publishing-function '(org-html-publish-to-html org-ascii-publish-to-ascii)
- :exclude (regexp-opt '("index.org" "news.org" "latest-news.org"))
- :auto-sitemap t
- :sitemap-filename "index.org"
- :sitemap-style 'list
- :sitemap-title "Carbs Linux news"
- :sitemap-sort-files 'anti-chronologically
- :sitemap-function 'carbs/org-publish-news
- :sitemap-format-entry 'carbs/org-publish-news-entry)
- (list "news-rss-generate"
- :base-directory carbs--news-directory
- :publishing-directory carbs--publish-directory
- :publishing-function 'ignore
- :exclude (regexp-opt '("index.org" "news.org" "latest-news.org"))
- :html-link-home "https://carbslinux.org/news"
- :auto-sitemap t
- :sitemap-filename "news.org"
- :sitemap-style 'list
- :sitemap-title "Carbs Linux news"
- :sitemap-sort-files 'anti-chronologically
- :sitemap-function 'carbs/format-rss-feed
- :sitemap-format-entry 'carbs/format-rss-feed-entry)
- (list "latest-news"
- :base-directory carbs--news-directory
- :publishing-directory carbs--publish-directory
- :publishing-function 'ignore
- :exclude (regexp-opt '("index.org" "news.org" "latest-news.org"))
- :auto-sitemap t
- :sitemap-filename "latest-news.org"
- :sitemap-style 'list
- :sitemap-title "Carbs Linux news"
- :sitemap-sort-files 'anti-chronologically
- :sitemap-function 'carbs/org-publish-news-latest
- :sitemap-format-entry 'carbs/org-publish-news-entry)
- (list "news-rss-publish"
- :base-directory carbs--news-directory
- :exclude "."
- :include '("news.org")
- :rss-extension "xml"
- :recursive t
- :html-link-home "https://carbslinux.org/news"
- :publishing-directory carbs--publish-directory
- :publishing-function 'carbs/org-rss-publish-to-rss)
- (list "blog-latest"
- :base-directory carbs--blog-directory
- :publishing-directory carbs--publish-directory
- :publishing-function 'ignore
- :exclude (regexp-opt '("index.org" "rss.org" "latest-blog.org"))
- :auto-sitemap t
- :sitemap-filename "latest-blog.org"
- :sitemap-style 'list
- :sitemap-sort-files 'anti-chronologically
- :sitemap-function 'carbs/org-publish-latest-blog
- :sitemap-format-entry 'carbs/org-publish-latest-blog-entry)
- (list "home"
- :base-directory carbs--src-directory
- :html-preamble t
- :html-postamble t
- :html-preamble-format (carbs--pre/postamble-format 'preamble)
- :html-postamble-format (carbs--pre/postamble-format 'postamble)
- :publishing-directory carbs--publish-directory
- :publishing-function 'org-html-publish-to-html)
- (list "blog-index-publish"
- :base-directory carbs--blog-directory
- :publishing-directory (expand-file-name "blog/" carbs--publish-directory)
- :publishing-function 'carbs/org-html-publish-blog-index
- :html-preamble t
- :html-postamble t
- :html-preamble-format (carbs--pre/postamble-format 'preamble)
- :html-postamble-format (carbs--pre/postamble-format 'postamble)
- :html-link-org-files-as-html t
- :exclude (regexp-opt '("rss.org" "index.org" "latest-blog.org"))
- :auto-sitemap t
- :sitemap-filename "index.org"
- :sitemap-style 'list
- :sitemap-title "Carbs Linux blog"
- :sitemap-sort-files 'anti-chronologically
- :sitemap-function 'carbs/org-publish-sitemap
- :sitemap-format-entry 'carbs/org-publish-sitemap-entry)
- (list "blog"
- :base-directory carbs--blog-directory
- :publishing-directory (expand-file-name "blog/" carbs--publish-directory)
- :publishing-function 'carbs/org-html-publish-to-html
- :html-preamble t
- :html-postamble t
- :html-preamble-format (carbs--pre/postamble-format 'preamble)
- :html-postamble-format (carbs--pre/postamble-format 'postamble)
- :exclude (regexp-opt '("rss.org" "index.org" "latest-blog.org"))
- :html-link-org-files-as-html t)
- (list "blog-generate-rss-sitemap"
- :base-extension "org"
- :base-directory carbs--blog-directory
- :html-link-home "https://carbslinux.org/blog"
- :exclude (regexp-opt '("rss.org" "index.org" "latest-blog.org"))
- :publishing-function 'ignore
- :publishing-directory (expand-file-name "blog/" carbs--publish-directory)
- :rss-extension "xml"
- :auto-sitemap t
- :html-link-org-files-as-html t
- :sitemap-filename "rss.org"
- :sitemap-title "Carbs Linux blog"
- :sitemap-style 'list
- :sitemap-sort-files 'anti-chronologically
- :sitemap-function 'carbs/format-rss-feed
- :sitemap-format-entry 'carbs/format-rss-feed-entry)
- (list "blog-publish-rss-sitemap"
- :base-directory carbs--blog-directory
- :rss-extension "xml"
- :recursive t
- :exclude "."
- :include '("rss.org")
- :publishing-directory carbs--publish-directory
- :publishing-function 'carbs/org-rss-publish-to-rss
- :html-link-home "https://carbslinux.org/blog"
- :html-link-use-abs-url t)
- (list "plaintext"
- :author ""
- :base-directory carbs--src-directory
- :publishing-directory carbs--publish-directory
- :publishing-function 'org-ascii-publish-to-ascii
- :base-extension "org"
- :exclude (regexp-opt '("rss.org" "latest-blog.org"))
- :recursive t)
- (list "blog-txt"
- :base-directory carbs--blog-directory
- :base-extension "org"
- :exclude (regexp-opt '("rss.org" "latest-blog.org"))
- :publishing-directory (expand-file-name "blog/" carbs--publish-directory)
- :publishing-function 'org-ascii-publish-to-ascii)))
-
-(org-publish-all)
diff --git a/src/index.org b/src/index.org
deleted file mode 100644
index 9a01476..0000000
--- a/src/index.org
+++ /dev/null
@@ -1,77 +0,0 @@
-#+TITLE: Carbs Linux
-#+DESCRIPTION: a simple Linux distribution
-#+OPTIONS: title:nil
-
-Carbs Linux is a source-based Linux\reg distribution that aims to be simple,
-flexible and extensible while staying as pragmatic and practical as possible.
-The system can consist of as much or as little as its user can intend to.
-
-* Package Manager
-:PROPERTIES:
-:CUSTOM_ID: package-manager
-:END:
-
-Carbs Linux uses its own package manager [[https://fossil.carbslinux.org/cpt][Carbs Packaging Tools]], a POSIX shell
-package manager forked from [[https://github.com/kisslinux/kiss][KISS]] with the tool-based approach of [[https://github.com/void-linux/xbps][xbps]]. Its aim
-is to deliver easy-to-use tools while also providing a powerful POSIX shell
-library that can be used to further extend and script the packaging system.
-
-
-* Small base
-:PROPERTIES:
-:CUSTOM_ID: small-base
-:END:
-
-By default, Carbs Linux comes with busybox for coreutils, libressl for its
-crypto library, musl libc, and other basic utilities that are required for
-building new software. The majority of the base packages are statically linked.
-
-
-* Multiple Init Support
-:PROPERTIES:
-:CUSTOM_ID: multiple-init-support
-:END:
-
-Carbs Linux has support for multiple init systems and service supervisors. In
-the main repository are
-
-- [[carbs-pkg:core/sinit][sinit]] / [[carbs-pkg:extra/shinit][shinit]]
-- [[carbs-pkg:core/busybox][busybox-init]] (SysVinit clone)
-- [[carbs-pkg:core/runit][runit-init]]
-
-for init systems, and
-
-- [[carbs-pkg:core/sysmgr][sysmgr]]
-- [[carbs-pkg:core/busybox][busybox-runit]]
-- [[carbs-pkg:core/runit][runit]]
-
-for service supervisors. The [[carbs-pkg:core/carbs-init][carbs-init]] package is the collection of init
-scripts that ensure the interoperability of these init and service systems, and
-make it easier for the user to switch to their preferred combinations of system
-supervision.
-
-Nothing holds you back, however, from ditching any of these and packaging some
-other system supervision technique along with your own init scripts.
-
-
-* Links
-:PROPERTIES:
-:CUSTOM_ID: links
-:END:
-
-- IRC - =#carbslinux= on libera.chat
-- Reddit - [[https://reddit.com/r/carbslinux][r/carbslinux]]
-- [[file:mailing-lists.org][Mailing Lists]]
-
-* Latest Blog Posts
-
-#+INCLUDE: ../blog/latest-blog.org :minlevel 1
-
-* News
-:PROPERTIES:
-:CUSTOM_ID: news
-:END:
-
-[[file:./news.xml][RSS Feed]] | [[file:./news][See all news]]
-
-#+INCLUDE: ../news/latest-news.org :minlevel 2
diff --git a/src/install.org b/src/install.org
deleted file mode 100644
index 410a02b..0000000
--- a/src/install.org
+++ /dev/null
@@ -1,4 +0,0 @@
-#+TITLE: Installation Guide
-#+OPTIONS: num:t
-
-#+INCLUDE: "../texidocs/carbslinux.org::*Installation" :only-contents t
diff --git a/static/commits.js b/static/commits.js
new file mode 100644
index 0000000..6a919ca
--- /dev/null
+++ b/static/commits.js
@@ -0,0 +1,21 @@
+function createListItem(commit) {
+ const li = document.createElement('li');
+ const a = document.createElement('a');
+ a.setAttribute('href', `https://git.carbslinux.org/repository/commit/?id=${commit.id}`);
+ a.textContent = `${commit.log}`
+ li.appendChild(a);
+ return li;
+}
+
+fetch('https://git.carbslinux.org/exports/repository.json')
+ .then(response => response.json())
+ .then(data => {
+ const commits = data["latest-commits"];
+ const list = document.createElement('ul');
+ for (let i = 0; i < commits.length; i++) {
+ const commit = commits[i];
+ const item = createListItem(commit);
+ list.appendChild(item);
+ }
+ document.getElementById("commits").appendChild(list);
+ });
diff --git a/static/img/repology-tui-1.png b/static/img/repology-tui-1.png
new file mode 100644
index 0000000..c29b1f0
--- /dev/null
+++ b/static/img/repology-tui-1.png
Binary files differ
diff --git a/static/img/repology-tui-2.png b/static/img/repology-tui-2.png
new file mode 100644
index 0000000..aa31bb2
--- /dev/null
+++ b/static/img/repology-tui-2.png
Binary files differ
diff --git a/style b/style
-Subproject dc3edbc26c28205b5ccf697ff3ef2acd001e1a5
+Subproject 18b3130fe5d639110c289717fdbcce6bdc5c4c1
diff --git a/texidocs b/texidocs
-Subproject aab5cc17af437489b72a605919bd8038d0db666
+Subproject 3dd47cab312977f52461281c6bc7e70abb76e51