Commit 2d4ae447 authored by julientaq's avatar julientaq
Browse files

opf2021 theme first commit

parent 856756a9
Pipeline #23513 failed with stages
in 20 minutes
......@@ -46,19 +46,17 @@ module.exports = function (eleventyConfig) {
});
});
eleventyConfig.addFilter("toUTC", function(date, timezone ) {
return momentz(`${date}`,timezone).utc().format();
})
eleventyConfig.addFilter("toUTC", function (date, timezone) {
return momentz(`${date}`, timezone).utc().format();
});
// format date using moment
eleventyConfig.addFilter("formatDate", function (
value,
targetTimeZone = "UTC",
format
) {
return momentz(value).tz(targetTimeZone).format(format);
});
eleventyConfig.addFilter(
"formatDate",
function (value, targetTimeZone = "UTC", format) {
return momentz(value).tz(targetTimeZone).format(format);
}
);
// find offset between dates using moment: this was used to show empty dates between events, but it needs to be rewritten.
eleventyConfig.addFilter("momentInterval", function (lastDate, firstDate) {
......@@ -89,28 +87,46 @@ module.exports = function (eleventyConfig) {
}
});
eleventyConfig.setTemplateFormats(["njk", "md"]);
// trying to put things through snowpack and not eleventy
eleventyConfig.addPassthroughCopy( "static/" );
// eleventyConfig.addPassthroughCopy({ "static/data": "/data" });
// eleventyConfig.addPassthroughCopy({ "static/images": "/images" });
// eleventyConfig.addPassthroughCopy({ "static/fonts": "/fonts" });
// eleventyConfig.addPassthroughCopy({ "static/css": "/css" });
eleventyConfig.addPassthroughCopy({ "static/data": "/data" });
eleventyConfig.addPassthroughCopy({ "static/images": "/images" });
eleventyConfig.addPassthroughCopy({ "static/fonts": "/fonts" });
// ↓ taking care of in snowpack
// eleventyConfig.addPassthroughCopy({ "static/js": "/js" });
// ↓ taking care of in snowpack
// eleventyConfig.addPassthroughCopy({ "static/css": "/css" });
eleventyConfig.addFilter("bust", (url) => {
let local = new Date();
return `${url}?v=${local.getTime()}`;
});
eleventyConfig.addCollection("event", function (collection) {
return collection
.getFilteredByGlob("views/content/eventList/*.md")
.sort(function (a, b) {
return b.fullTime - a.fullTime;
});
});
eleventyConfig.addCollection('event', function(collection) {
return collection.getFilteredByGlob('views/content/eventList/*.md').sort(function(a, b) {
return b.fullTime - a.fullTime;
})
})
// 404 page local
eleventyConfig.setBrowserSyncConfig({
callbacks: {
ready: function (err, browserSync) {
const content_404 = fs.readFileSync("public/404.html");
browserSync.addMiddleware("*", (req, res) => {
// Provides the 404 content without redirect.
res.write(content_404);
res.end();
});
},
},
});
return {
dir: {
......
......@@ -8,5 +8,4 @@ static/data/
views/_data/events.json
views/_data/attendees.json
views/events/*.md
temp
ABCWhyteVariable.ttf
\ No newline at end of file
temp
\ No newline at end of file
const data = require('./views/_data/config.json')
const data = require("./views/_data/config.json");
const theme = data.theme;
// module.exports = {
// scripts : {
// "mount:eleventy": "mount temp --to /",
// "mount:js": "mount static/js --to /js",
// "mount:css": "mount temp/css --to /css",
// "mount:data": "mount static/data --to /data",
// "mount:fonts": `mount static/css/themes/${theme}/fonts/ --to /css/fonts/`,
// "run:eleventy": "eleventy",
// "run:eleventy::watch": "$1 --serve",
// // "run:css": `postcss static/css/themes/${theme}/source.css -o temp/css/main.css`,
// // "run:css::watch": "$1 --watch"
// },
// installOptions: {
// polyfillNode: true,
// rollup: {
// plugins: [require("rollup-plugin-node-polyfills")()],
// },
// },
// devOptions: {
// port: 3000,
// open: "none",
// out: "public",
// hmr: true,
// hmrdelay: 300,
// bundle: false
// },
// };
module.exports = {
scripts : {
"mount:eleventy": "mount temp --to /",
"mount:js": "mount static/js --to /js",
"mount:css": "mount temp/css --to /css",
"mount:data": "mount static/data --to /data",
"mount:fonts": `mount static/css/themes/${theme}/fonts/ --to /css/fonts/`,
"run:eleventy": "eleventy",
"run:eleventy::watch": "$1 --serve",
"run:css": `postcss static/css/themes/${theme}/source.css -o temp/css/main.css`,
"run:css::watch": "$1 --watch"
mount: {
temp: { url: "/", static: true },
"static/js": { url: "/js" },
"static/css": { url: "/css" },
},
installOptions: {
polyfillNode: true,
rollup: {
plugins: [require("rollup-plugin-node-polyfills")()],
},
plugins: [
"@snowpack/plugin-postcss",
[
"@snowpack/plugin-run-script",
{
cmd: "eleventy",
watch: "$1 --watch",
}
],
],
packageOptions: {
NODE_ENV: true,
},
buildOptions: {
clean: true,
out: "public",
},
devOptions: {
port: 3000,
open: "none",
out: "public",
hmr: true,
hmrdelay: 300,
bundle: false
},
optimize: {
bundle: true,
minify: true,
target: "es2020",
HMR: 3000,
},
};
@import "./modules/fonts.css";
@import "./modules/reset.css";
@import "./modules/variables.css";
@import "./modules/text.css";
@import "./modules/structure.css";
@import "./modules/top-bar.css";
@import "./modules/blog.css";
@import "./modules/form.css";
@import "./modules/lang.css";
@import "./modules/calendar.css";
@import "./modules/page-home.css";
@import "./modules/page-blog.css";
@import "./modules/page-attendees.css";
@import "./modules/page-participants.css";
@import "./modules/page-archives.css";
@import "./modules/responsive.css";
@import "./modules/theme.css";
......@@ -8,7 +8,7 @@
font-style: normal;
}
@font-face {
font-family: 'savate';
font-family: 'Savate';
src: url('/fonts/savate-italique-webfont.eot');
src: url('/fonts/savate-italique-webfont.eot?#iefix') format('embedded-opentype'), url('/fonts/savate-italique-webfont.woff2') format('woff2'), url('/fonts/savate-italique-webfont.woff') format('woff'), url('/fonts/savate-italique-webfont.ttf') format('truetype'), url('/fonts/savate-italique-webfont.svg#savateitalique') format('svg');
font-weight: normal;
......@@ -16,7 +16,7 @@
}
@font-face {
font-family: 'savate';
font-family: 'Savate';
src: url('/fonts/savate-regular-webfont.eot');
src: url('/fonts/savate-regular-webfont.eot?#iefix') format('embedded-opentype'), url('/fonts/savate-regular-webfont.woff2') format('woff2'), url('/fonts/savate-regular-webfont.woff') format('woff'), url('/fonts/savate-regular-webfont.ttf') format('truetype'), url('/fonts/savate-regular-webfont.svg#savateregular') format('svg');
font-weight: normal;
......
......@@ -4,13 +4,17 @@
padding: 0;
flex-wrap: wrap;
display: flex;
font-family: var(--font-interface);
ul {
justify-content: space-around;
li {
margin-right: 0;
margin-left: 0;
}
}
header {
padding: 0;
margin: 0;
......@@ -19,10 +23,10 @@
}
}
.home .text {
nav {
font-size: 0.9em;
ul {
padding: 0;
margin: 0;
......@@ -35,6 +39,7 @@
margin-right: 2ch;
margin-top: 0.5em;
}
a {
padding: 0.3em 0.3em 0.1em 0.3em;
border-bottom: 3px solid var(--color-primary);
......@@ -42,20 +47,9 @@
text-align: center;
height: 100%;
align-items: center;
border-image: linear-gradient(
45deg,
var(--color-primary) 100%,
var(--color-secondary),
var(--color-secondary) 100%
);
&:hover {
border-bottom: 3px solid var(--color-secondary);
border-image: linear-gradient(
45deg,
var(--color-primary) 0%,
var(--color-secondary) 0%,
var(--color-secondary) 100%
);
}
}
}
......@@ -64,22 +58,37 @@
/* splash background */
.home .text {
background: var(--color-content-background);
background: var(--color-background);
position: relative;
font-size: 1em;
line-height: 1.5;
line-height: 1.7;
text-align: left;
padding: 2em;
border-bottom: 24px double var(--color-background);
border-top: 24px double var(--color-background);
box-shadow: -2px 0 0 4px var(--color-background),
2px 0 0 4px var(--color-background);
box-shadow: -2px 0 0 4px var(--color-background), 2px 0 0 4px var(--color-background);
font-weight: 400;
min-width: 300px;
max-width: 500px;
width: 40vw;
margin-left: 10vw;
top: 5vh;
&::before {
z-index: -1;
content: " ";
position: absolute;
left: -10px;
right: -10px;
top: 10px;
bottom: 10px;
display: block;
border-image: linear-gradient(red, purple);
border-width: 3px;
transform: rotate(14deg);
border-style: solid;
border-image: linear-gradient(to bottom, purple, rgba(0, 0, 0, 0)) 1 100%;
}
}
.home .text svg {
......@@ -102,31 +111,34 @@
.home .text svg #bottom g {
display: none;
}
.home header {
display: block;
padding: 0;
h1 {
margin: 0;
font-family: var(--font-sans);
/* font-family: var(--font-title); */
line-height: 1;
font-weight: 800;
}
p {
font-size: 1em;
margin: 0;
font-weight: 800;
}
}
.home main header {
position: unset;
}
@media screen and (max-width: 800px) {
.home .text {
font-size: 1em;
margin: 0 auto;
width: 80vw;
}
.text {
}
}
section {
article {
border: 2px dashed var(--color-secondary);
margin-top: 2em;
/* border: 2px dashed var(--color-secondary); */
margin-bottom: 3em;
padding: 3em;
}
......@@ -20,7 +21,7 @@ section {
line-height: 1.3;
font-size: 5em;
font-weight: 200;
max-width: 1000px;
scroll-snap-margin-top: 10em;
scroll-margin-top: 10em;
}
......@@ -35,6 +36,7 @@ section {
margin-bottom: 1em;
text-indent: 0em;
max-width: 50ch;
font-size: .9em;
}
ul {
......
......@@ -15,7 +15,7 @@
}
.home .text {
--color-content-background: white;
/* --color-content-background: white; */
border: 0;
box-shadow: none;
}
......
......@@ -31,7 +31,9 @@ main .topMenu {
/* menu */
nav {
font-family: var(--font-interface);
z-index: 3000;
font-weight: 800;
font-size: 0.9em;
ul {
list-style-type: none;
......@@ -45,7 +47,7 @@ main .topMenu {
}
a {
padding: 0 0.3em;
border-bottom: 2px solid var(--color-secondary);
border-bottom: 2px solid var(--color-primary);
display: block;
text-align: center;
height: 100%;
......
:root {
--color-background: white;
--color-content-background: white;
--color-topBar-background: inherit;
--color-primary: #682902;
--color-secondary: #f1870b;
--color-body: #231815;
--color-gradient-start: #a6f0f0;
--color-gradient-end: #f7daf7;
--color-background: linear-gradient(var(--color-gradient-start), var(--color-gradient-end));
--color-content-background: var(--color-white);
--color-topBar-background: transparent;
--color-primary: purple;
--color-secondary: darkblue;
--color-body: darkblue;
--color-reverse: white;
--color-white: white;
--color-none: green;
......@@ -15,31 +17,27 @@
--showBackgroundSize: 3em;
/* fonts */
--font-sans: "Hepta Slab", sans-serif;
--font-serif: "Hepta Slab", sans-serif;
--font-sans: "overpass", sans-serif;
--font-serif: "Hepta Slab", sans-serif;
--font-interface: var(--font-sans);
--font-title: "Hepta Slab", sans-serif;
--font-text: "Hepta Slab", sans-serif;
--font-text: "Hepta Slab", sans-serif;
/* colors for categories */
/* colors for categories. You need to rename them to match what you get in your json file */
/* colors for categories. You need to rename them to match what you get in your json file */
--color-demo: pink;
--color-performance: orange;
--color-firesideChats: #003f42;
--color-micropublications: #5b4303;
--color-discussion: #da0060;
--color-longEvent: #f1870b;
/* events calendar show */
/* events calendar show */
}
@import "modules/fonts.css";
@import "modules/reset.css";
@import "modules/variables.css";
@import "modules/text.css";
@import "modules/structure.css";
@import "modules/top-bar.css";
@import "modules/blog.css";
@import "modules/form.css";
@import "modules/lang.css";
@import "modules/calendar.css";
@import "modules/page-home.css";
@import "modules/page-blog.css";
@import "modules/page-attendees.css";
@import "modules/page-participants.css";
@import "modules/page-archives.css";
@import "modules/responsive.css";
@import "modules/theme.css";
\ No newline at end of file
{
"siteTitle": "open publishing fest",
"siteTitle": "Open Publishing Fest",
"siteBaseline": "2021",
"adminName": "adam hyde",
"adminEmail": "adam@coko.foundation",
......@@ -52,12 +52,12 @@
"subtitle": "",
"logo": "<p class='logo'>OPF</p>",
"showAbout": true,
"showArchives": true,
"showAttendees": true,
"showBlog": true,
"showForm": true,
"showCalendar": true,
"showPeople": true,
"showArchives": false,
"showAttendees": false,
"showBlog": false,
"showForm": false,
"showCalendar": false,
"showPeople": false,
"showTimezoneSelect": false
},
"calButtons": {
......
......@@ -10,7 +10,8 @@
{# <link rel="manifest" href="site.webmanifest"> #}
{# <link rel="apple-touch-icon" href="icon.png"> #}
{% block styles %}{% endblock %}
<link type="text/css" rel="stylesheet" href="/css/main.css?123156"/>
<link type="text/css" rel="stylesheet" href=/css/themes/{{config.theme}}/{{"main.css" | bust}}/>
<link rel="stylesheet" href="https://overpass-30e2.kxcdn.com/overpass.css">
</head>
<body class="{{ class }}" {% block bodyattribute %} {%endblock%}>
......
......@@ -8,8 +8,9 @@
<main>
{% include "_partials/header.njk" %}
<section class="content">
<h1>{{ title }}</h1>
<article>
<h1>{{ title }}</h1>
{{ content | safe }}
</article>
<script src="/js/main.js"></script>
......
---
layout: singlePageCal.njk
title: Calendar
layout: Calendar.njk
title: Calendar
class: calendar
permalink: /calendar.html
timezoneLabel: Change the timezone
---
<p class="intro">The calendar is updated constantly: dates and times for events may change and new events are added regularly. </p>
......
......@@ -9,20 +9,12 @@ tags:
- intro
---
<p>Open Publishing Fest celebrates communities developing open creative, scholarly, technological, and civic publishing projects. Together, we find new ground to share our ideas.</p>
<p>This is at once a collaborative and distributed event. Sessions are hosted by individuals and organizations around the world as panel discussions, fireside chats, demonstrations, and performances. We connect those points to bring them in conversation with one another and map out what’s next.</p>
<p>We seek to build networks of resilience and care for people working on new ways to develop and share knowledge.</p>
<p>Join us by proposing a session. Proposals will be considered on a rolling basis up to and throughout the fest.</p>
Open Publishing Fest celebrates communities developing open creative, scholarly, technological, and civic publishing projects. Together, we find new ground to share our ideas.
This is at once a collaborative and distributed event. Sessions are hosted by individuals and organizations around the world as panel discussions, fireside chats, demonstrations, and performances. We connect those points to bring them in conversation with one another and map out what’s next.
We seek to build networks of resilience and care for people working on new ways to develop and share knowledge.
Join us by proposing a session. Proposals will be considered on a rolling basis up to and throughout the fest.
<p class="proposal-wrapper"><a class="proposal" href="form.html">Propose an event!</a></p>
<p class="proposal-wrapper"><a class="proposal" href="form.html">Propose an event!</a>
For more info or to discuss ideas please email <a href="mailto:adam@coko.foundation">adam@coko.foundation</a>.
<p>Open Publishing Fest sprang from discussions on building bridges over physical distance between Adam Hyde of Coko and Dan Rudmann at punctum books. We asked how we can share projects we love, find new collaborators, and support our communities.</p>
<p>The fest is built on a desire to cheer people up and, at the same time, showcase a revolution in publishing occurring around the world and across industries. It’s an opportunity to bring people together in many ways, allowing participants to host sessions in their own style and on their own terms.</p>
<p>We have invited a number of people to curate themes, feel free to contact us if you would like to be a curator. Starting curators include John Chodacki at California Digital Library, Chris Hartgerink at Liberate Science, Christine Fruin of Atla, Martin Eve at the Open Library of Humanities, as well as Karen Yook, Daniela Raciti and Todd Harris of microPublication.</p>
<p>Development by Julien Taquet of <a href="https://www.coko.foundation">Coko</a> (with the help of Yannis Barlas (Coko) and Boris Budini from <a href="https://cloud68.co/">Cloud68.co</a>), design by Kevin Muñoz at Super Mega Studio.</p>
<p>Feel free to propose an event for inclusion using this form.</p>
<p><a href="https://twitter.com/search?q=%23openpublish">#OpenPublish</a></p>
<p></p>
<p>
For more info or to discuss ideas please email <a href="mailto:adam@coko.foundation">adam@coko.foundation</a>
</p>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment