aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.build.yml3
-rw-r--r--.gitignore10
-rw-r--r--Makefile45
-rw-r--r--archetypes/default.md6
-rw-r--r--config.toml13
-rw-r--r--content/_index.org (renamed from src/index.org)30
-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.org (renamed from blog/20210525.org)5
-rw-r--r--content/blog/20210630.org (renamed from blog/20210630.org)3
-rw-r--r--content/blog/20211025.org106
-rw-r--r--content/blog/_index.md5
-rw-r--r--content/docs.org (renamed from src/docs.org)19
-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)0
-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/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.html16
-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/install.org4
m---------style0
m---------texidocs0
81 files changed, 462 insertions, 926 deletions
diff --git a/.build.yml b/.build.yml
index 58f0cb2..5b406b9 100644
--- a/.build.yml
+++ b/.build.yml
@@ -1,7 +1,7 @@
image: alpine/edge
packages:
- curl
- - emacs-nox
+ - hugo
- texinfo
- rsync
- openssh-client
@@ -12,5 +12,6 @@ tasks:
cd website
make
- deploy: |
+ [ "$(git -C website rev-parse --abbrev-ref HEAD)" = master ] || exit 0
sshopt="--rsh=ssh -o StrictHostKeyChecking=no"
rsync "$sshopt" -av --delete website/docs/ user-data@carbslinux.org:www/carbslinux.org
diff --git a/.gitignore b/.gitignore
index 7fafb4f..e84d2e1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,4 @@
/.cache/
-/news/index.org
-/news/news.org
-/news/latest-news.org
-/blog/latest-blog.org
-/blog/index.org
-/blog/rss.org
-/docs/
+/public/
+/static/
+/content/install.org
diff --git a/Makefile b/Makefile
index 3552b5d..e9e7552 100644
--- a/Makefile
+++ b/Makefile
@@ -1,32 +1,29 @@
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
+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 static
-.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/src/index.org b/content/_index.org
index 9a01476..cbc838f 100644
--- a/src/index.org
+++ b/content/_index.org
@@ -1,4 +1,4 @@
-#+TITLE: Carbs Linux
+#+TITLE: Home
#+DESCRIPTION: a simple Linux distribution
#+OPTIONS: title:nil
@@ -35,17 +35,18 @@ building new software. The majority of the base packages are statically linked.
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]]
+- {{< pkg "core/sinit" >}}
+- {{< pkg "extra/shinit" >}}
+- {{< pkg "core/busybox" "busybox-init" >}}
+- {{< 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]]
+- {{< pkg "core/sysmgr" >}}
+- {{< pkg "core/busybox" "busybox-runit" >}}
+- {{< pkg "core/runit" >}}
-for service supervisors. The [[carbs-pkg:core/carbs-init][carbs-init]] package is the collection of init
+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.
@@ -62,16 +63,3 @@ other system supervision technique along with your own init scripts.
- 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/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/blog/20210525.org b/content/blog/20210525.org
index e19039a..ecbd070 100644
--- a/blog/20210525.org
+++ b/content/blog/20210525.org
@@ -1,6 +1,7 @@
#+TITLE: May 2021 News Post
-#+DATE: <2021-05-25 Tue>
+#+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.
@@ -12,7 +13,7 @@ some small bugs and working on some features.
:CUSTOM_ID: fossil-support
:END:
-In the [[file:20210415.org::#fossil][previous news post]] I mentioned adding fossil support to the package
+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
diff --git a/blog/20210630.org b/content/blog/20210630.org
index 715d9a0..48611ac 100644
--- a/blog/20210630.org
+++ b/content/blog/20210630.org
@@ -1,6 +1,7 @@
#+TITLE: June 2021 News Post
-#+DATE: <2021-06-30 Wed>
+#+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
diff --git a/content/blog/20211025.org b/content/blog/20211025.org
new file mode 100644
index 0000000..7ccda62
--- /dev/null
+++ b/content/blog/20211025.org
@@ -0,0 +1,106 @@
+#+TITLE: October 2021 News Post
+#+DATE: 2021-10-25
+#+AUTHOR: Cem Keylan
+#+DRAFT: true
+
+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
+
+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
+
+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
+
+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
+
+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
+
+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
+
+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.
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/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/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..c33848e 100644
--- a/src/mailing-lists.org
+++ b/content/mailing-lists.org
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/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..bf09ebe
--- /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 package management tools of 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 8ccb6ca3acdec76fdb279ed61ba21694e3efe5a
+Subproject e018b9bfad075da78c61501d93cc53c020c0308
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..a8d5d04
--- /dev/null
+++ b/layouts/page/index.html
@@ -0,0 +1,16 @@
+{{define "main"}}
+{{ .Content }}
+<h2>Latest Blog Posts</h2>
+<ul>
+ {{ range first 3 (where .Site.RegularPages.ByDate.Reverse "Section" "blog") }}
+ <li>{{.Date.Format "2006-02-01"}} | <a href="{{.Permalink}}">{{.Title}}</a></li>
+ {{ end }}
+</ul>
+<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..e64836f
--- /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-2021 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..916e360
--- /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">Installation</a></li>
+ <li><a href="/download/" title="Download Carbs Linux">Download</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/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/style b/style
-Subproject dc3edbc26c28205b5ccf697ff3ef2acd001e1a5
+Subproject fab647aa9be5581d0ba84d8bdf11753d7530d8e
diff --git a/texidocs b/texidocs
-Subproject 37d2f1e9fc3888de78944e3e5539b4354608d45
+Subproject d3010f79ac317941f4788cb4ee63cdf504adc5b