aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--index-005.html126
-rw-r--r--main_style-005.css495
2 files changed, 621 insertions, 0 deletions
diff --git a/index-005.html b/index-005.html
new file mode 100644
index 0000000..0f5b675
--- /dev/null
+++ b/index-005.html
@@ -0,0 +1,126 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+ <meta charset="UTF-8">
+ <title>DREAM enables Group P2P Collaboration</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover">
+ <link rel="stylesheet" type="text/css" href="main_style-005.css">
+ <link rel="icon" type="image/svg+xml" href="favicon.svg">
+ <link rel="icon" type="image/png" href="favicon.png">
+ <!-- TODO Add OG meta tags -->
+</head>
+
+<body>
+ <header>
+ <h1>DREAM</h1>
+ <h2>Internet protocols and applications
+ to empower citizens to act and find agency together</h2>
+ <p class="tagline">
+ <abbr title="Distributed Replicated Edge Agency Machine">DREAM</abbr> enables Peer-to-Peer Group Collaboration
+ </p>
+ </header>
+ <main role="main">
+ <aside>
+ <section id="pitch">
+ <h2>Distributed Replicated Edge Agency Machine</h2>
+ <p>The <abbr title="Public Universal Base: Libre Infrastructure Community">PUBLIC</abbr>
+ <abbr>DREAM</abbr> is an ongoing research program part of the
+ <abbr title="Next Generation Internet">NGI</abbr> initiative of
+ the European Commission.
+ </p>
+ <p>In 2021, we will research and build technical solutions to
+ empower communities everywhere to independently collaborate in the
+ local creation and maintenance of open knowledge. The goal of
+ DREAM is to enable the convergence of distributed
+ <abbr title="Peer-to-Peer">P2P</abbr> networks and linked
+ data models, within social solidary economy and
+ organize among trusted groups.</p>
+ <p>For example, a group may collect, share, and edit local
+ commons data offline, then synchronize these datasets with other
+ trusted peers and enrich a globally distributed database that
+ can be used from the Web and edited asynchronously by
+ independent parties over the P2P network.
+ </p>
+ </section>
+ </aside>
+ <article>
+ <section id="for-activists">
+ <h2>For Activists</h2>
+ <p>During the year we will propose hands-on collaborative
+ workshops to inform software development, exploring and refining
+ patterns of group collaboration. Participants sharing similar
+ interests can form a group and enhance their collaborative
+ practices. They can choose to work and organize online or
+ offline—when they reconnect to the Internet, they may optionally
+ share their work globally.</p>
+
+ <nav><a href="/pub/for-activists">read more</a></nav>
+ </section>
+ <section id="for-developers">
+ <h2>For Developers</h2>
+ <p>We're designing and documenting a peer-to-peer framework that
+ others can build upon and will provide a set of reusable free
+ software libraries, components and reference implementations.
+ DREAM components are designed to work together but may be used
+ independently:
+ <ul>
+ <li>DROMEDAR provides conflict-free replicated data structures to distribute linked data;</li>
+ <li>UPSYCLE provides a peer-to-peer networking system for private encrypted group collaboration;</li>
+ <li>SHRUTHI provides unikernel orchestration and provisioning capabilities.</li>
+ </ul>
+
+
+ </p>
+
+ <nav><a href="/pub/for-developers">read more</a></nav>
+ </section>
+ <section id="dream-team">
+ <h2>DREAM Team</h2>
+ <p><abbr>DREAM</abbr> is part of the <abbr>NGI</abbr> <abbr title="NGI Program for Open INTErnet Renovation">POINTER</abbr> funding scheme (<code>NGI POINTER-20</code>) and
+ received a 200,000 € grant to research and develop DREAM
+ components over the year 2021. The grant is handled by <em>petites singularités</em>, a non-profit based in Brussels.</p>
+ <p>Contact the team and learn how the project came about.</p>
+ <nav><a href="/pub/dream-team">read more</a></nav>
+ </section>
+ </article>
+ </main>
+ <aside>
+ <header>
+ <p>Our public forum is open!<br>See <a href="https://dream.public.cat/categories">what's cooking</a>.</p>
+ </header>
+ <article class="topics-list">
+ <section id="wp1">
+ <h2><a href="/c/wp1-design/8">DESIGN</a></h2>
+ <d-topics-list discourse-url="https://dream.public.cat" per-page="5" category="8" status="open"></d-topics-list>
+ </section>
+ <section id="wp2">
+ <h2><a href="/c/wp2-software/9">SOFTWARE</a></h2>
+ <d-topics-list discourse-url="https://dream.public.cat" per-page="5" category="9" status="open"></d-topics-list>
+ </section>
+ <section id="wp3">
+ <h2><a href="/c/wp3-community/10">COMMUNITY</a></h2>
+ <d-topics-list discourse-url="https://dream.public.cat" per-page="5" category="10" status="open"></d-topics-list>
+ </section>
+ <section id="wp4">
+ <h2><a href="/c/wp4-reporting/6">REPORTING</a></h2>
+ <d-topics-list discourse-url="https://dream.public.cat" per-page="5" category="7" status="open"></d-topics-list>
+ </section>
+ </article>
+ </aside>
+
+ <footer>
+ <nav>
+ <ul>
+ <li><a href="#for-activists">For Activists</a></li>
+ <li><a href="#for-developers">For Developers</a></li>
+ <li><a href="#dream-team">Contact</a></li>
+ </ul>
+ </nav>
+ <p><span title="PUBLIC is Petites Singularités and DREAM contributors">Copyright ©2020 PUBLIC</span> — <a href="mailto:dream@public.cat">dream@public.cat</a></p>
+ </footer>
+ <!-- Load latest open topics from Discourse -->
+ <script src="https://dream.public.cat/javascripts/embed-topics.js"></script>
+</body>
+
+</html>
diff --git a/main_style-005.css b/main_style-005.css
new file mode 100644
index 0000000..b2e9157
--- /dev/null
+++ b/main_style-005.css
@@ -0,0 +1,495 @@
+@import 'normalize.css';
+
+:root {
+ /* Fonts */
+ --font-text: 'Source Code Pro', monospace;
+ --font-title: 'Cormorant Garamond', Garamond, serif;
+ /* Colors */
+ --midnight-green: #003844;
+ --skobelof: #006C67;
+ --amaranth-pink: #f194b4;
+ --orange-soda: #f06543;
+
+ --english-violet: #473748;
+ --light-gray: #cbd2ce;
+ --maroon-x11: #A53860;
+ --flame: #EB5E28;
+ --neon-blue: #6874E8;
+ --arctic-lime: #D2FF28;
+
+
+
+ --oxford-blue: #00002B;
+ --army-green: #444420;
+ --lemon-curry: #DDAA00;
+ --opera-mauve: #B38CB4;
+ --salmon-pink: #EF959D;
+ --nadeshiko-pink: #EDADC7;
+ --misty-rose: #FAE3E3;
+ --vermilion: #D84727;
+ --celadon: #8DDC4A;
+ --dark-sea-green: #78C091;
+ --ocean-green: #5FBB97;
+ --screaming-green: #87FF65;
+ --xanadu: #808F85;
+ --ebony: #596157; /* rgba(89, 97, 87, 1); */
+ --opal: #A7CECB;
+ --opal2: #9DC7C8;
+ --maximum-blue: #5EB1BF;
+ --metallic-seaweed: #388697;
+ --green-blue: #2364AA;
+
+ --fluorescent-blue: #54F2F2;
+ /* PUBLIC logo colors */
+/* --public-dark: var(--oxford-blue);
+ --public-medium: var(--army-green);
+ --public-clear: var(--lemon-curry);
+*/
+
+ --bg-color: var(--light-gray);
+ --bg-read-color: var(--light-gray);
+ --fg-read-color: var(--english-violet);
+
+ --public-dark: var(--fg-read-color);
+ --public-medium: var(--maroon-x11);
+ --public-clear: var(--flame);
+
+ /*
+ --public-dark: var(--midnight-green);
+ --public-medium: var(--skobelof);
+ --public-clear: var(--amaranth-pink);
+ */
+
+ /* Composite colors */
+ --footer-bg-color: rgba(89, 97, 87, 0.8);
+
+ --dream-logo-url: url("https://dream.public.cat/uploads/dream/original/1X/0c90cdab7f4542baa08e4232e2ddb7e8216b419c.png");
+ --dream-logo-size: 15rem;
+
+}
+
+*,
+*::before,
+*::after {
+ box-sizing: border-box;
+}
+
+html {
+ border-style: border-box;
+ /* https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Values_and_units#Numbers_lengths_and_percentages */
+ font-size: 1rem;
+ margin: 0;
+ padding: 0;
+}
+
+body {
+ min-height: 100vh;
+ background-color: var(--bg-color);
+ color: var(--public-dark);
+ line-height: 1.2;
+ font-family: var(--font-text);
+ font-size: 1em;
+ margin: 0 auto;
+ padding:
+ env(safe-area-inset-top, 2rem)
+ env(safe-area-inset-right, 2rem)
+ env(safe-area-inset-bottom, 0.5vh)
+ env(safe-area-inset-left, 2rem);
+}
+
+:link {
+ color: var(--opal2);
+}
+a:active {
+ color: var(--light-gray);
+}
+a:hover, a:focus {
+ color: var(--screaming-green);
+}
+a:visited {
+ color: var(--celadon);
+}
+
+h1, h2, h3, h4 {
+ font-family: var(--font-title);
+}
+
+body>header {
+ text-align: center;
+ min-height: 100vh;
+ height: 100%;
+ width: 80vw;
+ max-width: 96rem;
+ margin: 0 auto;
+ display: flex;
+ flex-flow: column;
+}
+
+body>header h1 {
+ background: transparent var(--dream-logo-url) 50% 50%/var(--dream-logo-size) no-repeat;
+ line-height: var(--dream-logo-size);
+ color: transparent; /* Only show the background image */
+ font-size: 2em;
+ position: sticky;
+ height: var(--dream-logo-size);
+ width: var(--dream-logo-size);
+ line-height: var(--dream-logo-size);
+ margin: calc(var(--dream-logo-size) / 6) auto 0 auto;
+}
+
+body>header h2 {
+ font-weight: normal;
+ height: auto;
+ color: var(--public-clear);
+ flex: 1;
+}
+h2>span {
+ display: block;
+}
+
+.tagline {
+ font-size: 1em;
+ text-align: left;
+ padding-left: 0.8rem;
+ flex: 1;
+}
+
+main, article {
+}
+
+main {
+ max-width: 96rem;
+ margin: 0 auto;
+}
+
+main>article {
+ display: flex;
+ align-items: stretch;
+ flex-flow: column wrap;
+}
+main>article>section {
+ border: 1rem solid var(--neon-blue);
+ border-radius: 5rem;
+ box-shadow: -1px 2px 4px inset black;
+ padding: 2rem;
+ text-align: center;
+ flex: 1;
+ display: flex;
+ flex-flow: column;
+ max-width: 100vw;
+ position: relative;
+ margin-bottom: 3rem;
+ flex: 1 1 auto;
+ background-color: rgba(0, 0, 0, 0.1);
+}
+main>article>section:hover {
+ background-color: var(--bg-read-color);
+ color: var(--fg-read-color);
+}
+main>article>section>h2 {
+ flex: 1 1 auto;
+}
+main>article>section>p {
+ text-align: left;
+/* min-height: 20rem; *//* Ensure buttons below are aligned. */
+ flex: 1 1 auto;
+}
+main>aside>section {
+ background-color: rgba(0, 0, 0, 0.1);
+ border: 1rem solid var(--neon-blue);
+ border-radius: 5rem;
+ box-shadow: -1px 2px 4px inset black;
+ padding: 2rem;
+}
+main>aside>section:hover {
+ background-color: rgba(255, 255, 255, 0.4);
+}
+main nav {
+ flex: 0;
+ width: calc(100% + 4rem);
+ margin: 2rem -2rem -2rem -2rem;
+ padding: 0;
+}
+main nav a {
+ /* background-color: var(--vermilion); */
+ background-color: var(--orange-soda);
+ color: var(--arctic-lime);
+ font-weight: bold;
+ letter-spacing: 2pt;
+ border: none;
+ padding: 1rem 2rem;
+ text-align: center;
+ text-decoration: none;
+ display: inline-block;
+ position: relative;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ width: 100%;
+ box-shadow: 0 -1px 3px black;
+ border-bottom-left-radius: 5rem;
+ border-bottom-right-radius: 5rem;
+}
+main nav a:hover {
+ box-shadow: 0 0 1px black;
+}
+main nav a:link,
+main nav a:visited {
+ color: var(--dark-ocean-green);
+}
+#pitch nav a {
+ bottom: -1.5rem;
+}
+#pitch nav a span {
+ display:none;
+}
+#pitch nav a:hover span {
+ position: absolute;
+ top: calc(-40vh + 2rem);
+ margin: 0 auto;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ padding: 0;
+ font-size: 3rem;
+ height: auto;
+ line-height: 40vh;
+ width: calc(100%);
+ border-radius: 4rem;
+ background: url(https://images.unsplash.com/photo-1604542031658-5799ca5d7936?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1vZi10aGUtZGF5fHx8fGVufDB8fHw%3D&auto=format%2Ccompress&fit=crop&w=1000&h=1000) 50% 50%/cover no-repeat;
+ background-opacity: 0.4;
+ color: black;
+ opacity: 0.85;
+ display: block;
+}
+
+section>ul {
+ text-align: left;
+}
+section>ul li {
+ padding-bottom: 1rem;
+}
+
+nav>ul {
+ list-style: none;
+ margin: 0.1rem;
+ padding: 0;
+}
+nav li {
+ padding: 0 1rem;
+ text-align: center;
+}
+nav li a {
+ display: block;
+ position: relative;
+ padding: 0.5rem;
+ height: 100%;
+ width: 100%;
+}
+#pitch nav {
+ text-align: center;
+}
+
+body>aside {
+ position: relative;
+ display: flex;
+ flex-flow: row wrap;
+ align-items: flex-start;
+ justify-content: space-around;
+ padding-bottom: calc(2 * var(--dream-logo-size));
+ background: var(--dream-logo-url) 50% calc(100% - var(--dream-logo-size) / 2)/var(--dream-logo-size) no-repeat;
+}
+body>aside>header {
+ position: sticky;
+ bottom: 10rem;
+ flex: 1 1 auto;
+}
+aside>header>p {
+ position: sticky;
+ background-color: black; /* check out curvy-*.png background color! */
+ color: var(--bg-color);
+ font-size: 1.5em;
+ padding: 0.5em 1em;
+ padding-bottom: 0;
+ border-radius: 1em;
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 0;
+ max-width: 17em;
+ margin: 0 auto;
+}
+aside>header p:after {
+ position: relative;
+ bottom: 0;
+ left: -1em;
+ display: block;
+ background: url(curvy-l.png) top left/1em no-repeat, url(quoty.png) 3em top/1em no-repeat, url(curvy-r.png) top right/1em no-repeat, url(filly.png) top left/1em repeat-x, var(--bg-color);
+ width: calc(100% + 2em);
+ height: 2em; /* must be twice quoty.png's height */
+ content: ' ';
+ margin: 0 auto;
+ padding-top: 1em;
+}
+
+body>aside>article {
+ flex: 4 1 auto;
+ display: flex;
+ flex-flow: column;
+}
+aside>section {
+ margin: 3rem auto;
+ flex: 1;
+}
+
+body>footer {
+ margin: 0;
+ padding: 0;
+ position: fixed;
+ left: -1px;
+ bottom: -1px;
+ right: -1px;
+ background-color: var(--fg-read-color);
+ text-align: center;
+ box-shadow: 0 2px 1px inset var(--ebony);
+ font-size: 0.7em;
+ display: flex;
+ flex-flow: column-reverse wrap;
+ justify-content: space-around;
+}
+body>footer>p {
+ display: none;
+}
+body>footer:hover {
+ background-color: var(--arctic-lime);
+ height: auto;
+}
+body>footer:hover p {
+ display: block;
+}
+body>footer nav {
+ flex: 1 0 auto;
+}
+body>footer nav ul {
+ display: flex;
+ flex-flow: row nowrap;
+ justify-content: center;
+}
+
+body>footer a,
+body>footer a:link,
+body>footer a:visited {
+ color: var(--arctic-lime);
+ text-decoration: none;
+ font-weight: bold;
+}
+body>footer:hover a,
+body>footer:hover a:link,
+body>footer:hover a:visited {
+ color: var(--fg-read-color);
+}
+
+/* Display Discourse comments a bit larger */
+.topics-list {
+ margin: 0 auto;
+ display: flex;
+ flex: column wrap;
+ justify-content: space-around;
+ max-width: 80vw;
+}
+.topics-list>section {
+ border-radius: 2rem;
+ padding: 0.25rem 2rem;
+ min-width: 16vw;
+ flex: 1 0 auto;
+}
+.topics-list h2 a:link,
+.topics-list h2 a:visited {
+ color: var(--english-violet);
+}
+.topics-list h2 a:hover {
+ color: var(--oxford-blue);
+}
+
+.topics-list iframe {
+ width: 96vw; /* good for a single category */
+ height: auto;
+ min-height: 14rem;
+}
+
+/**
+ * On the desktop, try and make each section a whole screen by itself.
+ **/
+
+@media screen and (min-width: 64rem) {
+ body>header {
+ height: 100vh;
+ font-size: 3rem;
+ display: block;
+ }
+
+ .tagline {
+ font-size: 75%;
+ text-align: center;
+ padding-top: 2em;
+ max-width: 64rem;
+ margin: 0 auto;
+ }
+
+ body > header:hover .tagline {
+
+ }
+ body > header:hover:before {
+ position: absolute;
+ margin: 0 auto;
+ left: 0;
+ right: 0;
+ top: 25rem;
+ content: attr(title);
+ font-weight: bold;
+ color: var(--public-clear);
+ }
+
+ main > article {
+ flex-flow: row nowrap;
+ column-gap: 3rem;
+ justify-content: space-around;
+ }
+ main > article > section {
+ position: relative;
+ height: auto;
+ }
+ main > article > section > p {
+ max-width: calc(100vw / 3);
+ }
+
+ body>aside {
+ background: none;
+ }
+
+ #pitch {
+ max-width: 64rem;
+ }
+
+ body>aside>header {
+ min-width: 20vw;
+ }
+
+ body>aside>article {
+ flex-flow: row;
+ }
+
+ .topics-list iframe {
+/* width: 50vw; *//* good for a single category */
+ }
+
+ nav > ul {
+ display: flex;
+ flex: 1 0 auto;
+ flex-flow: row nowrap;
+ justify-content: space-around;
+
+ }
+
+ body>footer {
+ font-size: 1em;
+ }
+}