guida-fediverso/themes/starter/layout/miscellaneous.ejs

112 lines
6.4 KiB
Plaintext

---
layout: layout
---
<%
const apps = site.data.miscellaneous.apps;
%>
<%- partial('_partial/heroheader') %>
<article class="contents misc">
<h2>EXPLORE FEDIVERSE SOFTWARE</h2>
<h4>Sort by category:</h4>
<label class="option" for="snMacro">Social network (macro)</label><input id="snMacro" type="checkbox">
<label class="option" for="snMicro">Social network (micro)</label><input id="snMicro" type="checkbox">
<label class="option" for="blogPub">Blog &#38; Publishing</label><input id="blogPub" type="checkbox">
<label class="option" for="media">Media sharing</label><input id="media" type="checkbox">
<label class="option" for="links">Link sharing</label><input id="links" type="checkbox">
<label class="option" for="evMeet">Events &#38; meetups</label><input id="evMeet" type="checkbox">
<label class="option" for="files">File hosting</label> <input id="files" type="checkbox">
<label class="option" for="coop">Cooperatives</label><input id="coop" type="checkbox">
<label class="option" for="dev">Developer Tools</label><input id="dev" type="checkbox">
<label class="option" for="plugins">Plugins</label><input id="plugins" type="checkbox">
<label class="option" for="relays">Relays</label><input id="relays" type="checkbox">
<h4>Sort by protocol:</h4>
<label class="option" for="sortDiaspora">diaspora</label> <input id="sortDiaspora" type="checkbox">
<label class="option" for="sortZot">Zot</label> <input id="sortZot" type="checkbox">
<label class="option" for="sortAP">ActivityPub</label> <input id="sortAP" type="checkbox">
<label class="option" for="sortOstatus">OStatus</label> <input id="sortOstatus" type="checkbox">
<h4>Sort by code language:</h4>
<label class="option" for="all">All</label><input id="all" type="radio" name="radio">
<label class="option" for="python">Python</label><input id="python" type="radio" name="radio">
<label class="option" for="php">PHP</label><input id="php" type="radio" name="radio">
<label class="option" for="javascript">Javascript</label><input id="javascript" type="radio" name="radio">
<label class="option" for="rust">Rust</label><input id="rust" type="radio" name="radio">
<label class="option" for="go">Go</label><input id="go" type="radio" name="radio">
<label class="option" for="typescript">Typescript</label><input id="typescript" type="radio" name="radio">
<label class="option" for="elixir">Elixir</label><input id="elixir" type="radio" name="radio">
<label class="option" for="ruby">Ruby</label><input id="ruby" type="radio" name="radio">
<label class="option" for="crystal">Crystal</label><input id="crystal" type="radio" name="radio">
<label class="option" for="ocaml">OCaml</label><input id="ocaml" type="radio" name="radio">
<label class="option" for="java">Java</label><input id="java" type="radio" name="radio">
<label class="option" for="c3">C#</label><input id="c3" type="radio" name="radio">
<label class="option" for="c">C</label><input id="c" type="radio" name="radio">
<section class="grid misc__grid cards">
<% for (item in apps) { %>
<% let type = apps[item].categories %>
<% let lang = apps[item].codeLanguage.toLowerCase() %>
<% if (lang === "c#") {lang = "c3"} %>
<button class="card <%= lang %> <% if (apps[item].apClass) { %>ap<% } %> <% if (apps[item].zotClass) { %>zot<% } %> <% if (apps[item].diasporaClass) { %>dia<% } %> <% if (apps[item].OStatusClass) { %>os<% } %> <% for (t in type) { %><%=type[t]%><% } %>">
<div class="card__content">
<div class="card__title">
<% if (apps[item].logo) { %><img src="<%= apps[item].logo %>" alt="logo"><% } %>
<p class="title u-emphasize"><%= apps[item].title %></p>
</div>
<div class="card__body">
<% if (apps[item].site) { %>
<h4 class="card__subtitle">Website</h4>
<% let path = apps[item].site.split('://') %>
<p><a href="<%= apps[item].site %>"><%= path[1] %></a>
<svg role="img"><title>remote link</title><use xlink:href="#icon-link"></use></svg></p>
<% } %>
<h4 class="card__subtitle">Source code</h4>
<p><a href="<%= apps[item].source %>">repository</a> <svg role="img"><title>remote link</title><use xlink:href="#icon-link"></use></svg></p>
<% if (apps[item].servers) { %>
<h4 class="card__subtitle">Servers</h4>
<p><a href="<%= apps[item].servers %>">list</a> <svg role="img"><title>remote link</title><use xlink:href="#icon-link"></use></svg></p>
<% } %>
<% if (apps[item].FediAccount) { %>
<h4 class="card__subtitle">Contact</h4>
<p><a href="<%= apps[item].FediAccount %>">account</a> <svg role="img"><title>remote link</title><use xlink:href="#icon-link"></use></svg></p>
<% } %>
<span class="card__more u-emphasize">more info<i>▶</i</span>
</div>
<div class='card__extra'>
<% if (apps[item].codeLanguage) { %>
<h4 class="card__subtitle">Code language</h4>
<p><%= apps[item].codeLanguage %></p>
<% } %>
<% if (apps[item].techStack) { %>
<h4 class="card__subtitle">Tech stack</h4>
<p><%= apps[item].techStack %></p>
<% } %>
<h4 class="card__subtitle">Protocols</h4>
<p><%= apps[item].protocols %></p>
<% if (apps[item].description) { %>
<h4 class="card__subtitle">About</h4>
<p class="card__about">
<%- truncate( (apps[item].description), {length: 250, omission: '...'}) %>
</p>
<% } %>
</div>
</div>
</button>
<% } %>
</section>
<footer>
<p>Something's missing? <a class="dark-ui" href="https://git.feneas.org/feneas/fediverse/blob/master/CONTRIBUTING.md#submitting-software">Add</a> it.</p>
<p>Software no longer maintained, renamed, broken link? Please, <a class="dark-ui" href="https://git.feneas.org/feneas/fediverse/issues">let us know</a>.</p>
<p>Special thanks to <a class="dark-ui" href="https://mastodon.nzoss.nz/@strypey">@strypey</a> - for curating this <a class="dark-ui" href="https://git.feneas.org/feneas/fediverse/wikis/watchlist-for-activitypub-apps">list</a>.</p>
<p>Other sources: implementation report on <a class="dark-ui" href="https://activitypub.rocks/implementation-report">activitypub.rocks</a> website.</p>
</footer>
</article>