gitea2rss/man/gitea2rss.1.adoc

106 lines
3.6 KiB
Plaintext

= gitea2rss(1)
:doctype: manpage
:Author: tastytea
:Email: tastytea@tastytea.de
:Date: 2021-04-25
:Revision: 0.0.0
:man source: gitea2rss
:man version: {revision}
:man manual: General Commands Manual
== NAME
gitea2rss - Generates RSS feeds from Gitea releases or tags.
== SYNOPSIS
*gitea2rss* _URL of Gitea project_ [_releases_|_tags_|_commits_]
== DESCRIPTION
gitea2rss fetches the releases (default) or tags from the Gitea API,
converts the data into an RSS feed and dumps it to stdout. You can use it as a
CGI script to generate the feeds dynamically or simply use cron to generate the
feeds at fixed intervals.
If you want to use gitea2rss as a CGI script, you have to set
*GITEA2RSS_BASEURL* to the basis URL of your instance, without the trailing
slash. For example: _https://git.example.com_. The *QUERY_STRING* must contain
_repo=user/project_. The feed-URL for alice's project, cooltool, would be:
_https://rss.example.com/?repo=alice/cooltool_. You can select the type of the
feed by appending `&type=` at the end of the URL. For example:
_https://rss.example.com/?repo=alice/cooltool&type=tags_.
The generated RSS feed contains the *channel* elements _title_, _link_,
_description_, _generator_ and _lastBuildDate_ and the *item* elements _title_,
_link_, _guid_, _pubDate_ and _description_.
== GITEA INTEGRATION
You can let Gitea automatically insert links to your RSS feeds by editing
`${GITEA_CUSTOM}/templates/custom/header.tmpl` and putting something like
this in it:
[source,html]
----
{{if .Repository.Name}}
<link rel="alternate" type="application/rss+xml"
title="Releases of {{.Repository.Name}}"
href="https://rss.example.com/?repo={{.Repository.Owner.Name}}/{{.Repository.Name}}"/>
<link rel="alternate" type="application/rss+xml"
title="Tags of {{.Repository.Name}}"
href="https://rss.example.com/?repo={{.Repository.Owner.Name}}/{{.Repository.Name}}&amp;type=tags"/>
<link rel="alternate" type="application/rss+xml"
title="Commits of {{.Repository.Name}}"
href="https://rss.example.com/?repo={{.Repository.Owner.Name}}/{{.Repository.Name}}&amp;type=commits"/>
{{end}}
----
== PROXY SERVERS
Since *gitea2rss* is built on libcurl, it respects the same proxy environment
variables. See *curl*(1), section _ENVIRONMENT_.
== EXAMPLES
`gitea2rss https://git.example.com/user/project tags > repo.rss`
`ALL_PROXY="socks4a://[::1]:9050" gitea2rss https://git.example.com/user/project`
=== Example RSS feed
[source,xml]
----
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<atom:link href="https://rss.schlomp.space/?repo=tastytea/gitea2rss" rel="self" type="application/rss+xml"/>
<title>gitea2rss releases</title>
<link>https://schlomp.space/tastytea/gitea2rss</link>
<description>List of releases of tastytea/gitea2rss</description>
<generator>gitea2rss 0.4.4</generator>
<lastBuildDate>Mon, 22 Apr 2019 11:46:53 +0000</lastBuildDate>
<item>
<title>gitea2rss: 0.1.0</title>
<link>https://schlomp.space/tastytea/gitea2rss/releases</link>
<guid isPermaLink="false">schlomp.space release 169</guid>
<pubDate>Wed, 17 Apr 2019 04:37:10 +0000</pubDate>
<description>
<![CDATA[<p><strong>Stable</strong></p>
<pre>First release. Everything works, as far as I can tell.</pre>
<p><a href="https://schlomp.space/tastytea/gitea2rss/archive/0.1.0.tar.gz">Download tarball</a></p>]]>
</description>
</item>
</channel>
</rss>
----
== SEE ALSO
*crontab*(1), *crontab*(5), *curl*(1)
== REPORTING BUGS
Bugtracker: https://schlomp.space/tastytea/gitea2rss/issues
E-mail: tastytea@tastytea.de