|
||
---|---|---|
_includes | ||
css | ||
events | ||
images | ||
js | ||
LICENSES | ||
.eleventy.js | ||
.eleventyignore | ||
.eleventyignore.license | ||
.gitattributes | ||
.gitattributes.license | ||
.gitignore | ||
.gitignore.license | ||
.woodpecker.yml | ||
calendar.ics.njk | ||
config.yaml | ||
index.njk | ||
known_hosts | ||
LICENSE.txt | ||
package-lock.json | ||
package-lock.json.license | ||
package.json | ||
package.json.license | ||
README.md | ||
README.md.license | ||
upcoming.rss.njk |
Codeberg Events
A site where the Codeberg community announces events
Summary
Codeberg Events is a statically generated site that contains a bulletin board and archive of events hosted by Codeberg and the Codeberg community.
The site is automatically built and deployed to Codeberg Pages at https://codeberg.codeberg.page/Events/ when new
commits are pushed to the master
branch.
It is based on the calendity template project by Lucas Hinderberger (https://codeberg.org/lhinderberger/calendity).
Contributions Welcome!
Do you want to add your own events?
FOSS Projects hosted on Codeberg are invited to add their own events by submitting a Pull Request to this repository.
Usage
Adding an event
To add an event, open the events
directory, then locate the subdirectory of the year in which the event takes place*.
For events that start in one year and end in another, e.g. new-years-eve-parties, choose the earlier year.
Next, create a Markdown file that will contain you item. It is recommended to copy and adapt one of the existing files, and to comply with the existing file naming scheme. If you want to create a new file from scratch, here is an example:
---
# Copyright 2022 AUTHOR
# SPDX-License-Identifier: CC0-1.0
#
# To the extent possible under law, AUTHOR has waived all copyright
# and related or neighboring rights to this file, as described in
# CC0 1.0 Universal (see https://creativecommons.org/publicdomain/zero/1.0/).
title: "Weekly Foo Meetup #123"
featured: true # if set to true, this event will appear in the Featured Events section - Codeberg may set this to false at its own discretion
summary: "The foo Programming Language Meetup - This week: Compiler Internals with John Doe"
begin: 2022-12-10T18:30:00+01:00
end: 2022-12-10T21:00:00+01:00
meeting_link: https://localhost:8080/meeting/foo1234
homepage: https://localhost:8080/foo
---
This will be a remote-only event about foo.
The foo language is a programming language for programming lots of foo.
Its distinguishing feature is the amount of good foo it has.
...
As you can see, you can add a detailed description of your event using Markdown. That detailed description will be rendered to the Event's details page.
Caution: When renaming an event file, make sure to add a permalink
property to the event,
to prevent breaking existing links (see https://www.11ty.dev/docs/permalinks/ for details).
It's best to not rename event files, if possible.
Please make sure to include and adapt the CC0 license header as seen in the example above with your event, to ensure that the generated calendar and RSS files as a whole remains CC0-licensed (and can thus be shared as freely and easily as possible). We cannot accept event contributions that aren't under CC0.
*If there is no such folder yet, create a new one and copy another year's index.njk in the newly created directory.
Adapt the year
property within index.njk
to match the new year.
Local Setup
Initial Setup
Install the necessary dependencies by running npm install
(this requires NodeJS and NPM
to be installed first, see https://nodejs.org).
To test your configuration, run npm run serve
and visit the URL printed to your terminal.
You should see a preview of your new site, filled with some example events.
Building the site
To build the site, run
npm run build
For a local, live-preview server, run
npm run serve
Advanced Customization
The underlying calendity template is fully customizable. You can find the layout templates used in the _include
directory, stylesheets in css
and the configuration script for the static site generator at .eleventy.js
.
Events have default properties set. You can inspect and modify the setting/derivation of those properties at
events/events.11tydata.js
.
It is highly recommended to take a look at the Eleventy documentation first, before customizing calendity.
Contributing
For technical issues, please have a look at the underlying calendity template's Issue Tracker.
Please note that pull requests are only accepted if they are in line with the licensing of the rest of the project (see below).
Copyright and Licensing
Codeberg Events is (C) 2022-2023 The Codeberg Events Contributors
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
For details, please refer to the LICENCE file.
As an exception, the raw events within the events
directory and the templates
calendar.ics.njk
and upcoming.rss.njk
are distributed under CC0.
Maintainer and Contact
Codeberg Events is currently unmaintained.
The repository of Codeberg Events can be found at https://codeberg.org/Codeberg/Events, the repository of the underlying calendity template can be found at https://codeberg.org/lhinderberger/calendity
You're welcome to file issues and pull requests there.