Skip to content

Commit

Permalink
Add a Community XML feed (whatyouhide#4)
Browse files Browse the repository at this point in the history
  • Loading branch information
whatyouhide authored Sep 3, 2020
1 parent 1b6c80e commit 6841fbf
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 0 deletions.
5 changes: 5 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ avatar_url: https://www.gravatar.com/avatar/faafc04d9e69b73b9f49995fd4c94d4d?s=5
url: https://andrealeopardi.com
baseurl: ""

# Owner information.
owner:
name: Andrea Leopardi
email: [email protected]

## Build configuration.

markdown: kramdown
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ tags:
- elixir
- ci
- tooling
- community
---

The system that we're building at [Community.com][community-website] is made of a few services (around fifteen at the time of writing) that interact with each other through a basic version of event sourcing. All events are exchanged (published and consumed) through RabbitMQ and are serialized with [Protobuf][protobuf]. With several services already and many more coming in the future, managing the Protobuf schemas becomes a painful part of evolving and maintaining the system. Do we copy the schemas in all services? Do we keep them somewhere and use something akin to Git submodules to keep them in sync in all of our projects? What do we do?! In this post, I'll go through the tooling that we came up with in order to sanely manage our Protobuf schemas throughout our services and technology stack.
Expand Down
37 changes: 37 additions & 0 deletions tags/community/feed.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
layout: null
---
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
<title type="text">{{ site.name | xml_escape }} - Community</title>
<generator uri="https://github.com/mojombo/jekyll">Jekyll</generator>
<link rel="self" type="application/rss+xml" href="{{ site.url }}/feed.xml" />
<link rel="alternate" type="text/html" href="{{ site.url }}" />
<updated>{{ site.time | date_to_xmlschema }}</updated>
<id>{{ site.url }}/</id>
<author>
<name>{{ site.owner.name }}</name>
<uri>{{ site.url }}/</uri>
<email>{{ site.owner.email }}</email>
</author>
{% for post in site.posts %}
{% if post.tags contains 'community' %}
<entry>
<title type="html"><![CDATA[{{ post.title | cdata_escape }}]]></title>
<link rel="alternate" type="text/html" href="{{ site.url }}{{ post.url }}" />
<id>{{ site.url }}{{ post.id }}</id>
{% if post.modified %}<updated>{{ post.modified | to_xmlschema }}T00:00:00-00:00</updated>
<published>{{ post.date | date_to_xmlschema }}</published>
{% else %}<published>{{ post.date | date_to_xmlschema }}</published>
<updated>{{ post.date | date_to_xmlschema }}</updated>{% endif %}
<author>
<name>{{ site.owner.name }}</name>
<uri>{{ site.url }}</uri>
<email>{{ site.owner.email }}</email>
</author>
<content type="html">{{ post.content | xml_escape }}
&lt;p&gt;&lt;a href=&quot;{{ site.url }}{{ post.url }}&quot;&gt;{{ post.title }}&lt;/a&gt; was originally published by {{ site.owner.name }} at &lt;a href=&quot;{{ site.url }}&quot;&gt;{{ site.title }}&lt;/a&gt; on {{ post.date | date: "%B %d, %Y" }}.&lt;/p&gt;</content>
</entry>
{% endif %}
{% endfor %}
</feed>

0 comments on commit 6841fbf

Please sign in to comment.