aboutsummaryrefslogtreecommitdiff
path: root/README.org
blob: 45990da7448de0b252e283a65de2e288dfd5913d (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
#+title: README

* cmc.pub

[[https://cmc.pub][cmc.pub]] is my personal webpage and blog. This website and blog utilize the
powerful Org-Mode publishing system, courtesy of the [[https://github.com/emacs-love/weblorg][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 with cmc.pub

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:

#+begin_src sh
git clone https://git.sr.ht/~cyborg/cmc.pub && \
cd cmc.pub && \
emacs -nw
#+end_src

#+RESULTS:

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.

#+begin_src sh
# production:
ENV=prod emacs --script publish.el

# development:
emacs --script publish.el
#+end_src

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.

#+begin_src sh
# production:
ENV=prod ./build.sh

# development:
./build.sh
#+end_src

*** 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
cmc.pub, 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 [[https://todo.sr.ht/~cyborg/cmc.pub][ticket tracker]]. This is where you can find
a comprehensive list of open tickets or submit a new ticket for consideration.