From 18464fc9746ada791cd9c81830ef0390e7994f5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20M=C3=BCller?= Date: Fri, 17 Jan 2025 10:21:14 +0100 Subject: [PATCH 1/2] Add newsletter template --- _config.yml | 2 + _includes/newsletter/footer_sponsors.html | 18 + _layouts/email.html | 535 ++++++++++++++++++++++ _layouts/newsletter.html | 9 + _newsletter/2024-04-03-issue-7.md | 59 +++ _pages/other/newsletter.html | 14 + 6 files changed, 637 insertions(+) create mode 100644 _includes/newsletter/footer_sponsors.html create mode 100644 _layouts/email.html create mode 100644 _layouts/newsletter.html create mode 100644 _newsletter/2024-04-03-issue-7.md create mode 100644 _pages/other/newsletter.html diff --git a/_config.yml b/_config.yml index c512c7d87..da07631f7 100644 --- a/_config.yml +++ b/_config.yml @@ -17,6 +17,8 @@ collections: permalink: /:path/ samples: output: false + newsletter: + output: false defaults: - diff --git a/_includes/newsletter/footer_sponsors.html b/_includes/newsletter/footer_sponsors.html new file mode 100644 index 000000000..a0b663f91 --- /dev/null +++ b/_includes/newsletter/footer_sponsors.html @@ -0,0 +1,18 @@ + + + + + + + {%- for sp in site.data.sponsor_logos_corporate %} + + {%- endfor %} + +
+

Thanks to our sponsors

+
+ +
diff --git a/_layouts/email.html b/_layouts/email.html new file mode 100644 index 000000000..01435c77f --- /dev/null +++ b/_layouts/email.html @@ -0,0 +1,535 @@ +--- +layout: none +--- + + + + + + *|MC:SUBJECT|* + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + +
+ + + + + +
+ *|MC:SUBJECT|* — *|DATE:F j, Y|* + + *|IFNOT:ARCHIVE_PAGE|* + Read on the Web + *|END:IF|* +
+
+ + + + + + +
+
+ + + + + + {{ content }} + + + + + +
+ + + + + +
+ + + + + +
+ + {% include newsletter/footer_sponsors.html %} + +
+ +
+ +
+ +
+ © *|CURRENT_YEAR|* *|LIST:COMPANY|* +
+ *|IFNOT:ARCHIVE_PAGE|* + *|LIST:DESCRIPTION|*
+
+ *|HTML:LIST_ADDRESS_HTML|* + *|END:IF|*
+
+ Unsubscribe   Update preferences   Privacy policy
+
+ *|IF:REWARDS|* + *|HTML:REWARDS|* + *|END:IF|* +
+
+ + diff --git a/_layouts/newsletter.html b/_layouts/newsletter.html new file mode 100644 index 000000000..60f92afb5 --- /dev/null +++ b/_layouts/newsletter.html @@ -0,0 +1,9 @@ +--- +layout: email.html +--- + +

{{ page.title}}

