summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/ccc_conventions.rb47
1 files changed, 47 insertions, 0 deletions
diff --git a/lib/ccc_conventions.rb b/lib/ccc_conventions.rb
new file mode 100644
index 0000000..c0f9943
--- /dev/null
+++ b/lib/ccc_conventions.rb
@@ -0,0 +1,47 @@
1module CccConventions
2 ERFA_PARENT_NAME = "club/erfas"
3 CHAOSTREFF_PARENT_NAME = "club/chaostreffs"
4
5 NODE_KINDS = {
6 "top_level" => {
7 parent: -> { Node.root },
8 path_prefix: "",
9 label: "Top Level"
10 },
11 "generic" => {
12 label: "Generic",
13 hint: "Can be created anywhere - choose the parent below."
14 # no path_prefix - depends on whatever parent gets chosen; see below
15 },
16 "update" => {
17 parent: -> { Update.find_or_create_parent },
18 tags: ["update"],
19 path_prefix: -> { "updates/#{Time.now.year}" },
20 label: "Update",
21 hint: -> { "Automatically created in /updates/#{Time.now.year}/, gets tag \"update\", and inherits the update template." }
22 },
23 "press_release" => {
24 parent: -> { Update.find_or_create_parent },
25 tags: ["update", "pressemitteilung"],
26 path_prefix: -> { "updates/#{Time.now.year}" },
27 label: "Pressemitteilung",
28 hint: -> { "Automatically created in /updates/#{Time.now.year}/, gets tags \"update, pressemitteilung\", and inherits the update template." }
29 },
30 "erfa" => {
31 parent: -> { Node.find_by_unique_name!(ERFA_PARENT_NAME) },
32 tags: ["erfa-detail"],
33 template: "chapter_detail",
34 path_prefix: ERFA_PARENT_NAME,
35 label: "Erfa",
36 hint: "Automatically created under the Erfa-Kreise overview page, gets tag \"erfa-detail\", and uses the chapter detail template."
37 },
38 "chaostreff" => {
39 parent: -> { Node.find_by_unique_name!(CHAOSTREFF_PARENT_NAME) },
40 tags: ["chaostreff-detail"],
41 template: "chapter_detail",
42 path_prefix: CHAOSTREFF_PARENT_NAME,
43 label: "Chaostreff",
44 hint: "Automatically created under the Chaostreffs overview page, gets tag \"chaostreff-detail\", and uses the chapter detail template."
45 }
46 }.freeze
47end