This commit is contained in:
Arya 2023-09-02 16:50:04 +05:30
commit 6b45496d23
Signed by: arya
GPG Key ID: 842D12BDA50DF120
8 changed files with 365 additions and 0 deletions

21
.github/workflows/jobs.yml vendored Normal file
View File

@ -0,0 +1,21 @@
name: planet
on:
push:
branches:
- "master"
schedule:
- cron: '0 0 * * *'
jobs:
deploy:
runs-on: ubuntu-latest
container: registry.gitlab.com/fsci/blog.fsci.org.in/planet:latest
name: Deploy
steps:
- name: Run planet
run: |
planet config.ini
- name: Archive production artifacts
uses: actions/upload-artifact@v3
with:
name: planet
path: public

18
LICENSE Normal file
View File

@ -0,0 +1,18 @@
# Note: The theme related files stored in `theme` directory has their own
# copyright and license mentioned in `theme/LICENSE` file.
# The copyright and license below applies to the other files in this repo.
Copyright (c) 2018-2021 Free Software Community of India
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.

87
README.md Normal file
View File

@ -0,0 +1,87 @@
# Planet FSCI
Planet URL - http://planet.fsci.in/ <br>
Planet feed URL - https://planet.fsci.in/atom.xml <br>
_Planet refreshes at about 9.35 am everyday._
Feel free to send merge requests for updates/additions. _We appreciate if the feed is full-text and not post summary. People who use feed reader would greatly appreciate getting the full text and not have to fire up a browser just to read a single post :)_
**Please mention the MR in FSCI matrix or xmpp channel, so that we don't miss it :)**
### Steps to add blog
- Fork the repository.
- Add your feed URL and name in `config.ini` file.
- Make a merge request here.
We appreciate if the feed is full text and not a summary. Planet readers have better experience that way :)
### Steps for making/testing styling changes
- Switch to Pipelines section under CI/CD in sidebar OR simply click [here](https://gitlab.com/fsci/blog.fsci.org.in/-/pipelines).
- In column next to Duration, click on Download icon for downloading the Artifacts.
- Unzip it and switch to `/public` directory.
- Make changes in `index.html`. CSS is embedded inside `<head>` tag in `<style>`. Open this (local) copy in browser to view your modifications.
- Cherry-pick your changes and add them to your fork in `index.html.tmp` file under `theme` directory.
- (optional) If you want to confirm if CI/CD pipeline passes, push the code and visit `<username>.gitlab.io/blog.fsci.org.in` to see live results.
- Send a merge request and don't forget to squash the commits.
### Steps for making/testing structural changes
- Make modifications in `index.html.tmp` file under `theme` directory.
- To preview the changes, push the code (in your fork) and let CI/CD pipeline build. See the preview at `<username>.gitlab.io/blog.fsci.org.in`.
- Send a merge request after testing everything and don't forget to squash the commits.
### Steps to add new free software related planets in [Other Planets list](/README.md#other-planets-in-alphabetical-order) below
- Find the planet website, rss feed url (if available) and atom feed url (if available).
- Edit [README](https://gitlab.com/fsci/blog.fsci.org.in/-/blob/master/README.md) file. Add planet in alphabetical order. Follow `Name - website, rss, atom.` format.
### Why does repository name and git/repository URL differ
Initially the planet was served under blog.fsci.org.in which was later changed to planet.fsci.in. As the planet makes use of a container registry, it doesn't allow the change in initial path/URL to planet.fsci.in.
Here's the error message shown:
```
Cannot rename project because it contains container registry tags!
```
### Other Planets (in alphabetical order)
- Arch - [website](https://archlinux.org/planet/), [rss](https://archlinux.org/feeds/planet/).
- Bugzilla - [website](https://planet.bugzilla.org/), [rss](https://planet.bugzilla.org/rss20.xml), [atom](https://planet.bugzilla.org/atom.xml).
- Clojure - [website](http://planet.clojure.in/), [rss](http://www.planeterlang.com/atom.xml).
- Debian - [website](https://planet.debian.org/), [rss](https://planet.debian.org/rss20.xml), [atom](https://planet.debian.org/atom.xml).
- Debian Derivatives - [website](https://planet.debian.org/deriv/), [rss](https://planet.debian.org/deriv/rss20.xml), [atom](https://planet.debian.org/deriv/atom.xml).
- dgplug - [website](http://planet.dgplug.org/), [atom](http://planet.dgplug.org/atom.xml).
- Django - [website](https://www.djangoproject.com/community/blogs/), [rss](https://www.djangoproject.com/rss/community/blogs/).
- Drupal - [website](https://www.drupal.org/planet), [rss](https://www.drupal.org/planet/rss.xml).
- Erlang - [website](http://www.planeterlang.com/), [rss](http://www.planeterlang.com/atom.xml).
- Fedora - [website](http://fedoraplanet.org/), [rss](http://fedoraplanet.org//rss20.xml), [atom](http://fedoraplanet.org//atom.xml).
- freedesktop.org - [website](https://planet.freedesktop.org/), [rss](https://planet.freedesktop.org/rss20.xml), [atom](https://planet.freedesktop.org/atom.xml).
- FSF Europe - [website](https://planet.fsfe.org/), [rss](https://planet.fsfe.org/en/rss20.xml), [atom](https://planet.fsfe.org/en/atom.xml).
- Gentoo - [website](https://planet.gentoo.org/), [rss](https://planet.gentoo.org/rss20.xml), [atom](https://planet.gentoo.org/atom.xml).
- GNOME - [website](https://planet.gnome.org/), [rss](https://planet.gnome.org/rss20.xml), [atom](https://planet.gnome.org/atom.xml).
- GNU - [website](https://planet.gnu.org/), [rss](https://planet.gnu.org/rss20.xml), [atom](https://planet.gnu.org/atom.xml).
- Haskell - [website](https://planet.haskell.org/), [rss](https://planet.haskell.org/rss20.xml), [atom](https://planet.haskell.org/atom.xml).
- Julia - [website](https://www.juliabloggers.com/), [rss](https://www.juliabloggers.com/feed/).
- KDE - [website](https://planet.kde.org/), [rss](https://planet.kde.org/index.xml), [atom](https://planet.kde.org/atom.xml).
- Linux Kernel - [website](https://planet.kernel.org/), [rss](https://planet.kernel.org/rss20.xml)
- Lisp - [website](https://planet.lisp.org/), [rss](https://planet.lisp.org/rss20.xml).
- Mageia - [website](https://planet.mageia.org/en/), [atom](https://planet.mageia.org/en/atom.php).
- MariaDB - [website](https://mariadb.org/planet/), [rss](https://mariadb.org/planet-rss), [atom](https://mariadb.org/planet-atom).
- Mozilla - [website](https://planet.mozilla.org/), [rss](https://planet.mozilla.org/rss20.xml), [atom](https://planet.mozilla.org/atom.xml).
- MySQL - [website](https://planet.mysql.com/), [rss](https://planet.mysql.com/rss20.xml).
- NixOS - [website](https://planet.nixos.org/), [atom](https://planet.nixos.org/atom.xml).
- openSUSE (en) - [website](https://planet.opensuse.org/en/), [rss](https://planet.opensuse.org/global/rss20.xml) (global).
- Perl - [website](http://blogs.perl.org/), [atom](http://blogs.perl.org/atom.xml).
- PostgreSQL - [website](https://planet.postgresql.org/), [rss](https://planet.postgresql.org/rss20.xml), [rss - summary](https://planet.postgresql.org/rss20_short.xml).
- Python - [website](https://www.planetpython.org/), [rss](https://www.planetpython.org/rss20.xml).
- Scheme - [website](https://planet.scheme.org/), [atom](https://planet.scheme.org/atom.xml).
- The Document Foundation - [website](https://planet.documentfoundation.org/), [atom](https://planet.documentfoundation.org/atom.xml).
- Ubuntu - [website](https://planet.ubuntu.com/), [rss](http://planet.ubuntu.com/rss20.xml).
- Virt Tools (QEMU, KVM, etc) - [website](https://planet.virt-tools.org/), [rss](https://planet.virt-tools.org/rss20.xml), [atom](https://planet.virt-tools.org/atom.xml).
- Wordpres - [website](https://planet.wordpress.org/), [rss](https://planet.wordpress.org/feed/).
### License
The setup is licensed [GPL 3+](https://gitlab.com/fsci/blog.fsci.org.in/-/blob/master/LICENSE). The theme related files stored in `theme` directory has their own [license file](https://gitlab.com/fsci/blog.fsci.org.in/-/blob/master/theme/LICENCE).

56
config.ini Normal file
View File

@ -0,0 +1,56 @@
[Planet]
name = Planet Segfault
link = https://planet.projectsegfau.lt/
owner_name = Project Segfault
owner_email = contact@projectsegfau.lt
output_theme = theme
cache_directory = cache
output_dir = public
feed_timeout = 20
items_per_page = 30
log_level = DEBUG
[https://balasankarc.in/tech/feed.xml]
name = Balasankar C
[https://blog.sahilister.in/index.xml]
name = Sahil Dhiman
[https://fsci.in/blog/index.xml]
name = FSCI
[https://manav.co.in/tag/free-software/rss/]
name = insaanimanav
[https://abrahamraji.in/index.xml]
name = Abraham Raji
[https://fsf.org.in/feed.atom]
name = FSF India
[https://dhanesh.sabane.in/feed.xml]
name = Dhanesh Sabane
[https://raghukamath.com/tag/free-software/feed/]
name = Raghavendra Kamath
[https://arunmathaisk.in/index.xml]
name = Arun Mathai
[https://abhijithpa.me/feed.xml]
name = Abhijith PA
[https://blog.aktsbot.in/rss_content.xml]
name = aktsbot
[https://vinay-keshava.gitlab.io/index.xml]
name = Vinay Keshava
[https://abhinavkrishna.in/posts/index.xml]
name = Abhinav Krishna C K
[https://imhemish.github.io/tags/opensource/atom.xml]
name = Hemish
[https://kskarthik.gitlab.io/logs/index.xml]
name = Karthik

18
theme/LICENCE Normal file
View File

@ -0,0 +1,18 @@
Copyright (c) 2007-2008 Mark Pilgrim
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

BIN
theme/atom-24x24.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

5
theme/config.ini Normal file
View File

@ -0,0 +1,5 @@
[Planet]
template_files: atom.xml.xslt index.html.tmpl
template_directories: /usr/share/planet-venus/theme/common

160
theme/index.html.tmpl Normal file
View File

@ -0,0 +1,160 @@
<!DOCTYPE HTML>
<html lang=en>
<head>
<meta charset=utf-8>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
<TMPL_VAR name>
</title>
<link rel=alternate type=application/atom+xml href=/atom.xml title=Feed>
<style type=text/css media=screen>
html{
background:#FFF
}
html, a{
color:#333333
}
@media screen and (max-width: 800px) /* Mobile */{
body {
font:normal medium 'Gill Sans', Optima, Verdana, sans-serif;
margin:40px auto 1em auto;
width:85%;
line-height:180%
}
}
@media screen and (min-width: 801px) /* Desktop */ {
body {
font:normal medium 'Gill Sans', Optima, Verdana, sans-serif;
margin:40px auto 1em auto;
width:55%;
line-height:180%
}
}
img{
border:0;
max-width:100%;
height:auto;
display: block;
margin-left: auto;
margin-right: auto;
}
video{
max-width:100%;
}
figcaption{
font-style: italic;
font-size: smaller;
text-align: center;
}
ul{
list-style:none;margin-left:0;
padding-left:0
}
li{
clear:both
}
#footer{
clear:both;
text-align:center;
font-size:small
}
.horizontal, .simple li{
margin:0;
padding:0;
list-style:none;
display:inline
}
.simple li:before{
content:"+ "
}
.simple > li:first-child:before{
content:""
}
.author{
text-decoration:none;
display:block;
float:right;
margin-left:2em;
font-size:small
}
.content{
margin:1em 20px
}
pre {
Background:#eeeef4;
display: block;
border:1px;
padding: 8px;
border-radius:4px;
overflow:auto;
max-width:100%;
}
.logo {
display: inline-block;
}
.additional-info a {
color: blue;
font-size: medium;
}
</style>
</head>
<body>
<h1>
<TMPL_VAR name>
</h1>
<ul>
<TMPL_LOOP Items>
<TMPL_IF new_date>
</ul>
<h2 class=date>
<TMPL_VAR new_date>
</h2>
<ul> </TMPL_IF>
<li<TMPL_IF channel_language> lang="<TMPL_VAR channel_language>"</TMPL_IF>>
<h3>
<a class=author href="<TMPL_VAR channel_link ESCAPE="HTML">" title="<TMPL_VAR channel_title_plain ESCAPE="HTML">">
<TMPL_VAR channel_name ESCAPE="HTML">
</a>
<TMPL_IF title>
<a<TMPL_IF link> href="<TMPL_VAR link ESCAPE="HTML">"</TMPL_IF><TMPL_IF title_language> lang="<TMPL_VAR title_language>"</TMPL_IF>>
<TMPL_VAR title>
</a>
</TMPL_IF>
</h3>
<TMPL_IF content>
<div class="content">
<TMPL_VAR content>
</div>
</TMPL_IF>
</li> <hr>
</TMPL_LOOP>
</ul>
<hr>
<div id=footer>
<p>via these fine people and organizations:</p>
<ul class="simple horizontal">
<TMPL_LOOP Channels>
<li>
<a href="<TMPL_VAR link ESCAPE="HTML">" title="<TMPL_VAR title ESCAPE="HTML">">
<TMPL_VAR name>
</a>
</li>
</TMPL_LOOP>
<ul>
<br>
<div class="additional-info">
<!-- the webfeed image is linked to atom feed link -->
<a href="https://planet.fsci.in/atom.xml">
<img src="https://gitlab.com/fsci/blog.fsci.org.in/-/raw/master/theme/atom-24x24.png" alt="webfeed logo" class="logo"></img>
</a>
<a href="https://planet.fsci.in/atom.xml">Atom Feed</a> |
<a href="https://gitlab.com/fsci/blog.fsci.org.in#steps-to-add-blog">Add your blog</a>
</div>
</div>
</body>
</html>