summaryrefslogtreecommitdiff
path: root/tools/README
blob: f4c1de3d1fc0e6271c16c911cde128698d38f5d6 (plain)
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
These are the tools I use for my personal web page authoring.

The scripts can be improved to process just the modified files (and to
be less hacky in general), the XSLTs can be made more generic, but it
works for now, and is pretty simple.


Editing:

- skeleton.xml is the primary skeleton to start with, for *.xhtml files
  in ~/homepage/src/.

This stage is mostly needed to get unified styles, metadata
properties, and other bits in case if I'll change them. The same can
be achieved by processing (X)HTML files, but such a processing may get
tricky, and it's also nicer to have a less verbose skeleton.

Editing is done with the emacs html-mode, with
<https://github.com/defanor/html-wysiwyg>.


Indexing:

- xml-notes-dump.xsl (with some help from Makefile) is used to
  create notes-dump.xml in the build directory.
- xml-notes-sort.xsl sorts that to create
  notes-by-publication-date.xml and notes-by-modification-date.xml.
- xml-notes-limit.xsl is used to extract the most recent notes.

Opaque files can be indexed externally, as done with build/blog.xml.


HTML:

- xml-to-html.xsl is used to translate source files into actual (X)HTML
  in ~/homepage/.

Indexes can be included into those using the <notes> or <file> element
(so it should run after those are built, if they are used).


Atom feed:

- xml-notes-to-atom.xsl translates a dump of notes (such as
  notes-by-modification-date.xml) into an atom feed.


Publishing:

- publish.sh runs all of the above and uploads the files with rsync.