diff --git a/website/.gitignore b/website/.gitignore new file mode 100644 index 0000000..871ace1 --- /dev/null +++ b/website/.gitignore @@ -0,0 +1,4 @@ +public/ +bin/ +tmp +*~ diff --git a/website/Makefile b/website/Makefile new file mode 100644 index 0000000..b5052fd --- /dev/null +++ b/website/Makefile @@ -0,0 +1,2 @@ +defaut: + ./scripts/prep.sh diff --git a/website/config.toml b/website/config.toml new file mode 100644 index 0000000..2c21207 --- /dev/null +++ b/website/config.toml @@ -0,0 +1,17 @@ +# The URL the site will be built for +base_url = "http://gitea-open-letter.coding.social/" +# Whether to automatically compile all Sass files in the sass directory +compile_sass = true + +# Whether to build a search index to be used later on by a JavaScript library +build_search_index = true + +[markdown] +# Whether to do syntax highlighting +# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola +highlight_code = true + +[extra] +anpu_menu_links = [ + { url= "https://codeberg.org/SocialCoding/gitea-open-letter", name = "Sign this letter" } +] diff --git a/website/content/letter.md b/website/content/letter.md new file mode 100644 index 0000000..51c1526 --- /dev/null +++ b/website/content/letter.md @@ -0,0 +1,52 @@ ++++ +title = "Gitea Open Letter" ++++ +Dear Gitea Owners, + +In the name of the Gitea Community who elected you last year[^0], we welcome the creation of a for-profit company that allows you to make a living out of Gitea. + +But there has been some confusion as to the ownership of the Gitea domains and trademarks, which are essential parts of the project. As a Community, we trusted you to care for them because they are one of the most important assets any Free Software project has (if not the most important). + +We believed you when you promised to pass along the ownership of the Gitea project to your elected successors. This promise is part of an essential bond between you and the strong Community of volunteers, as well as all those who rely upon our collective efforts. + +With that in mind, **you can understand our surprise when we learned on October 25th, 2022[^1] that both the domains and the trademark were transferred to a for-profit company without our knowledge or approval.** + +**We want to believe this is an honest mistake and ask that:** + +* **A non-profit organisation owned by the Gitea community is created.** +* **The Gitea trademark and domains are transferred to the non-profit.** +* **The name of the company is changed to avoid any confusion with the non-profit.** + +These are steps that are needed to help restore the trust we, as Community, have bestowed in the Gitea project. A new non-profit organisation also gives us opportunities to improve and ensure a healthy future, for instance by: + +- Implementing an intuitive and fair election process. +- Describing the ways in which democratic decisions are to be made. +- Providing accessible places where all relevant information can be found. +- Establishing a [DoOcracy](https://communitywiki.org/wiki/DoOcracy) that works and continue to improve it. + +And explore even more ambitious ideas: it is for the whole Community to imagine the future of the organisation and make it a reality. + +### We await your response + +In summary, the announcement of the for-profit company was not well received and this reflects poorly on the entire Gitea Community. **We need to restore a positive image as quickly as possible: please provide us with your answer in the next few days** so we can move forward again. + +Your forever enthusiastic Gitea Community. + +
+ +\[0\]: [https://github.com/go-gitea/gitea/blob/main/CONTRIBUTING.md#owners](https://github.com/go-gitea/gitea/blob/main/CONTRIBUTING.md#owners) + +
+ +
+ +\[1\]: [https://blog.gitea.io/2022/10/open-source-sustainment-and-the-future-of-gitea/](https://blog.gitea.io/2022/10/open-source-sustainment-and-the-future-of-gitea/) + +
+ +--- + +Signatures: + +* Loïc Dachary +* Aravinth Manivannan diff --git a/website/sass/main.scss b/website/sass/main.scss new file mode 100644 index 0000000..7b9b002 --- /dev/null +++ b/website/sass/main.scss @@ -0,0 +1,468 @@ +/* Basic */ +@import url("https://fonts.googleapis.com/css?family=Montserrat&display=swap"); +html { + font-family: 400 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", + "Segoe UI Symbol", "Segoe UI Emoji", "Apple Color Emoji", Roboto, + Helvetica, Arial, sans-serif; + /* 1 */ + -ms-text-size-adjust: 100%; + /* 2 */ + -webkit-text-size-adjust: 100%; + /* 2 */ +} + +body { + margin: 0; + background: #ffffff; + color: #333; + font-size: 18px; + line-height: 1.5; + -webkit-font-smoothing: antialiased; +} + +//article::after { +// content: ""; +// background: url(/logo.png) no-repeat; +// opacity: 0.8; +// top: 200px; +// left: -50px; +// bottom: 0; +// right: 0; +// position: absolute; +// z-index: -1; +//} + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} + +.container { + max-width: 42em; + margin: 0 auto; +} + +main { + outline: none; +} + +/* Headers */ +h1 { + font-size: 1.35em; +} + +h2 { + font-size: 1.2em; +} + +h3 { + font-size: 1.1em; +} + +/* Links */ + +a { + color: #1d60a3; + text-decoration: none; +} + +a:active, +a:hover { + outline: 0; +} + +a:hover, +a:focus { + color: #a31d1d; + border-bottom: 1px solid rgba(163, 29, 29, 0.5); +} + +a:active { + color: #a31d1d; + opacity: 0.9; + border-bottom: 1px solid rgba(163, 29, 29, 0.5); +} + +a.active { + color: #a31d1d; +} + +a.skip-main { + left: -999px; + position: absolute; + top: auto; + width: 1px; + height: 1px; + overflow: hidden; + z-index: -999; +} + +a.skip-main:focus, +a.skip-main:active { + left: auto; + top: 0px; + width: auto; + height: auto; + overflow: auto; + z-index: 999; + padding: 4px 6px 4px 6px; + text-decoration: underline; + border: none; +} + +/* Table */ +.table-wrapper { + overflow-x: auto; +} + +table { + max-width: 100%; + border-spacing: 0; +} + +thead { + background: lightgrey; +} + +th, +td { + padding: 0.5em 1em; + border: 1px double lightgrey; +} + +/* Code */ +pre { + padding: 1em; + background-color: #f1f1f1; + max-width: 100%; + overflow: auto; +} + +code, +pre, +kbd { + font-family: monospace; + font-size: 0.9em; + line-height: 154%; +} + +/* Styles */ + +blockquote { + border-left: 2px solid #cccccc; + padding: 0.1em 1em; + margin-left: 0.75em; +} + +p { + margin-top: 0.5em; + margin-bottom: 0.5em; +} + +hr { + height: 1px; + border: 0; + border-top: 1px solid #cccccc; +} + +ul ol, +ol ol, +ul ul { + margin: 0em 2em; +} + +/* Header */ + +header { + display: flex; + justify-content: space-between; +} + +header h1 { + margin-top: auto; + margin-bottom: auto; + font-weight: bold; +} + +header h2 { + font-size: 1em; + margin: 0; + font-weight: normal; +} + +.nav__spacer { + flex: 2; +} + +header nav { + margin: auto; + max-width: 100%; + text-align: right; +} + +/* +header nav a { + margin-left: 2em; +} +*/ + +header a { + color: #333; +} + +.site-header { + white-space: nowrap; +} + +/* Pages */ +main h1 { + margin-top: 0.7em; + font-size: 2em; + font-weight: normal; + line-height: 1.1em; + margin-bottom: 0.5em; + font-weight: 600; +} + +.post-short-list:first-of-type { + margin-top: 1em; +} + +/* Articles */ + +article:not(:last-of-type) { + border-bottom: thin solid #f1f1f1; + padding-bottom: 2em; +} + +article header { + font-size: 1.35em; + line-height: 1.1em; + margin-bottom: 0.5em; + font-weight: 600; +} + +article header h1 a { + border: none; + text-decoration: none; + color: #333; +} + +.article-info { + font-size: 0.75em; + color: grey; + margin-top: 1em; +} + +.article-info a { + color: grey; +} + +.article-info a:hover { + color: #a31d1d; +} + +.post-short-list .article-info { + margin-top: 0; + margin-bottom: 1.5em; +} + +.article-taxonomies { + display: inline; +} + +.article-date { + white-space: nowrap; +} + +.article-categories { + display: inline; + list-style-type: none; + padding: 0; +} + +.article-categories li { + display: inline; + margin-right: 1em; +} + +.article-tags { + display: inline; + list-style-type: none; + padding: 0; + margin: 0; +} + +.article-tags li { + display: inline; + margin-right: 1em; +} + +article img { + max-width: 100%; + display: block; + height: auto; + margin: 0 auto 0.5em; +} + +.read-more { + font-size: 0.85em; +} + +.divider { + display: block; + height: 1px; + border: 0; + border-top: thin solid #f1f1f1; + width: 25%; + margin: 1em auto; +} + +.post-summary { + margin-top: 0.5em; + display: block; +} + +.post-summary > p { + display: block; +} + +/* Other pages */ +.terms { + list-style-type: none; + padding: 0; + line-height: 2em; +} + +/* Pagination */ + +.pagination { + display: flex; + justify-content: space-between; + margin-top: 3em; +} + +.pagination { + text-align: center; +} + +.pagination-item { + background: #fafafa; + padding: 0.75em 0.75em; +} + +.disabled { + visibility: hidden; +} + +.pagination-item a { + color: #333333; +} + +.pagination-item a:hover, +.pagination-item a:focus { + color: #a31d1d; + border-bottom: 0; +} + +/* Footer */ + +footer { + border-top: thin solid #f1f1f1; + margin-top: 3em; + font-size: 16px; +} + +ul.language-select { + padding-left: 0; + list-style: none; + display: flex; +} + +ul.language-select > li { + margin-right: 1em; +} + +.header-img { + margin-top: 20px !important; +} + +/* Media Queries */ + +@media (max-width: 840px) { + .main-wrapper { + margin: 0; + max-width: none; + overflow-x: hidden; + padding-left: 25px; + padding-right: 25px; + } + + .header-img { + margin: 10px auto !important; + width: 200px; + height: 150px; + } + + .container { + max-width: 90%; + margin: 0 auto; + } + + .pagination-item { + padding: 0.5em 0.5em; + font-size: 14px; + } + + header { + display: block; + } + + .site-header { + text-align: center; + } + + header nav { + max-width: 100%; + text-align: center; + background: #fafafa; + padding: 0.5em 0; + flex-direction: column; + } + + header h1 { + margin: auto; + text-align: center; + } + + header nav a:first-of-type { + margin-left: 0; + } + + header nav a { + margin-left: 5%; + } + + article::after { + background: none; + } + + main h1 { + margin: auto; + } + + .nav__spacer { + display: none; + } +} diff --git a/website/scripts/prep.sh b/website/scripts/prep.sh new file mode 100755 index 0000000..3a61330 --- /dev/null +++ b/website/scripts/prep.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +readonly file="content/letter.md" + +rm -rf $file || true + +touch $file +echo "+++" > $file +echo 'title = "Gitea Open Letter"' >> $file +echo "+++" >> $file +cat ../README.md | tail -n +5 >> $file diff --git a/website/static/logo.png b/website/static/logo.png new file mode 100644 index 0000000..8134a99 Binary files /dev/null and b/website/static/logo.png differ diff --git a/website/templates/404.html b/website/templates/404.html new file mode 100644 index 0000000..2df1ef2 --- /dev/null +++ b/website/templates/404.html @@ -0,0 +1,12 @@ +{% extends "index.html" %} + +{% block content %} +
+
+

404: Page not found

+
+
+ Sorry, this page doesn't seem to exist. +
+
+{% endblock content %} \ No newline at end of file diff --git a/website/templates/index.html b/website/templates/index.html new file mode 100644 index 0000000..2f618f5 --- /dev/null +++ b/website/templates/index.html @@ -0,0 +1,103 @@ +{% set title = "Open Letter to Gitea" %} + +{% set description = "The Gitea Community is asking Gitea Owners to correct conflicts of interest and restore Community Trust." %} +{% set headline = "Restoring Trust in the Gitea Project" %} + + + + + + + + + + + {% block title %}{{ title }} - {{ headline }} {% endblock title %} + + + + + + + + + {{ title }} + + + + + + + + + + + + + + + + + + + + +
+
+

{{ title }}

+ + +
+
+ {% block content %} + {% for page in section.pages %} +
+ Gitea Open Letter logo +
+ {{ page.content | safe }} +
+
+ {% endfor %} + {% endblock content %} + + +
+
+ + +