Skip to content

Commit 2fb8075

Browse files
committed
Add Article Curation
1 parent 8f88813 commit 2fb8075

File tree

6 files changed

+109
-1
lines changed

6 files changed

+109
-1
lines changed

docs/_articles/2024-12-17-epmd.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
publication_url: "https://erlef.org/blog/security/epmd-public-exposure"
3+
title: "Exposed EPMD: A Hidden Security Risk for RabbitMQ and the BEAM Ecosystem"
4+
publisher: "Erlang Ecosystem Foundation"
5+
publication_date: "2024-12-17"
6+
---
7+
8+
EPMD, essential for Erlang and RabbitMQ clustering, is often exposed online—posing hidden security risks and requiring quick mitigation steps.

docs/_articles/2025-05-13-cna.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
publication_url: "https://erlef.org/blog/eef/eef-cna-announcement"
3+
title: "Erlang Ecosystem Foundation Becomes CVE Numbering Authority (CNA) for the Hex and BEAM Ecosystem"
4+
publisher: "Erlang Ecosystem Foundation"
5+
publication_date: "2025-05-13"
6+
---
7+
8+
The [Erlang Ecosystem Foundation CNA](https://cna.erlef.org/) has officially
9+
joined the [CVE® Program](https://www.cve.org/) as an authorized
10+
CVE Numbering Authority (CNA). This designation allows us to assign CVE IDs and
11+
publish CVE Records for publicly disclosed cybersecurity vulnerabilities within
12+
our defined scope, helping to improve security and transparency in the broader
13+
open-source community.

docs/_config.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,7 @@ defaults:
1010
values:
1111
layout: "milestone"
1212
is_aegis_milestone: true
13+
collections:
14+
articles:
15+
output: false
16+
sort_by: date

docs/_includes/article-teaser.html

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
<section class="article-teaser mb-4" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
2+
<meta itemprop="position" content="{{ forloop.index }}" />
3+
4+
<article class="card shadow-sm h-100" itemscope itemtype="https://schema.org/Article">
5+
<div class="card-body d-flex flex-column">
6+
<header class="mb-3">
7+
<h2 class="h5 card-title mb-1" itemprop="headline">
8+
<a class="stretched-link text-decoration-none" href="{{ article.publication_url }}"
9+
title="{{ article.title | escape }}" itemprop="mainEntityOfPage url" rel="bookmark noopener">
10+
{{ article.title }}
11+
</a>
12+
</h2>
13+
14+
<div class="text-muted small">
15+
by
16+
<span itemprop="publisher" itemscope itemtype="https://schema.org/Organization">
17+
<span itemprop="name">{{ article.publisher }}</span>
18+
</span>
19+
<span aria-hidden="true">·</span>
20+
<time class="text-nowrap" datetime="{{ article.publication_date | date_to_xmlschema }}"
21+
itemprop="datePublished">
22+
{{ article.publication_date | date: "%-d %B %Y" }}
23+
</time>
24+
{% if article.last_modified_at %}
25+
<meta itemprop="dateModified" content="{{ article.last_modified_at | date_to_xmlschema }}">
26+
{% else %}
27+
<meta itemprop="dateModified" content="{{ article.publication_date | date_to_xmlschema }}">
28+
{% endif %}
29+
</div>
30+
</header>
31+
32+
<!-- Optional teaser/excerpt -->
33+
<div class="card-text mb-3" itemprop="description">
34+
{{ article.excerpt | default: article }}
35+
</div>
36+
37+
<footer class="mt-auto pt-2">
38+
<a class="btn btn-outline-primary btn-sm" href="{{ article.publication_url }}"
39+
title="{{ article.title | escape }}" rel="noopener" itemprop="url">
40+
Read more
41+
</a>
42+
</footer>
43+
</div>
44+
</article>
45+
</section>

docs/articles.html

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
layout: page
3+
title: Articles
4+
description: Latest articles curated from various publishers.
5+
---
6+
7+
<!-- Page container -->
8+
<div class="container my-5" itemscope itemtype="https://schema.org/CollectionPage">
9+
<!-- ItemList structured data wrapper -->
10+
{% assign total_articles = site.articles | size %}
11+
<main class="row" itemprop="mainEntity" itemscope itemtype="https://schema.org/ItemList">
12+
<meta itemprop="numberOfItems" content="{{ total_articles }}">
13+
<meta itemprop="itemListOrder" content="https://schema.org/ItemListOrderAscending">
14+
15+
{% for article in site.articles limit:5 %}
16+
<div class="col-12 col-md-6 col-lg-4 d-flex mb-4">
17+
{% include article-teaser.html article=article forloop=forloop %}
18+
</div>
19+
{% endfor %}
20+
</main>
21+
</div>

docs/index.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,21 @@ We welcome feedback and suggestions, especially to public drafts: please open an
2222
## Initiatives
2323

2424
* [Ægis Supply Chain Security & Compliance Initiative](aegis)
25-
* [Erlang Ecosystem Foundation CNA](https://cna.erlef.org)
25+
* [Erlang Ecosystem Foundation CNA](https://cna.erlef.org)
26+
27+
<section aria-labelledby="latest-articles">
28+
<header class="d-flex justify-content-between align-items-center mb-4">
29+
<h2 id="latest-articles" class="mb-0">Latest Articles</h2>
30+
<a href="{{ '/articles/' | relative_url }}" class="btn btn-link">View all</a>
31+
</header>
32+
33+
<div class="container">
34+
<div class="row">
35+
{% for article in site.articles limit:3 %}
36+
<div class="col-12 col-md-6 col-lg-4 d-flex">
37+
{% include article-teaser.html article=article forloop=forloop %}
38+
</div>
39+
{% endfor %}
40+
</div>
41+
</div>
42+
</section>

0 commit comments

Comments
 (0)