Skip to content
This repository was archived by the owner on Nov 14, 2024. It is now read-only.

Commit f5fcba2

Browse files
Riverwalk/seo (#52)
SEO changes
1 parent b658c65 commit f5fcba2

File tree

172 files changed

+1854
-1610
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

172 files changed

+1854
-1610
lines changed

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ All files are Markdown, with a header that looks like this (example from one of
2323
title: "Akka Typed: Actor Discovery"
2424
date: 2022-03-22
2525
header:
26-
image: "/images/blog cover.jpg"
26+
image: "https://res.cloudinary.com/dkoypjlgr/image/upload/f_auto,q_auto:good,c_auto,w_1200,h_300,g_auto,fl_progressive/v1715952116/blog_cover_large_phe6ch.jpg"
2727
tags: [akka]
2828
excerpt: "A common pattern in Akka Typed: how to find actors that are not explicitly passed around."
2929
---
@@ -52,7 +52,7 @@ In this first topic we're going to talk about the first topic.
5252

5353
For **images**, they sit in the `images/` directory, and you can reference them in Markdown as `![Alt text](../images/myimage.png "Caption")`.
5454

55-
To embed **YouTube videos**, include a line of this form:
55+
To embed **YouTube videos**, include a line of this form:
5656

5757
```
5858
{% include video id="MY_VIDEO_ID" provider="youtube" %}

_config.yml

+72-51
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
# `jekyll serve`. If you change this file, please restart the server process.
77

88
# Theme Settings
9-
#
109
# Review documentation to determine if you should use `theme` or `remote_theme`
1110
# https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/#installing-the-theme
1211

@@ -18,118 +17,148 @@ minimal_mistakes_skin : "default" # "air", "aqua", "contrast", "dark", "dirt"
1817
locale : "en-US"
1918
title : "Rock the JVM Blog"
2019
title_separator : "-"
21-
subtitle : Articles on Scala, Kotlin, software and more
20+
subtitle : "Articles on Scala, Kotlin, software and more"
2221
name : "Rock the JVM"
2322
description : "Blog about Scala, functional programming, distributed systems (Akka), big data (Apache Spark) and the JVM."
2423
url : "https://blog.rockthejvm.com"
25-
baseurl : # the subpath of your site, e.g. "/blog"
26-
repository : # GitHub username/repo-name e.g. "mmistakes/minimal-mistakes"
27-
teaser : # path of fallback teaser image, e.g. "/assets/images/500x300.png"
28-
logo : "/assets/fiery-lava 128x128.png" # path of logo image to display in the masthead, e.g. "/assets/images/88x88.png"
29-
masthead_title : # overrides the website title displayed in the masthead, use " " for no title
24+
baseurl : "" # the subpath of your site, e.g. "/blog"
25+
repository : "" # GitHub username/repo-name e.g. "mmistakes/minimal-mistakes"
26+
teaser : "" # path of fallback teaser image, e.g. "/assets/images/500x300.png"
27+
# logo : "/assets/fiery-lava 128x128.png" # path of logo image to display in the masthead, e.g. "/assets/images/88x88.png"
28+
masthead_title : "" # overrides the website title displayed in the masthead, use " " for no title
3029
# breadcrumbs : false # true, false (default)
3130
words_per_minute : 200
3231
comments:
33-
provider : # false (default), "disqus", "discourse", "facebook", "staticman", "staticman_v2", "utterances", "custom"
32+
provider : false # false (default), "disqus", "discourse", "facebook", "staticman", "staticman_v2", "utterances", "custom"
3433
disqus:
35-
shortname : # https://help.disqus.com/customer/portal/articles/466208-what-s-a-shortname-
34+
shortname : "" # https://help.disqus.com/customer/portal/articles/466208-what-s-a-shortname-
3635
discourse:
37-
server : # https://meta.discourse.org/t/embedding-discourse-comments-via-javascript/31963 , e.g.: meta.discourse.org
36+
server : "" # https://meta.discourse.org/t/embedding-discourse-comments-via-javascript/31963 , e.g.: meta.discourse.org
3837
facebook:
3938
# https://developers.facebook.com/docs/plugins/comments
40-
appid :
41-
num_posts : # 5 (default)
42-
colorscheme : # "light" (default), "dark"
39+
appid : ""
40+
num_posts : 5 # 5 (default)
41+
colorscheme : "light" # "light" (default), "dark"
4342
utterances:
44-
theme : # "github-light" (default), "github-dark"
45-
issue_term : # "pathname" (default)
43+
theme : "github-light" # "github-light" (default), "github-dark"
44+
issue_term : "pathname" # "pathname" (default)
4645
staticman:
47-
branch : # "master"
48-
endpoint : # "https://{your Staticman v3 API}/v3/entry/github/"
46+
branch : "master"
47+
endpoint : "" # "https://{your Staticman v3 API}/v3/entry/github/"
4948
reCaptcha:
50-
siteKey :
51-
secret :
49+
siteKey : ""
50+
secret : ""
5251
atom_feed:
53-
path : # blank (default) uses feed.xml
54-
search : true #, false (default)
55-
search_full_content : # true, false (default)
56-
search_provider : # lunr (default), algolia, google
52+
path : "/feed.xml" # blank (default) uses feed.xml
53+
search : true # true, false (default)
54+
search_full_content : false # true, false (default)
55+
search_provider : lunr # lunr (default), algolia, google
5756
algolia:
58-
application_id : # YOUR_APPLICATION_ID
59-
index_name : # YOUR_INDEX_NAME
60-
search_only_api_key : # YOUR_SEARCH_ONLY_API_KEY
61-
powered_by : # true (default), false
57+
application_id : "" # YOUR_APPLICATION_ID
58+
index_name : "" # YOUR_INDEX_NAME
59+
search_only_api_key : "" # YOUR_SEARCH_ONLY_API_KEY
60+
powered_by : true # true (default), false
6261
google:
63-
search_engine_id : # YOUR_SEARCH_ENGINE_ID
64-
instant_search : # false (default), true
62+
search_engine_id : "" # YOUR_SEARCH_ENGINE_ID
63+
instant_search : false # false (default), true
6564
# SEO Related
66-
google_site_verification :
67-
bing_site_verification :
68-
yandex_site_verification :
69-
naver_site_verification :
65+
google_site_verification : ""
66+
bing_site_verification : ""
67+
yandex_site_verification : ""
68+
naver_site_verification : ""
7069

7170
# Social Sharing
7271
twitter:
7372
username : "rockthejvm"
73+
icon : "icons/twitter.svg"
7474
facebook:
7575
username : "rockthejvm"
76-
app_id :
77-
publisher :
76+
icon : "icons/facebook-square.svg"
77+
app_id : ""
78+
publisher : ""
79+
linkedin:
80+
icon : "icons/linkedin.svg"
7881
og_image : "images/blog cover large.jpg"
7982
# For specifying social profiles
8083
# - https://developers.google.com/structured-data/customize/social-profiles
8184
social:
82-
type : # Person or Organization (defaults to Person)
83-
name : # If the user or organization name differs from the site's name
84-
links: # An array of links to social media profiles
85+
type : "Organization" # Person or Organization (defaults to Person)
86+
name : "Rock the JVM" # If the user or organization name differs from the site's name
87+
links:
88+
- "https://twitter.com/rockthejvm"
89+
- "https://facebook.com/rockthejvm"
90+
- "https://github.com/rockthejvm"
91+
- "https://youtube.com/rockthejvm"
92+
93+
global_icons:
94+
tag_icon : "icons/tag.svg"
95+
calendar_icon : "icons/calendar.svg"
96+
email_icon : "icons/email.svg"
97+
read_time_icon : "icons/clock.svg"
98+
feed_icon : "icons/rss.svg"
99+
file_icon : "icons/file-alt.svg"
100+
location_icon : "icons/location.svg"
101+
link_icon : "icons/link.svg"
102+
github_icon : "icons/github.svg"
103+
youtube_icon : "icons/youtube.svg"
104+
folder_open_icon : "icons/folder_open.svg"
105+
no_icon : "icons/no_icon.svg"
85106

86107
# Analytics
87108
analytics:
88109
provider : false # false (default), "google", "google-universal", "google-gtag", "custom"
89110
google:
90-
tracking_id :
91-
anonymize_ip : # true, false (default)
92-
111+
tracking_id : ""
112+
anonymize_ip : false # true, false (default)
93113

94114
# Site Author
95115
author:
96116
name : "Daniel Ciocîrlan"
97-
avatar : "/images/bio-photo.jpg"
117+
avatar : "https://res.cloudinary.com/dkoypjlgr/image/upload/c_auto,g_auto,h_110,w_110/v1715951687/daniel_mugshot_mktrla.jpg"
98118
bio : "I'm a software engineer and the founder of Rock the JVM. I teach Scala, Kotlin, Java, big data and a variety of tech both live and in online courses."
99119
location : "Bucharest, Romania"
100120
101121
links:
102122
- label: "Website"
103123
icon: "fas fa-fw fa-link"
104124
url: "https://rockthejvm.com"
125+
iconFile: "icons/link.svg"
105126
- label: "Twitter"
106127
icon: "fab fa-fw fa-twitter-square"
107128
url: "https://twitter.com/rockthejvm"
129+
iconFile: "icons/twitter.svg"
108130
- label: "Facebook"
109131
icon: "fab fa-fw fa-facebook-square"
110132
url: "https://facebook.com/rockthejvm"
133+
iconFile: "icons/facebook-square.svg"
111134
- label: "GitHub"
112135
icon: "fab fa-fw fa-github"
113136
url: "https://github.com/rockthejvm"
137+
iconFile: "icons/github.svg"
114138
- label: "YouTube"
115139
icon: "fab fa-fw fa-youtube"
116140
url: "https://youtube.com/rockthejvm"
141+
iconFile: "icons/youtube.svg"
117142

118143
# Site Footer
119144
footer:
120145
links:
121146
- label: "Twitter"
122147
icon: "fab fa-fw fa-twitter-square"
123148
url: "https://twitter.com/rockthejvm"
149+
iconFile: "icons/twitter.svg"
124150
- label: "Facebook"
125151
icon: "fab fa-fw fa-facebook-square"
126152
url: "https://facebook.com/rockthejvm"
153+
iconFile: "icons/facebook-square.svg"
127154
- label: "GitHub"
128155
icon: "fab fa-fw fa-github"
129156
url: "https://github.com/rockthejvm"
157+
iconFile: "icons/github.svg"
130158
- label: "YouTube"
131159
icon: "fab fa-fw fa-youtube"
132160
url: "https://youtube.com/rockthejvm"
161+
iconFile: "icons/youtube.svg"
133162

134163
# Reading Files
135164
include:
@@ -168,15 +197,13 @@ keep_files:
168197
encoding: "utf-8"
169198
markdown_ext: "markdown,mkdown,mkdn,mkd,md"
170199

171-
172200
# Conversion
173201
markdown: kramdown
174202
#highlighter: rouge
175203
lsi: false
176204
excerpt_separator: "\n\n"
177205
incremental: false
178206

179-
180207
# Markdown Processing
181208
kramdown:
182209
input: GFM
@@ -188,19 +215,16 @@ kramdown:
188215
smart_quotes: lsquo,rsquo,ldquo,rdquo
189216
enable_coderay: false
190217

191-
192218
# Sass/SCSS
193219
sass:
194220
sass_dir: _sass
195221
style: compressed # https://sass-lang.com/documentation/file.SASS_REFERENCE.html#output_style
196222

197-
198223
# Outputting
199224
permalink: /:categories/:title/
200225
paginate: 10 # amount of posts to show
201226
paginate_path: /page:num/
202-
timezone: # https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
203-
227+
timezone: "" # https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
204228

205229
# Plugins (previously gems:)
206230
plugins:
@@ -221,7 +245,6 @@ whitelist:
221245
- jekyll-include-cache
222246
- jekyll-archives
223247

224-
225248
# Archives
226249
# Type
227250
# - GitHub Pages compatible archive pages built with Liquid ~> type: liquid (default)
@@ -250,15 +273,13 @@ jekyll-archives:
250273
category: /categories/:name/
251274
tag: /tags/:name/
252275

253-
254276
# HTML Compression
255277
# - https://jch.penibelst.de/
256278
compress_html:
257279
clippings: all
258280
ignore:
259281
envs: development
260282

261-
262283
# Defaults
263284
defaults:
264285
# _posts

_drafts/2021-09-14-scalac.md

+3-14
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Scala isn't Hard: How to Master Scala Step by Step"
33
date: 2021-09-14
44
header:
5-
image: "/images/blog cover.jpg"
5+
image: "https://res.cloudinary.com/dkoypjlgr/image/upload/f_auto,q_auto:good,c_auto,w_1200,h_300,g_auto,fl_progressive/v1715952116/blog_cover_large_phe6ch.jpg"
66
tags: []
77
excerpt: "Scalac article lol."
88
---
@@ -27,7 +27,7 @@ As a prerequisite, you should be familiar with programming in general — wi
2727

2828
If you're onboard for this journey, let's warm you up. This is where most people drop Scala because it's either 1) too frustrating because they have gaps in computer science basics, or 2) too boring because most tutorials spend too much time on these topics.
2929

30-
The absolute basics of the Scala language include a few key ideas.
30+
The absolute basics of the Scala language include a few key ideas.
3131

3232
- Defining values (`val`s) and understanding that values are the equivalent of constants in other languages.
3333
- Getting familiar with types in Scala: this is also where you get accustomed to the compiler and to _type inference_, the ability of the compiler to figure out the type of your values depending on what you write on the right hand side of an assignment.
@@ -52,7 +52,7 @@ This is where most people dive in too early, but in my experience, this is not t
5252

5353
Why?
5454

55-
Because Scala, being based on the JVM — which was built for Java, one of the canonical OO languages — has to resort to certain tricks to achieve some of the key aspects of functional programming: the ability to pass functions as arguments and to return them as results. In other words, the ability to handle functions as "first class" elements of the language, built for a platform that only supports OOP, needs some OO foundations.
55+
Because Scala, being based on the JVM — which was built for Java, one of the canonical OO languages — has to resort to certain tricks to achieve some of the key aspects of functional programming: the ability to pass functions as arguments and to return them as results. In other words, the ability to handle functions as "first class" elements of the language, built for a platform that only supports OOP, needs some OO foundations.
5656

5757
- Now you're ready to understand what a function value is in Scala. You can get familiar with the `FunctionN` family of traits in Scala. With this knowledge, I personally felt like a new section of my brain was unlocked, when I learned this.
5858
- Learn lambdas, i.e. anonymous functions. With the idea above, this concept will now feel trivial.
@@ -150,14 +150,3 @@ So why should you learn Scala at all? Here are a few reasons:
150150
- It's just plain fun. Scala can be so expressive, so compact and yet so powerful. With some of the tools above, you can write in 20 lines what other developers need 2000 lines.
151151

152152
I hope the above ideas and tips were useful. Tens of thousands who learned from [Rock the JVM](https://rockthejvm.com) have followed them, with some amazing results for their projects and their careers.
153-
154-
155-
156-
157-
158-
159-
160-
161-
162-
163-

_includes/analytics-providers/google-gtag.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<!-- Global site tag (gtag.js) - Google Analytics -->
22
<script async src="https://www.googletagmanager.com/gtag/js?id={{ site.analytics.google.tracking_id }}"></script>
3-
<script>
3+
<script async>
44
window.dataLayer = window.dataLayer || [];
55
function gtag(){dataLayer.push(arguments);}
66
gtag('js', new Date());

_includes/analytics-providers/google-universal.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<script>
1+
<script async>
22
window.ga=function(){ga.q.push(arguments)};ga.q=[];ga.l=+new Date;
33
ga('create','{{ site.analytics.google.tracking_id }}','auto');
44
ga('set', 'anonymizeIp', {{ site.analytics.google.anonymize_ip | default: false }});

_includes/analytics-providers/google.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<script>
1+
<script async>
22
var _gaq = _gaq || [];
33
_gaq.push(['_setAccount', '{{ site.analytics.google.tracking_id }}']);
44
{% if site.analytics.google.anonymize_ip == true %}

_includes/archive-single.html

+18-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,24 @@
1919
{% endif %}
2020
<h2 class="archive__item-title no_toc" itemprop="headline">
2121
{% if post.link %}
22-
<a href="{{ post.link }}">{{ title }}</a> <a href="{{ post.url | relative_url }}" rel="permalink"><i class="fas fa-link" aria-hidden="true" title="permalink"></i><span class="sr-only">Permalink</span></a>
22+
<a href="{{ post.link }}">{{ title }}</a> <a href="{{ post.url | relative_url }}" rel="permalink">
23+
{% if site.global_icons.link_icon %}
24+
<svg class="icon">
25+
{% capture svg %}
26+
{% include {{ site.global_icons.link_icon }} %}
27+
{% endcapture %}
28+
{{ svg | remove: '<?xml version="1.0" encoding="UTF-8"?>' }}
29+
</svg>
30+
{% else %}
31+
<svg class="icon">
32+
{% capture svg %}
33+
{% include {{ site.global_icons.no_icon }} %}
34+
{% endcapture %}
35+
{{ svg | remove: '<?xml version="1.0" encoding="UTF-8"?>' }}
36+
</svg>
37+
{% endif %}
38+
<span class="sr-only">Permalink</span>
39+
</a>
2340
{% else %}
2441
<a href="{{ post.url | relative_url }}" rel="permalink">{{ title }}</a>
2542
{% endif %}

0 commit comments

Comments
 (0)