aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 49fe00ce73eec3c8cce2f32175883c07c78df889 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# cleberg.net

[cleberg.net](https://cleberg.net) is my personal webpage and blog. This
website and blog utilize the powerful Org-Mode publishing system,
courtesy of the [weblorg](https://github.com/emacs-love/weblorg) Emacs
package.

## Features & Configuration

This site leverages the flexibility of Org-Mode to allow for easy
customization through a simple `publish.el` file. For those
who are interested in tweaking the underlying configuration, the weblorg
documentation provides all necessary details on possible settings and
options.

## Getting Started

To begin exploring or contributing to this project, you\'ll first need
to set up a local copy of the repository. This can be accomplished by
running the following commands within Emacs:

``` {.bash org-language="sh"}
git clone https://git.sr.ht/~cyborg/cleberg.net && \
cd cleberg.net && \
emacs -nw
```

Alternatively, if you prefer working with Doom, simply open any of the
repository files using `Spc f f` and selecting
`README.org`. From there, feel free to make any necessary
changes or customizations.

## Building & Publishing the Site

To test the site locally within Emacs, run the following command
sequence:

Use the `ENV` environment variable to determine which base
URL weblorg will use. If ENV is omitted, it will default to
`localhost:8000`. If `ENV=prod`, weblorg will look
in the `publish.el` file for the production base URL.

``` {.bash org-language="sh"}
# production:
ENV=prod emacs --script publish.el

# development:
emacs --script publish.el
```

The resulting files can then be deployed to your desired target using
any method of your choice, such as `scp` or SFTP.

Alternatively, you may prefer to utilize the provided
`build.sh` script to automate this process. To do so, simply
customize and run the script as needed.

``` {.bash org-language="sh"}
# production:
ENV=prod ./build.sh

# development:
./build.sh
```

### Creating New Blog Posts

To quickly create a new blog post within Emacs, follow these steps:

1.  Run `C-x C-f` (`SPC f f` in Doom) to open a
    new Org-Mode file.
2.  Utilize the `insert-file-contents` command by pressing
    `C-x i`.
3.  Direct the contents of `template.org` (located at
    `utils/template.org`) into the newly opened file.

This streamlined process allows you to rapidly generate fresh content
for cleberg.net, taking advantage of the existing template structure and
formatting.

## Contributing & Tasks

For those interested in contributing to this project or addressing any
outstanding issues, please refer to the issues tab. This is where you
can find a comprehensive list of open tickets or submit a new ticket for
consideration.