File tree Expand file tree Collapse file tree 2 files changed +40
-0
lines changed Expand file tree Collapse file tree 2 files changed +40
-0
lines changed Original file line number Diff line number Diff line change
1
+ # ADR009: Website
2
+
3
+ ** Status** : Accepted but unimplemented.
4
+
5
+ ## Context
6
+
7
+ quick-lint-js needs a website for marketing purposes but also as a way to
8
+ distribute installation and usage documentation.
9
+
10
+ Static HTML files are easy to manage for simple websites. However,
11
+ quick-lint-js' website has enough complex pages that manually maintaining static
12
+ HTML files becomes painful. Generated files need to be manually re-generated
13
+ when the source changes. Repeated elements such as navigation are error-prone
14
+ and time-consuming to write and update.
15
+
16
+ ## Decision
17
+
18
+ [ EJS] [ ] -based template files are checked into the source repository.
19
+
20
+ Node.js-based software converts the EJS-based template files into HTML. A
21
+ dynamic web server exists for developers, and a build script exists for
22
+ deployment to GitHub Pages (or any other static file server).
23
+
24
+ HTML generation logic is written in Node.js as much as possible, and is invoked
25
+ from EJS template files.
26
+
27
+ ## Consequences
28
+
29
+ Contributors and users can no longer see most of the website on their local
30
+ machine by just downloading a copy of the source repository. A build step is
31
+ needed to convert sources into HTML.
32
+
33
+ Generated HTML code is always up-to-date because generation is coupled with
34
+ deployment.
35
+
36
+ Code generation scripts are still necessary for man pages and other non-web
37
+ output formats.
38
+
39
+ [ EJS ] : https://ejs.co/
Original file line number Diff line number Diff line change @@ -17,6 +17,7 @@ Nygard][ADR-bible].
17
17
* [ ADR005: Incremental lexing] ( ADR005-Incremental-lexing.md )
18
18
* [ ADR006: Location tracking] ( ADR006-Location-tracking.md )
19
19
* [ ADR008: Exceptions] ( ADR010-Exceptions.md )
20
+ * [ ADR009: Website] ( ADR009-Website.md )
20
21
21
22
## Rejected ADRs
22
23
You can’t perform that action at this time.
0 commit comments