roundabout,
created on Saturday, 20 April 2024, 13:40:07 (1713620407),
received on Monday, 29 April 2024, 06:47:46 (1714373266)
Author identity: vlad <vlad.muntoiu@gmail.com>
1e6dc2548f0111d9b87481f650bcb1d1e51b7783
.idea/workspace.xml
@@ -4,12 +4,11 @@
<option name="autoReloadType" value="SELECTIVE" /> </component> <component name="ChangeListManager"> <list default="true" id="b2c629ea-d173-4caf-b306-cbeaee617270" name="Changes" comment="Update ampoule docs"><change afterPath="$PROJECT_DIR$/static/fonts/SOURCE CODE.md" afterDir="false" /><change afterPath="$PROJECT_DIR$/static/fonts/SourceCodeVF-Italic.otf.woff2" afterDir="false" /><change afterPath="$PROJECT_DIR$/static/fonts/SourceCodeVF-Upright.otf.woff2" afterDir="false" /><list default="true" id="b2c629ea-d173-4caf-b306-cbeaee617270" name="Changes" comment="More"> <change afterPath="$PROJECT_DIR$/projects/roundabout.md" afterDir="false" /><change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/static/style.css" beforeDir="false" afterPath="$PROJECT_DIR$/static/style.css" afterDir="false" /><change beforePath="$PROJECT_DIR$/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/main.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/templates/projects.html" beforeDir="false" afterPath="$PROJECT_DIR$/templates/projects.html" afterDir="false" /></list> <option name="SHOW_DIALOG" value="false" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -158,7 +157,15 @@
<option name="project" value="LOCAL" /> <updated>1713616922277</updated> </task> <option name="localTasksCounter" value="10" /><task id="LOCAL-00010" summary="More"> <option name="closed" value="true" /> <created>1713617816187</created> <option name="number" value="00010" /> <option name="presentableId" value="LOCAL-00010" /> <option name="project" value="LOCAL" /> <updated>1713617816187</updated> </task> <option name="localTasksCounter" value="11" /><servers /> </component> <component name="Vcs.Log.Tabs.Properties">
@@ -182,6 +189,7 @@
<MESSAGE value="Update article" /> <MESSAGE value="Add ampoule docs" /> <MESSAGE value="Update ampoule docs" /> <option name="LAST_COMMIT_MESSAGE" value="Update ampoule docs" /><MESSAGE value="More" /> <option name="LAST_COMMIT_MESSAGE" value="More" /></component> </project>
main.py
@@ -7,6 +7,8 @@ from ampoule_ssg import markdown
from ampoule_ssg import extra_jinja site = ampoule.Site("my_site") extra_jinja.init_filters(site) extra_jinja.init_tests(site)@site.filter("markdown")
projects/roundabout.md
@@ -0,0 +1,54 @@
--- title: The roundabout --- The roundabout is a **git repository hosting** server software. It is designed to be a complete alternative to GitHub, GitLab, BitBucket, Gogs/Gitea/Forgejo, and other similar services. It is still in development and not yet ready for production use. As of version 0.2.0 development stage, it supports: * User registration * Repository creation * User access control * Smart Git over HTTP(S) protocol * Web interface for repository browsing * User profiles and social features * Forum for repositories, useful for issue tracking * Notifications, including email notifications * Pull requests * Favourite repositories (subscriptions) * Commit views and diffs * Themeing For now, it doesn't support, but certainly will before the 1.0.0 release: * Code review features (like comments on commits, for now you'll use the forum), something like Google Docs comments is planned * Static site hosting * CI/CD * Wiki * API * Native clients * Git over SSH or other protocols * Repository metadata * Decentralization * Packaging * Code syntax highlighting * Any kind of search * Any kind of statistics * Web-based code editing * Any kind of integration with other services * Users changing passwords * Admin panel The roundabout is written in flask, a Python web framework. It uses SQLAlchemy for database management. For light UI interactivity it uses htmx. The official instance of the roundabout, roundabout-host, is hosted at [roundabout-host.com](https://roundabout-host.com). Anyone can register and create repositories there. However, we ask that you do not rely on it and always keep your repos locally as well. In the future it may require payment for some features, but **the program it runs will always be free**. Payment will not be required to lift artificial limitations, but to support server-intensive features like CI/CD. The roundabout program is licensed under the AGPL licence, version 3.0 or, at your option, any later version.
templates/projects.html
@@ -6,7 +6,7 @@
{% for article in projects %} <article class="content-area"> <h2><a href="/projects/{{ article.file_name }}" class="article-title">{{ article["title"] }}</a></h2> <p>{{ article.content | markdown }}</p><p>{{ article.content | first_paragraph | markdown }}</p></article> {% endfor %} {% endblock %}