Reformatting project goals and moved links to the end.
[history-fsf.git] / README.md
CommitLineData
12b31e76
MM
1# FSF History page
2
35c22843
MM
3This is a timeline project to chronicle the historical events surrounding the
4Free Software Foundation.
12b31e76 5
35c22843
MM
6Link to production site: https://www.fsf.org/history/
7
8## Project description
9
10We have a [final page](https://www.fsf.org/history/),
11[source and picture files](https://www.fsf.org/history/fsf-history.tar.gz),
12a markdown file, and a
13[translation](https://flallemand.fr/divers/fsf-history/).
14
15### Goals
16
17- Generate the history page from source.
18 - Generate the https://www.fsf.org/history/index.html file from our source
19 file in MarkDown or JSON format using a simple scripting language
20 (BASH/Python preferably). Basically this would involve creating a simple
21 custom static site generator. Below is the syntax used by the source file.
22 - The source is currently in ikiwiki MarkDown format, but it is not a
23 traditional MarkDown document as it would need to be rendered in the way
24 that the history page currently is displayed. Maybe converting the
25 markdown to JSON would be a good first step.
26- Internationalization (i18n)
27 - Create a method to convert the history page
28 https://www.fsf.org/history/index.html to various other languages. A French
29 translation might be rendered to https://www.fsf.org/history/fr/index.html
30 URL for example.
31 - This could be converting the rendered HTML to po with html2po and then
32 gettext to make new versions.
33 - Example command converting HTML to a po file: `sudo apt install translate-toolkit && wget https://www.fsf.org/history/index.html && html2po index.html > messages.po`
34 - <http://docs.translatehouse.org/projects/translate-toolkit/en/latest/commands/html2po.html>
35 - We currently have a French translation in HTML format, but we would need
36 to convert this into a reproducable format that works with whatever
37 system we decide to use.
38- Automatically generate new pages.
39 - On the server-side, we would need a simple BASH script that is run by an
40 automated cron job that fetches new changes from this repository and builds
41 the pages with the new changes if necessary and creates new translations
42 when available.
12b31e76
MM
43
44## Syntax
45
46Entry syntax:
47
48```
49## TITLE
50* ID: simple-unique-sublink
51* MONTH: APR
52* YEAR: 1985
53* LINK: <https://link.to.relevant.website/>
54* IMAGE: Location of image to use
55* IMAGE SHAPE: rectangle or circle
56* IMAGE ALT TEXT: Single sentence that explains what the image contains for the visually impaired and search engine optimization.
57* IMAGE LICENSE: Copyright 2021 Free Software Foundation, Inc. CC-BY-SA-4.0
58* NOTES: Text that will be skipped by the generation.
59* TEXT-BODY: Description that can be longer.
60* TEXT-MORE: Read more >
61```
62
63Syntax description:
64
65* TITLE
66 - Required.
67 - The title of the entry that will be displayed as a bold header.
68* ID
69 - Required.
70 - The ID is a unique abbreviated short code that can be used to link someone
71 to a historical item within the context of the rest of the page.
72* MONTH
73 - Optional.
74 - Three letter abbreviation for the month when the event happened.
75* YEAR: 1985
76 - Required.
77 - Four digit year when the event happened.
78* LINK
79 - Required.
80 - The URL most related to the historical event.
81* IMAGE
82 - Optional.
83 - Location of an image to accompany the event.
84* IMAGE SHAPE
85 - Required if IMAGE is used.
86 - The shape of the picture.
87 - Valid answers are `rectangle` or `circle` only.
88 - Generally, photos are rectangles and logos are circles.
89* IMAGE ALT TEXT
90 - Required if IMAGE is used.
91 - For accessibility, single sentence that explains what the image contains
92 for the visually impaired and search engine optimization.
93* IMAGE LICENSE
94 - Required if IMAGE is used.
95 - The license of the image.
96* NOTES
97 - Optional.
98 - Notes that will not be generated into the production site.
99* TEXT-BODY
100 - Optional.
101 - Description of the event.
102* TEXT-MORE: Read more >
103 - Optional.
104 - Text for the link. We typically just use `Read more >` for this.
105
35c22843 106## Links
12b31e76
MM
107
108Some of the reference locations are only accessible to internal staff. I tried
109to mark all of those. I might have missed pictures, but they should be linked
110from the production site.
35c22843
MM
111
112* Development link: <https://static.fsf.org/nosvn/demos/history-static/>
113* Production link: <https://www.fsf.org/history/>
114* The original image we are drafting from:
115 common/fundraising/biannual-fundraisers/2020-fall/timeline/ (Internal
116 location)
117* [Member Forum post with comments](https://forum.members.fsf.org/t/fsf-history-page/3701)
118* <https://rt.gnu.org/Ticket/Display.html?id=1748452> (Internal location) RT
119 ticket about adding fsfe, fsff, fsfi, and fsfla logos.