+ +
+ {{ content }} +
diff --git a/_newsletter/2024-04-03-issue-7.md b/_newsletter/2024-04-03-issue-7.md new file mode 100644 index 000000000..d7a74497c --- /dev/null +++ b/_newsletter/2024-04-03-issue-7.md @@ -0,0 +1,59 @@ +--- +title: Crystal Newsletter — Issue 7 +intro: > + Welcome to a new edition of the Crystal Newsletter. Hope you enjoy the read! +--- + +## [Crystal Website Relaunch](https://crystal-lang.org/2024/03/27/website-relaunch/) + +The Crystal website has received an updated with a new design and a ton of other improvements, such as better support for mobile devices and dark mode, as well as updated and new content. Check out the [new install page](https://crystal-lang.org/install/), for example! +Alongside the website update, the sponsorship tiers also received an overhaul as you can read in [the blog post](https://crystal-lang.org/2024/03/25/new-sponsoring-tiers/). + +[crystal-lang.org](https://crystal-lang.org/) + +## 3rd Anniversary of Crystal 1.0 Release + +Now we're already approaching the 12th minor release of the 1.x series. + +Did you know how to approximate any realease date since 1.0? Here's a method for that: [https://carc.in/#/r/gllx](https://carc.in/#/r/gllx) + +So we're expecting Crystal 1.100 in April of 2046. Long way to go! + +## [Work on Multi-Threading Support](https://crystal-lang.org/2024/02/09/84codes-manas-mt/) + +Crystal sponsor [84codes](https://www.84codes.com/) is sponsoring a long-running project to improve multi-threading in Crystal. +This is going to be a lengthy process, but it's already bearing early fruits. Some [RFCs](https://github.com/crystal-lang/rfcs/pull/) are currently under scrutiny, and some PRs on the topic of [concurrency](https://github.com/crystal-lang/crystal/pulls?q=is%3Apr+sort%3Aupdated-desc+label%3Atopic%3Amultithreading%2Ctopic%3Astdlib%3Aconcurrency) are under way. + +## [Julien (re)joins the Core Team](https://crystal-lang.org/2024/02/28/the-return-of-the-golden-man/) + +After a hiatus of four years, ex-Core Team member Julien Portalier ([@ysbaddaden](https://github.com/ysbaddaden)) has come back. He's working on the multi-threading project. + +## [A passionate endorsement for Crystal](https://www.linkedin.com/feed/update/urn:li:activity:7164200352026714113/) + +David Yoteau excitedly shares his enthusiasm for Crystal, a programming language that continues to impress him with its power and elegance. + +## [Chrome Devtools Protocol client](https://github.com/confact/cromium) + +Håkan Nylén is working on a shard that lets you interact with the Chrome Devtools Protocol. You can easily drive a headless Chrome browser from Crystal and take screenshots, for example. + +## [Status of Windows Support in Crystal 1.11](https://crystal-lang.org/2024/01/19/windows-support-1.11/) + +We're making steady progress on polishing Windows support in Crystal. In his latest article, core contributor Quinton Miller describes the latest changes and where we're at. + +## People are saying + +- [@Joshsharp](https://fosstodon.org/@Joshsharp@aus.social/111962659264632015): Crystal is a happy medium between Rust and Python, the two other languages I use the most, so I'm generally having a good time. +- [@MistressRemilia](https://fosstodon.org/@remilia@nanako-%E3%81%95%E3%82%81.mooo.com/111986120091387916): Tonight I finally got around to reading the [new proposed RFCs](https://github.com/crystal-lang/rfcs) for [#CrystalLang](https://fosstodon.org/tags/CrystalLang) and whew, I am excited af. +- [@Evan Hahn:](https://evanhahn.com/introducing-sqids-crystal/) Because Crystal is so similar to Ruby, it was a small effort to port [Sqids Ruby](https://sqids.org/ruby) to Crystal. For the most part, I was able to copy-paste the code and make some small changes: +- [@ex0ticOne](https://www.reddit.com/r/crystal_programming/comments/192vby1/new_to_crystal_so_happy_to_discover_and_i_already/): After discovering Crystal and Kemal, I rewrote the webservice with success and deployed the new version. Works like a charm and with an incredible low latency. + +## Crystal Community Connect + +Please communicate with the Crystal team through any of these channels, and be sure to follow the relevant social media accounts to stay informed about the Crystal space. + +- Forum: [https://forum.crystal-lang.org/](https://forum.crystal-lang.org/) +- LinkedIn: [https://www.linkedin.com/company/crystal-language/](https://www.linkedin.com/company/crystal-language/) +- GitHub: [https://github.com/crystal-lang/crystal/](https://github.com/crystal-lang/crystal/) +- Twitter: [https://twitter.com/CrystalLanguage](https://twitter.com/CrystalLanguage) +- Discord: [https://discord.gg/YS7YvQy](https://discord.gg/YS7YvQy) +- Fosstodon: [https://fosstodon.org/@CrystalLanguage](https://fosstodon.org/@CrystalLanguage) diff --git a/_pages/other/newsletter.html b/_pages/other/newsletter.html new file mode 100644 index 000000000..d5d3f53ba --- /dev/null +++ b/_pages/other/newsletter.html @@ -0,0 +1,14 @@ +--- +layout: email +--- + + + +{% for issue in site.newsletter limit: 1 %} +
+ {{ issue.title}} + {{ issue.content | markdownify }} +
+{% endfor %} + + From a6311fc7fdb60c5e2ffe49b762df8517a0c7aa24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20M=C3=BCller?= Date: Fri, 4 Apr 2025 13:56:15 +0200 Subject: [PATCH 2/2] Add newsletter pages --- _config.yml | 11 ++++++++++- _layouts/newsletter.html | 8 ++------ _pages/newsletter.md | 21 ++++++++++++++++++--- _pages/newsletter/archive.html | 14 +++++++++++++- 4 files changed, 43 insertions(+), 11 deletions(-) diff --git a/_config.yml b/_config.yml index da07631f7..44141fa40 100644 --- a/_config.yml +++ b/_config.yml @@ -18,7 +18,7 @@ collections: samples: output: false newsletter: - output: false + output: true defaults: - @@ -67,6 +67,15 @@ defaults: values: playground: true + - + scope: + path: "" + type: newsletter + values: + layout: newsletter + permalink: /newsletter/:title/ + section: newsletter + # Used by https://github.com/jekyll/jekyll-seo-tag twitter: username: CrystalLanguage diff --git a/_layouts/newsletter.html b/_layouts/newsletter.html index 60f92afb5..6754298d7 100644 --- a/_layouts/newsletter.html +++ b/_layouts/newsletter.html @@ -1,9 +1,5 @@ --- -layout: email.html +layout: page --- -

{{ page.title}}

- -
- {{ content }} -
+{{ content }} diff --git a/_pages/newsletter.md b/_pages/newsletter.md index 48baa222e..86985b905 100644 --- a/_pages/newsletter.md +++ b/_pages/newsletter.md @@ -3,9 +3,24 @@ title: Crystal Newsletter section: newsletter description: | Our newsletter regularly shares highlights and insights on the Crystal language and community. -link_actions: -- '[Archive](/newsletter/archive)' -- '[RSS Feed](/newsletter/feed)' --- +

Latest edition

+ +{% for issue in site.newsletter limit: 1 %} +{{ issue.title}} ({{ issue.date | date_to_string }}) + +{{ issue.intro | markdownify }} + +{% endfor %} + {%- include site/newsletter-form.html %} + +

Previous issues

+ diff --git a/_pages/newsletter/archive.html b/_pages/newsletter/archive.html index beb2a822b..d52094b9a 100644 --- a/_pages/newsletter/archive.html +++ b/_pages/newsletter/archive.html @@ -1,4 +1,16 @@ --- -redirect_to: "https://us6.campaign-archive.com/home/?u=68338ca88d5d6326c9a824317&id=6f80e8b0be" +title: Newsletter archive section: newsletter --- + + +{% for issue in site.newsletter limit: 1 %} +
+ {{ issue.title}} + {{ issue.content | markdownify }} +
+{% endfor %} + + + +Older archives