Commit ad5864277d

ad5864277d59e669093cded07142d90160482388

parent: 245261ce88

Unsigned

cmc <hello@cleberg.net> · 2026-02-03 23:56 UTC

convert README to org-mode

Layout: unified · split

README.md deleted −115
@@ -1,115 +0,0 @@
1# cleberg.net
2
3This repository holds the files for [cleberg.net](https://cleberg.net), a
4static-site with blog posts, personal links, and more.
5
6This site uses [weblorg](https://github.com/emacs-love/weblorg) to build the
7static site, which relies on [emacs](https://www.gnu.org/software/emacs/).
8
9## Site Structure
10
11Content pages (e.g., blog posts) are written in org-mode and templates are
12written in HTML. Weblorg can be used to build these files into a static site,
13which can then be deployed to a web server.
14
15The main site components are:
16
17- Org source files containing content, including blog posts and pages.
18- A configuration file (`publish.el`) that specifies publishing parameters like
19 base URL, output directories, and export options.
20- Assets such as images and style sheets, located in designated subdirectories.
21- Utility scripts (e.g., `build.py`) to facilitate building and deployment.
22
23## Dependencies
24
25The publishing system depends on:
26
27- Emacs text editor with Org-Mode.
28- The weblorg package, available at <https://github.com/emacs-love/weblorg>,
29 which provides advanced Org publishing functionality and theming support.
30
31## Screenshots
32
33Screenshots illustrating the site in both light and dark display modes are
34included in the `./screenshots/` directory.
35
36| Light Mode | Dark Mode |
37| ---------------------------- | --------------------------- |
38| ![](./screenshots/light.png) | ![](./screenshots/dark.png) |
39
40## Configuration
41
42Custom site settings are centralized in the `publish.el` file. This file
43establishes key variables such as:
44
45- The base URL for links.
46- Output directories.
47- Publishing rules defining which files are converted and how.
48- Theme settings managed by weblorg.
49
50Users intending to modify site parameters should review and edit this file
51accordingly. The weblorg documentation contains extensive details on
52configuration options and expected formats.
53
54## Setup Instructions
55
56To obtain a working copy of this repository, execute the following commands
57within a shell environment or Emacs shell interface:
58
59```shell
60git clone https://github.com/ccleberg/cleberg.net
61cd cleberg.net
62emacs -nw
63```
64
65For users employing Doom Emacs, open any repository Org file using `SPC f f` to
66access the content.
67
68## Building and Publishing the Site
69
70The publishing process involves invoking Emacs with the `publish.el` script,
71which performs the export of Org documents to HTML output.
72
73Configure the environment variable `ENV` as follows:
74
75- If `ENV` is set to `prod`, the script uses production base URL settings as
76 defined in `publish.el`.
77- If `ENV` is unset or set differently, the script defaults to development
78 settings, typically using `localhost:8000` as the base URL.
79
80Example commands to build the site:
81
82```shell
83# Production build:
84ENV=prod emacs --script publish.el
85
86# Development build:
87emacs --script publish.el
88```
89
90Generated site files reside in the designated output directory, ready for
91deployment. Deployment can be performed by standard file transfer protocols such
92as `scp` or SFTP.
93
94The `./build.py` script automates the build process. It can be executed with or
95without the `ENV` variable to perform production or development builds
96respectively.
97
98```shell
99# Production build script:
100ENV=prod uv run build.py
101
102# Development build script:
103uv run build.py
104```
105
106## Creating New Blog Posts
107
108To add new blog content, follow this procedure within Emacs:
109
1101. Open a new Org file (via `C-x C-f` or Doom's `SPC f f`).
1112. Insert the contents of the post template with `C-x i`, sourcing from
112 `utils/template.org`.
1133. Modify the new file as needed to add post content and metadata.
114
115This method streamlines content creation by reusing a preformatted template.
README.org added +114
@@ -0,0 +1,114 @@
1* cleberg.net
2
3This repository holds the files for [[https://cleberg.net][cleberg.net]], a static-site with blog posts,
4personal links, and more.
5
6This site uses [[https://github.com/emacs-love/weblorg][weblorg]] to build the static site, which relies on [[https://www.gnu.org/software/emacs/][emacs]].
7
8** Site Structure
9
10I write content pages (e.g., blog posts) in org-mode and templates in HTML. I
11use Weblorg to build these files into a static site, and then deploy them to a
12web server.
13
14The main site components are:
15
16- Org source files containing content, including blog posts and pages.
17- A configuration file (~publish.el~) that specifies publishing parameters like
18 base URL, output directories, and export options.
19- Assets such as images and style sheets, located in designated subdirectories.
20- Utility scripts (e.g., ~build.py~) to facilitate building and deployment.
21
22** Dependencies
23
24The publishing system depends on:
25
26- Emacs text editor with Org-Mode.
27- The weblorg package, available at [[https://github.com/emacs-love/weblorg]], which
28 provides advanced Org publishing functionality and theming support.
29
30** Screenshots
31
32Screenshots illustrating the site in both light and dark display modes are
33included in the ~screenshots~ directory.
34
35| Light Mode | Dark Mode |
36|-------------------------+------------------------|
37| [[./screenshots/light.png]] | [[./screenshots/dark.png]] |
38
39** Configuration
40
41You can customize site settings can within the ~publish.el~ file. This file
42establishes key variables such as:
43
44- The base URL for links.
45- Output directories.
46- Publishing rules to define which files to convert and how.
47- Theme settings managed by weblorg.
48
49Users intending to modify site parameters should review and edit this file
50accordingly. The weblorg documentation contains extensive details on
51configuration options and expected formats.
52
53** Setup Instructions
54
55To obtain a working copy of this repository, execute the following commands
56within a shell environment or Emacs shell interface:
57
58#+begin_src shell
59git clone https://github.com/ccleberg/cleberg.net
60cd cleberg.net
61emacs -nw
62#+end_src
63
64For users employing Doom Emacs, open any repository Org file using ~SPC f f~ to
65access the content.
66
67** Building and Publishing the Site
68
69The publishing process involves invoking Emacs with the ~publish.el~ script, which
70performs the export of Org documents to HTML output.
71
72Configure the environment variable ~ENV~ as follows:
73
74- If you set ~ENV~ to ~prod~, the script uses production base URL settings as
75 defined in ~publish.el~.
76- If you do not set ~ENV~ or set it differently, the script defaults to
77 development settings, typically using ~localhost:8000~ as the base URL.
78
79Example commands to build the site:
80
81#+begin_src shell
82# Production build:
83ENV~prod emacs --script publish.el
84
85# Development build:
86emacs --script publish.el
87#+end_src
88
89Generated site files reside in the designated output directory, ready for
90deployment. You can deploy the resulting static site files via standard file
91transfer protocols such as ~scp~ or SFTP.
92
93The ~build.py~ script automates the build process. You can execute this script
94with or without the ~ENV~ variable to perform production or development builds
95respectively.
96
97#+begin_src shell
98# Production build script:
99ENV~prod uv run build.py
100
101# Development build script:
102uv run build.py
103#+end_src
104
105** Creating New Blog Posts
106
107To add new blog content, follow this procedure within Emacs:
108
1091. Open a new Org file (via ~C-x C-f~ or Doom's ~SPC f f~).
1102. Insert the contents of the post template with ~C-x i~, sourcing from
111 ~utils/template.org~.
1123. Modify the new file as needed to add post content and metadata.
113
114This method streamlines content creation by reusing a preformatted template.