diff options
-rw-r--r-- | index-005.html | 126 | ||||
-rw-r--r-- | main_style-005.css | 495 |
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; + } +} |