UPdated docs
[stands-website.git] / README.md
1 Welcome to FOSDEM 2021. This year, we have an experimental digital-only setup for reasons I think you all know.
2
3 ## General structure
4
5 The stands.fosdem.org exhibition website is a static website generated with [Hugo](https://gohugo.io/). There is a general part,
6 created by FOSDEM, containing an overview of each stand, a thematic ordering and some general information, and a stand-specific part.
7
8 We create the general part and will seed the stand-specific part with what you provided during your submission in the _project name.md_. You can
9 update the contents of the file (via a pull request), but please make sure you do not remove any of the variables in the _[front matter](https://gohugo.io/content-management/front-matter/)_, otherwise the generator
10 will crash.
11
12 We've asked for two repositories from you, one with the content (Hugo content files) and one with static files. These repositories do not have
13 to contain anything else but .md (or .html) files and images respectively. The stand pages will keep the theme we created.
14
15 However, if you wish to provide an added experience, you can link to other pages on your own website. We ask however that you (a) keep the stand
16 information on stands.fosdem.org, that (b) you make sure that visitors know they are not longer on the FOSDEM website and (c) they can easily go back to stands.fosdem.org (e.g. to look at other stands).
17
18 The structure in your directories is flat (no hierarchy in sub folders). If you wish to create additional hierarchical subfolders, please contact us
19 and we will set it up.
20
21 We automatically generate a link to your video repository and the chatroom.
22
23 Your stand will live under _stands.fosdem.org/stands/<your project>_.
24
25 ## Workflow
26
27 We need two repositories from you, one containing your content (pages) and one containing your static files. All files should go directly in the root of that repository (you should not create a hugo site, it is not necessary).
28
29 To add your content to the [main website](https://stands.fosdem.org), two options are possible:
30
31 * Send us an e-mail with both repositories. We will add them as git submodules; content under _content/stands/your\_stand\_name_ (the name of your stand, or at least the directory, is the same name as the .md file already in _content/stands_ (minus the extension)) and static files under _static/stands/your\_stand\_name_.
32 * Fork and clone this repository, add them yourself (respect the paths please) and create a pull request.
33
34 A cronjob will pull the code and rebuild the website every hour.
35
36 If you wish to test your changes locally, you'll have to clone this repository, add the submodules as described above (synchronise them by executing _git submodule init_ and _git submodule update_) and test them with _hugo serve_. Any changes must be made in your local repositories.
37
38 If you wish to change anything in the _content/stands/<your stand>.md_ file (which you can and should), please open a pull request.
39
40 ## Directory structure
41
42 We will clone the repositories you provided in two locations (corresponding to the path _stands/<your stand>_).
43
44 * `content/stands/<your stand>` - location of the content files ([Hugo documentation](https://gohugo.io/content-management/organization/)).
45 * `static/stands/<your stand>` - location of any static files (images, logo's, etc.).
46
47 ## Important files
48
49 /<stand_name>.md is used for the rendering in the lists on /themes/ and /stands/; <stand_name>/\_index.md (if it exists) or <stand_name>.md is used for the page itself. Do not use _show\_on\_overview_ in your \_index.md file.
50
51 ### _content/stands/<your stand>.md_
52
53 * `content/stands/<your stand>.md` - generated by our custom highly advanced (;-)) script based on what you provided in your submission.
54
55 The contents of the _.md_ file can be changed as you wish, but please make sure you do not remove any of the variables (changing the content
56 is fine) of the _front matter_, otherwise the generator will not work. Please do not change the theme or the layout.
57
58 #### Front matter
59
60 ```
61 ---
62 title: _Project_
63 themes:
64 - _Theme (please do not change from the one already in the repository)_
65 website: _Your website_
66 logo: stands/_Project_/_Logo filename_
67 description: |
68 _Short description of your project (5 lines)_
69
70 showcase: |
71 _Showcase: explain why people should come to your stand. You can use HTML (p, ul, etc.)_
72
73 new_this_year: |
74 _What has happened in 2020 to your project? You can use HTML (p, ul, etc.)_
75
76 layout: stand
77 chatroom: _Room name in pentabarf_
78 ---
79 ```
80
81 ### Any other files
82
83 All other files can by any content Hugo accepts (HTML, MD).
84
85 You must provide a _title_ parameter in the front matter of your other pages; otherwise the links will not work.
86
87 ## Chatroom functionality
88
89 Each stand will have a dedicated chatroom, created based on the information in *pentabarf*. Your chat room name is the same name as the _room_ you are
90 scheduled in in pentabarf.
91
92 We have put the name of the chatroom as *chatroom* on all stands pages. _However, if you provided your own \_index.md file, you *must add this parameter*, otherwise your chatroom link will not be functional._ You cannot change this yourself.
93
94 Each chatroom will have the two contacts listed in your submission (and who created an account in Pentabarf) as _moderator_. Additionally, all FOSDEM staff
95 will be given the same role. Moderators can invite other moderators, but note that you require a Matrix account for this.
96
97 ## Video
98
99 Because of our strict security settings, you cannot embed video's from Youtube (or any other video hosting site) - only from video.fosdem.org.
100
101 You can upload video's via [penta.fosdem.org](https://penta.fosdem.org), where everybody should have an account (if not, contact _stands\_at\_fosdem.org_). The exact process is not automated yet, so you will have to send an e-mail to _stands\_at\_fosdem.org_ and we will provide you with the upload link.
102
103 We've created four video events you can upload to (1 video per event). If you need more, let us know.
104
105 The links are of the form _https://penta.fosdem.org/submission/FOSDEM21/event/\_event\_id\__.
106
107 On the _Schedule_ tab in Pentabarf, you'll find a field called _Pre-recorded Video Upload URL_. Go to that link (you'll have to copy & paste) to upload the video.
108
109 You'll have to wait a few minutes while the script transcodes the video. You can check the progress at [upload.video.fosdem.org/overview](https://upload.video.fosdem.org/overview) (select _Stand recordings_ and search for your project - you'll find 4 video's - check the one you uploaded).
110
111 As soon as it says _preview_ on the overview, go back to Pentabarf, go to the schedule tab and check the field called _Video Review URL_. Go to that link to check your video, and if it is OK, confirm it (if it is not, you can upload a new version).
112
113 Wait a few more minutes (30 or so) while it is pushed to our CDN.
114
115 Go back to Pentabarf and the schedule tab, check the field _Final Video URL_. This is the URL of your video you can embed on your stand.
116
117 Upload the video, it will be converted by our system. Afterwards, you review and approve the video, which will then be live.
118
119 You can embed the video; the links will be of the form _https://video.fosdem.org/2021/stands/\_chatroom\_name\_\_video1.mp4_. Embedding is done using standard HTML. You can only embed video's in HTML content, not in Markdown. Note that all fields (description, new_this_year and showcase) will accept HTML and that any pages you add can be HTML as well.
120
121 ## Welcome events on the schedule
122
123 You can also edit the "welcome event" on the FOSDEM schedule (fosdem.org) in Pentabarf; search for the _Welcome to the stand <your project>_ event and edit the short and full abstract on the _Abstract_ tab.
124
125 ## Technical details
126
127 Whatever you put as content of any file (or the contents of _\_index.md_) will appear in the resulting HTML page as follows.
128 ```
129 <html>
130 <head>
131 [FOSDEM Head]
132 </head>
133 <body>
134 [FOSDEM Header]
135 <div class="container">
136 <div class="row">
137 <div class="col">
138 <nav aria-label="breadcrumb">
139 <ol class="breadcrumb">
140 [FOSDEM Generated breadcrumb]
141 </ol>
142 </nav>
143 </div>
144 </div>
145 <div class="row">
146 <div class="col">
147 [Your content]
148 </div>
149 </div>
150 </div>
151 [FOSDEM Footer]
152 </body>
153 </html>
154 ```
155
156 We use Bootstrap (4.5) for styling, so you can as well. jQuery is included (for Bootstrap), so you can use it.
157
158 Please note that you cannot load any assets (images, css or js) from any other domain than stands.fosdem.org.
159
160 ## Local development environment
161 To test your changes locally, this is what you can do (you'll need the Hugo binary).
162
163 1. Clone the repository.
164 2. Put your content directly in _content/stands/your stand_ and _static/stands/your stand_. We use submodules to link everything together, so your content must go there directly.
165 3. Run _hugo serve_.
166 4. Profit!
167
168 If you notice anything amiss, let us know via _stands\_at\_fosdem\_dot\_org_. Or open a pull request ;-)
169
170
171 ## Feedback
172 We realise this is certainly not the best possible option, but while we are fairly confident we can organise a physical edition,
173 going virtual is new for us as well. If you have any ideas for improvements, feedback or anything else, please contact us
174 at _stands\_at\_fosdem\_dot\_org_. Or open a pull request ;-)