Looking for More?
-While we're migrating posts to the elementary blog, some older stories are still only on the official elementary Medium publication. Head over there to read more. -
diff --git a/404.md b/404.md deleted file mode 100644 index 588955888b..0000000000 --- a/404.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: error -permalink: 404.html ---- - -# Page Not Found - -Try visiting the [blog home page]({{ baseurl }}/) or [elementary.io](https://elementary.io){: onclick="plausible('Link: Homepage')" } to find what you’re looking for. If it's an older post, you can try the old [Tumblr](https://elementaryos.tumblr.com/){: #tumblr onclick="plausible('Link: Tumblr')"}. - - - diff --git a/Gemfile b/Gemfile index 2b46ce503a..1d08f0ba5d 100644 --- a/Gemfile +++ b/Gemfile @@ -1,10 +1,4 @@ source 'https://rubygems.org' -gem 'github-pages', group: :jekyll_plugins do - gem 'jekyll-feed' - gem 'jekyll-paginate' - gem 'jekyll-redirect-from' - gem 'jekyll-sitemap' - gem 'kramdown' - gem 'rouge' -end +gem 'jekyll-theme-elementary-blog', "~> 1.0" +gem 'github-pages', group: :jekyll_plugins diff --git a/_config.yaml b/_config.yaml index db5a39ce9b..0c40440d1d 100644 --- a/_config.yaml +++ b/_config.yaml @@ -1,8 +1,11 @@ +--- + title: "elementary Blog" description: "We design and develop the fast, open, and privacy-respecting replacement for Windows and macOS" permalink: /:title/ theme-color: "#64baff" gravatar: eaa3cc978770998ea2bd4382935bf0f4 +theme: jekyll-theme-elementary-blog facebook: elementaryos mastodon: elementary @@ -40,21 +43,5 @@ authors: anonymous: name: "Unknown Author" -plugins: - - jekyll-feed - - jekyll-paginate - - jekyll-redirect-from - - jekyll-sitemap - -paginate: 7 -paginate_path: "/archive/:num/" - -markdown: kramdown -kramdown: - syntax_highlighter: rouge - syntax_highlighter_opts: - block: - line_numbers: true - future: false # Allows us to stage posts exclude: [README.md, Gemfile, Gemfile.lock, vendor] diff --git a/_includes/appcenter.html b/_includes/appcenter.html deleted file mode 100644 index dc8e24b8e7..0000000000 --- a/_includes/appcenter.html +++ /dev/null @@ -1,9 +0,0 @@ -{% if include.rdnn %} - {% assign rdnn = include.rdnn %} -{% else %} - {% assign rdnn = page.rdnn %} -{% endif %} - - diff --git a/_includes/byline.html b/_includes/byline.html deleted file mode 100644 index b210f4d551..0000000000 --- a/_includes/byline.html +++ /dev/null @@ -1,36 +0,0 @@ -{% if site.authors[include.author].name %} - {% assign author=site.authors[include.author] %} -{% else %} - {% assign author=site.authors["anonymous"] %} -{% endif %} - -{% assign date=include.date %} - -
- diff --git a/_includes/featured.html b/_includes/featured.html deleted file mode 100644 index 4ce5f3424b..0000000000 --- a/_includes/featured.html +++ /dev/null @@ -1,27 +0,0 @@ -{% assign post = include.post %} - - - {% if post.image %} - - {% endif %} - -{{ post.excerpt | strip_html | truncatewords: 40 }}
- Read more… -While we're migrating posts to the elementary blog, some older stories are still only on the official elementary Medium publication. Head over there to read more. -
Thanks to all of our supporters, backers, and customers! Your contributions make elementary possible. If you’d like to help build and improve elementary OS, don’t hesitate to Get Involved.
- - -We'd like to specially thank - {% if page.sponsor.link %} - - {% endif %}{{ page.sponsor.name }}{% if page.sponsor.link %}{% endif %} for sponsoring this blog post and helping to sponsor our work. {% if page.sponsor.hook %}{{ page.sponsor.hook }}{% endif %}
-@{{ include.account }}
- - -{{ include.contents }}
- - -` and setting max-width
- }
-
- * {
- margin: 0;
- max-width: 100%;
- }
-
- img,
- video {
- display: inline;
- transition: transform 250ms ease;
- vertical-align: middle;
-
- &:active,
- &:focus {
- outline: none;
- position: relative; // Fixes z-index issues on transform
- z-index: 1;
- }
- }
-
- .highlighter-rouge {
- font-size: 1rem;
- margin-bottom: 0;
- }
-
- &.embed {
- margin-left: auto;
- margin-right: auto;
- max-width: 100%;
- padding-top: 56.25%; // 16:9
- position: relative;
- width: var(--content-width);
-
- iframe {
- border: none;
- height: 100%;
- left: 0;
- position: absolute;
- top: 0;
- width: 100%;
- }
- }
-
- figcaption {
- font-family: var(--ui-font);
- font-size: 0.8rem;
- margin: 1em auto 4em;
- opacity: 0.67;
- text-align: center;
- }
-
- &.third {
- img,
- video {
- cursor: zoom-in;
- margin: 1%;
- max-width: 31.33%;
-
- &:focus {
- cursor: zoom-out;
- }
-
- &:nth-child(3n+1):active,
- &:nth-child(3n+1):focus {
- transform: translateX(100%) scale(3);
- }
-
- &:nth-child(3n+2):active,
- &:nth-child(3n+2):focus {
- transform: translateX(0) scale(3);
- }
-
- &:nth-child(3n+3):active,
- &:nth-child(3n+3):focus {
- transform: translateX(-100%) scale(3);
- }
- }
- }
-
- &.half {
- img,
- video {
- cursor: zoom-in;
- margin: 1%;
- max-width: 48%;
-
- &:focus {
- cursor: zoom-out;
- }
-
- &:nth-child(odd):active,
- &:nth-child(odd):focus {
- transform: translateX(50%) scale(2);
- }
-
- &:nth-child(even):active,
- &:nth-child(even):focus {
- transform: translateX(-50%) scale(2);
- }
- }
- }
-
- &.full-bleed {
- img,
- video {
- left: 50%;
- max-width: 100vw;
- position: relative;
- transform: translateX(-50%);
- width: 100vw;
- }
- }
-
- &.constrained {
- img,
- video {
- width: var(--content-width);
- }
- }
-
- &.circle {
- img,
- video {
- border-radius: 50%;
- }
- }
-
- &.card {
- img,
- video {
- background-color: var(--silver-100);
- box-shadow:
- 0 0 0 1px rgba(0, 0, 0, 0.05),
- 0 3px 3px rgba(0, 0, 0, 0.22);
-
- @media (prefers-color-scheme: dark) {
- background-color: var(--silver-900);
- }
- }
- }
-}
diff --git a/_sass/_layout.scss b/_sass/_layout.scss
deleted file mode 100644
index 0654e7b9d5..0000000000
--- a/_sass/_layout.scss
+++ /dev/null
@@ -1,168 +0,0 @@
-:root {
- --page-width: 60rem;
- --content-width: 40rem;
-}
-
-body > section {
- margin: 0 auto;
- max-width: var(--page-width);
- padding: 0 1rem;
-}
-
-body > footer {
- background-color: var(--secondary-bg-color);
- display: flex;
- flex-flow: wrap-reverse;
- justify-content: space-between;
- overflow-x: auto;
- padding: 0 1rem;
-
- ul {
- display: inline-block;
- flex: 0 0 auto;
- margin: 0;
- padding: 0;
- }
-
- li {
- display: inline-block;
- list-style: none;
- vertical-align: middle;
- }
-
- a {
- display: inline-block;
- opacity: 1;
- padding: 0 0.4rem;
- text-decoration: none;
- }
-
- a,
- p {
- color: var(--secondary-fg-color);
- font-family: var(--ui-font);
- font-size: 0.6rem;
- line-height: 3em;
- margin: 0;
- }
-}
-
-article {
- margin-bottom: 4rem;
-
- p,
- ul,
- ol,
- h1,
- h2,
- h3,
- h4,
- h5,
- h6 {
- margin-left: auto;
- margin-right: auto;
- max-width: var(--content-width);
- }
-
- img,
- video {
- display: block;
- height: auto;
- margin-left: auto;
- margin-right: auto;
- max-width: 100%;
- }
-
- > table {
- font-family: var(--ui-font);
- margin: 2em auto;
- max-width: 100%;
-
- th,
- td {
- padding: 0 0.5rem;
- }
- }
-
- .thanks {
- .links {
- display: flex;
- flex-wrap: wrap;
- justify-content: center;
- margin: 0.75em -1.5em;
-
- a {
- margin: 0.75em 1.5em;
- }
-
- svg {
- color: var(--fg-color);
- height: 2em;
- }
- }
- }
-}
-
-hr {
- border: 0;
- margin: 3em auto;
- max-width: 50%;
-
- &::before {
- content: "...";
- display: block;
- font-weight: bold;
- letter-spacing: 1em;
- text-align: center;
- }
-}
-
-.license {
- display: block;
- font-family: var(--ui-font);
- font-size: 0.75rem;
- margin: 0 auto;
- max-width: var(--content-width);
- text-align: center;
-
- a,
- svg {
- color: var(--secondary-fg-color);
- vertical-align: middle;
- }
-
- a {
- text-decoration: none;
-
- &:hover {
- text-decoration: underline;
- }
- }
-
- svg {
- height: 1.25em;
- margin-left: 0.25em;
- margin-right: 0.25em;
- }
-}
-
-.up-next {
- margin: 8rem auto 0;
-}
-
-aside.outdated {
- background: var(--warning-bg-color);
- bottom: 0;
- color: var(--warning-fg-color);
- display: block;
- font-family: var(--ui-font);
- font-size: 0.8rem;
- left: 50%;
- opacity: 0.8;
- padding: 0.5em 1em;
- position: relative;
- text-align: center;
- transform: translateX(-50%);
- width: 100vw;
- z-index: 1;
-}
diff --git a/_sass/_nav.scss b/_sass/_nav.scss
deleted file mode 100644
index 12dd0f350f..0000000000
--- a/_sass/_nav.scss
+++ /dev/null
@@ -1,73 +0,0 @@
-body > header {
- background-color: var(--header-bg-color);
- color: var(--header-fg-color);
- fill: var(--header-fg-color);
-
- nav {
- display: flex;
- font-size: 0;
- overflow-x: auto;
- padding: 0 1rem;
-
- ul {
- display: inline-block;
- flex: 0 0 auto;
- margin: 0;
- padding: 0;
- }
-
- li {
- display: inline-block;
- list-style: none;
- vertical-align: middle;
- }
-
- a {
- color: var(--header-fg-color);
- display: inline-block;
- font-family: var(--ui-font);
- font-size: 0.85rem;
- line-height: 2.9em;
- opacity: 1;
- padding: 0 0.65rem;
- text-decoration: none;
- white-space: nowrap;
- }
-
- a:hover {
- opacity: 0.7;
- }
-
- svg {
- height: 1em;
-
- * {
- fill: inherit !important;
- }
- }
-
- .logomark {
- line-height: 0;
-
- svg {
- height: auto;
- }
- }
- }
-
- .primary {
- justify-content: space-between;
- }
-
- .secondary {
- background-color: var(--secondary-bg-color);
- justify-content: center;
-
- a {
- color: var(--secondary-fg-color);
- font-size: 0.7rem;
- line-height: 3.6em;
- }
- }
-}
-
diff --git a/_sass/_tags.scss b/_sass/_tags.scss
deleted file mode 100644
index 3eca3033a3..0000000000
--- a/_sass/_tags.scss
+++ /dev/null
@@ -1,17 +0,0 @@
-aside.tags {
- margin: 1em auto;
- max-width: var(--content-width);
-}
-
-.tag {
- background-color: var(--banana-300);
- border-radius: 0.25em;
- color: var(--banana-900);
- display: inline-block;
- font-family: var(--ui-font);
- font-size: 0.75em;
- line-height: 2em;
- margin: 0.125em;
- padding: 0 0.5em;
- text-decoration: none;
-}
diff --git a/_sass/_twitter-cards.scss b/_sass/_twitter-cards.scss
deleted file mode 100644
index 5510ace2ad..0000000000
--- a/_sass/_twitter-cards.scss
+++ /dev/null
@@ -1,79 +0,0 @@
-.twitter-card {
- background-color: var(--silver-100);
- box-shadow:
- 0 0 0 1px rgba(0, 0, 0, 0.05),
- 0 3px 3px rgba(0, 0, 0, 0.22);
- border-radius: 0.5em;
- font-family: var(--ui-font);
- margin: 0 auto 2em;
- max-width: 50ch;
- padding: 1em;
-
- a {
- color: inherit;
- opacity: 1;
- text-decoration: none;
-
- &:hover {
- text-decoration: underline;
- }
- }
-
- p {
- line-height: 1.5em;
- margin-bottom: 0.5em;
- }
-
- header {
- display: flex;
- justify-content: space-between;
- margin-bottom: 0.75em;
-
- .account {
- display: grid;
-
- .avatar {
- border-radius: 50%;
- box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05);
- display: block;
- grid-row-end: span 2;
- height: 2.5em;
- margin-right: 0.5em;
- }
-
- p,
- strong {
- font-size: 0.8em;
- grid-column-start: 2;
- line-height: 1.25;
- margin: 0;
- }
-
- p {
- opacity: 0.75;
- }
- }
-
- .logo {
- height: 1.25em;
- margin: 0;
- text-align: right;
- }
- }
-
- footer {
- font-size: 0.75em;
- line-height: 1;
- margin-top: 1.5em;
-
- a {
- display: flex;
- justify-content: space-between;
- opacity: 0.6;
- }
- }
-
- @media (prefers-color-scheme: dark) {
- background-color: var(--black-500);
- }
-}
diff --git a/_sass/_typography.scss b/_sass/_typography.scss
deleted file mode 100644
index 47fc597829..0000000000
--- a/_sass/_typography.scss
+++ /dev/null
@@ -1,162 +0,0 @@
-:root {
- --ui-font: "Open Sans", "Noto Sans", "Roboto", "Droid Sans", sans-serif;
- --copy-font: "Noto Serif", "Droid Serif", serif;
- --heading-font: Raleway, var(--ui-font);
-}
-
-html {
- font-family: var(--copy-font);
- font-size: 5.625vw;
- font-weight: 400;
- word-spacing: -0.05em;
-
- @media (min-width: 320px) {
- font-size: 18px;
- }
-
- @media (min-width: 1024px) {
- font-size: 20px;
- }
-
- @media print {
- font-size: 14px;
- }
-}
-
-a {
- color: var(--accent-color);
- opacity: 0.8;
- text-decoration-skip: ink;
- transition: opacity 250ms ease;
-
- &:hover,
- &:focus {
- opacity: 1;
- }
-}
-
-article {
- line-height: 1.75em;
-
- p,
- ul,
- ol {
- margin-top: 0.5em;
- margin-bottom: 2em;
- }
-
- li {
- padding-left: 0.25em;
- }
-}
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
- font-family: var(--heading-font);
- line-height: 1.2em;
- margin-top: 2em;
- margin-bottom: 0;
-}
-
-h1 {
- line-height: 1em;
-}
-
-h3,
-h4,
-h5 {
- opacity: 0.8;
-}
-
-h6 {
- opacity: 0.67;
-}
-
-header h1 {
- font-size: 2em;
- margin-top: 1em;
-}
-
-header h1 + h2 {
- font-family: var(--ui-font);
- font-size: 1.2rem;
- font-weight: normal;
- margin-top: 0.25em;
- opacity: 0.5;
-}
-
-header h2 {
- font-size: 1.5em;
- margin-bottom: 1em;
-}
-
-header h2 + h3 {
- font-family: var(--ui-font);
- font-size: 0.9rem;
- font-weight: normal;
- margin-top: -1.5em;
- margin-bottom: 1em;
- opacity: 0.5;
-}
-
-blockquote {
- max-width: var(--content-width);
- margin-left: auto;
- padding-left: 1em;
- margin-right: auto;
- font-style: italic;
- border-left: 0.125em solid var(--accent-color);
-
- em,
- i {
- font-style: normal;
- }
-
- aside & {
- font-size: 1.6em;
- line-height: 1.4em;
- border: none;
- margin: 2em auto;
- opacity: 0.8;
- padding: 0 1em;
- }
-
- .attribution {
- display: block;
- font-size: 0.8em;
- font-style: normal;
- margin-top: -1.5em;
-
- &:before {
- content: "–";
- }
- }
-}
-
-aside {
- margin-bottom: 2em;
-}
-
-kbd {
- background-color: rgba(200, 200, 200, 0.15);
- border: 1px solid rgba(0, 0, 0, 0.30);
- border-radius: 0.2em;
- box-shadow:
- inset 0 1px 0 0 rgba(255, 255, 255, 0.12),
- inset 0 -2px 0 0 rgba(0, 0, 0, 0.15);
- display: inline-block;
- font-family: var(--ui-font);
- font-size: 80%;
- line-height: 1.5;
- margin: 0 0.2em;
- min-width: 1em;
- padding: 0.125em 0.5em;
- text-align: center;
- user-select: none;
- white-space: nowrap;
-}
-
diff --git a/authors.md b/authors.md
deleted file mode 100644
index 6a5b23f1a5..0000000000
--- a/authors.md
+++ /dev/null
@@ -1,23 +0,0 @@
----
----
-
-# Authors
-
-
diff --git a/blog-card.xcf b/blog-card.xcf
deleted file mode 100644
index 9e8e4317b1..0000000000
Binary files a/blog-card.xcf and /dev/null differ
diff --git a/css/main.scss b/css/main.scss
deleted file mode 100644
index 046f7e8bf0..0000000000
--- a/css/main.scss
+++ /dev/null
@@ -1,119 +0,0 @@
----
-# Only the main Sass file needs front matter (the dashes are enough)
----
-@charset "utf-8";
-
-// Global
-@import "colors";
-@import "layout";
-@import "typography";
-
-// Components
-@import "byline";
-@import "code";
-@import "featured";
-@import "figures";
-@import "nav";
-@import "tags";
-@import "twitter-cards";
-
-:root {
- color-scheme: light dark;
-}
-
-* {
- box-sizing: border-box;
-}
-
-body,
-html {
- background-color: var(--bg-color);
- color: var(--fg-color);
- fill: var(--fg-color);
- margin: 0;
- overflow-x: hidden;
-}
-
-html {
- // To blend with the footer on short pages
- background-color: var(--secondary-bg-color);
-}
-
-svg {
- fill: inherit;
-}
-
-.error {
- max-width: 22rem;
- margin: 8em auto;
- text-align: center;
-
- p {
- font-family: var(--ui-font);
- }
-}
-
-nav.pagination {
- font-size: 0; // Fix percentage issues with whitespace
- margin: 2rem auto;
- text-align: center;
-
- a {
- display: inline-block;
- font-size: 1rem;
- font-family: var(--ui-font);
- padding: 1em;
-
- &.next::after {
- content: " →";
- }
-
- &.previous::before {
- content: "← ";
- }
- }
-}
-
-.social {
- font-size: 0; // Fix percentage issue with whitespace
- margin: 4rem auto;
- text-align: center;
-
- h2 {
- font-size: 1.5rem;
- }
-
- div {
- display: inline-block;
- font-size: 1rem;
- width: 50%;
- }
-
- a {
- display: inline-block;
- margin: 0.75rem;
-
- img {
- width: 32px;
- height: 32px;
- }
- }
-}
-
-.center {
- margin-left: auto;
- margin-right: auto;
- text-align: center;
-}
-
-.button {
- border: 1px solid;
- border-radius: 0.25em;
- font-family: var(--ui-font);
- padding: 0.5em 1em;
- text-decoration: none;
-}
-
-pre {
- -webkit-text-size-adjust: none;
-}
diff --git a/feed.json b/feed.json
deleted file mode 100644
index f045282756..0000000000
--- a/feed.json
+++ /dev/null
@@ -1,51 +0,0 @@
----
-layout: uglify
----
-{
- "lastBuildDate": "{{ site.time | date_to_rfc822 }}",
- "generator": "Jekyll v{{ jekyll.version }}",
- "posts": [
- {% assign counter = 0 %}
- {% for post in site.posts %}
- {% unless post.hidden %}
- {% assign counter = counter | plus: 1 %}
- {% unless counter > 3 %}
- {
- "url": "{{ post.url | prepend: site.baseurl | prepend: site.url }}",
- "title": {{ post.title | jsonify }},
- "pubDate": "{{ post.date | date_to_rfc822 }}",
- {% if post.description %}
- "description": {{ post.description | jsonify }},
- {% endif %}
- "author": {
- {% if site.authors[post.author].name %}
- {% assign author=site.authors[post.author] %}
- {% endif %}
- {% if author.gravatar %}
- "gravatar": "{{ author.gravatar }}",
- "name": "{{ author.name }}"
- {% else %}
- "gravatar": "{{ site.gravatar }}",
- "name": "elementary"
- {% endif %}
- },
- {% if post.image %}
- {% assign prefix = post.image | slice: 0, 4 %}
- {% if prefix == "http" %}
- {% assign image = post.image %}
- {% else %}
- {% assign image = post.image | prepend: site.baseurl | prepend: site.url %}
- {% endif %}
- "image": "{{ image }}",
- {% else %}
- "excerpt": "{{ post.excerpt | strip_html | truncatewords: 40 | jsonify }}",
- {% endif %}
- {% assign words = post.content | strip_html | number_of_words %}
- "read_time": "{{ words | divided_by: 200 | plus: 1 }} min read"
- }
- {% unless counter >= 3 %},{% endunless %}
- {% endunless %}
- {% endunless %}
- {% endfor %}
- ]
-}
diff --git a/feed.xml b/feed.xml
deleted file mode 100644
index b46fa102f7..0000000000
--- a/feed.xml
+++ /dev/null
@@ -1,44 +0,0 @@
----
-layout: null
-redirect_from:
- - /feed/
----
-
-Archive Page {{ paginator.page }}
- {% for post in paginator.posts %}
- {% unless post.hidden %}
- {% include featured.html post=post %}
- {% endunless %}
- {% endfor %}
-{% else %}
- More Stories
- {% for post in paginator.posts offset: 4 %}
- {% unless post.hidden %}
- {% include featured.html post=post %}
- {% endunless %}
- {% endfor %}
-{% endif %}
-