#+title: P’undrak’s dotfiles
#+html:
#+html:
#+html:
#+html:
* About the Project
This repository holds my Linux dotfiles and other configuration files.
The files I’m using are written in [[https://orgmode.org/][org-mode]] and exported in Markdown
through [[https://www.gnu.org/software/emacs/][Emacs]].
These Markdown files are then compiled by [[https://v2.vuepress.vuejs.org/][Vuepress]] into a beautiful
website available at [[https://beta.config.phundrak.com][config.phundrak.com]].
* Running the project
In order to run the project, you need to export all =.org= files in the
Markdown format. To do that easily, you can use an org project setup
in Emacs, mine looks like this:
#+begin_src emacs-lisp
(require 'ox-gfm)
(defvar phundrak--projects-config-common-root
"~/org/config/docs/"
"Points to the common root of my source and target for my
config.phundrak.com org project.")
(setq org-publish-project-alist
`(("config-phundrak-com-md"
:base-directory ,phundrak--projects-config-common-root
:base-extension "org"
:exclude ,(rx (* print
(or "CONTRIB"
"README"
"site-map"
"temp"
"private"
"svg-ink")
(* print)))
:publishing-directory ,phundrak--projects-config-common-root
:recursive t
:language "en"
:publishing-function org-gfm-publish-to-gfm
:headline-levels 5
:auto-sitemap nil
:auto-preamble nil)
("config-phundrak-com"
:components ("config-phundrak-com-md"))))
#+end_src
Once you have all the Markdown files generated correctly, you can
install the dependencies of the project.
#+begin_src shell
yarn
# or
npm install # delete the yarn.lock file first
#+end_src
Once this is done, you can launch a preview of the project.
#+begin_src shell
yarn docs:dev
# or
npm run docs:dev
#+end_src
You can also compile the project to a static website.
#+begin_src shell
yarn docs:build
# or
npm run docs:build
#+end_src