diff --git a/.github/workflows/broken-links.yml b/.github/workflows/broken-links.yml
index 0c35d19..972b89c 100644
--- a/.github/workflows/broken-links.yml
+++ b/.github/workflows/broken-links.yml
@@ -49,4 +49,4 @@ jobs:
with:
fail: true
# removed md files that include liquid tags
- args: --user-agent 'curl/7.54' --exclude-path README.md --exclude-path _pages/404.md --exclude-path _pages/blog.md --exclude-path _posts/2018-12-22-distill.md --exclude-path _posts/2023-04-24-videos.md --verbose --no-progress './**/*.md' './**/*.html'
+ args: --user-agent 'curl/7.54' --exclude-path README.md --exclude-path _pages/404.md --exclude-path _pages/blog.md --exclude-path _posts/2018-12-22-distill.md --exclude-path _posts/2023-04-24-videos.md --exclude-path _books/the_godfather.md --verbose --no-progress './**/*.md' './**/*.html'
diff --git a/CUSTOMIZE.md b/CUSTOMIZE.md
index 61a02b8..32d656b 100644
--- a/CUSTOMIZE.md
+++ b/CUSTOMIZE.md
@@ -59,10 +59,12 @@ You can create new pages by adding new Markdown files in the [\_pages](_pages/)
## Creating new blog posts
-To create a new blog post, you can add a new Markdown file in the [\_posts](_posts/) directory. The [name of the file must follow](https://jekyllrb.com/docs/posts/#creating-posts) the format `YYYY-MM-DD-title.md`. The easiest way to do this is to copy an existing blog post and modify it. Note that some blog posts have optional fields in the [frontmatter](https://jekyllrb.com/docs/front-matter/) that are used to enable specific behaviors or functions.
+To create a new blog post, you can add a new Markdown file in the [\_posts](_posts/) directory, which is the [default location for posts in Jekyll](https://jekyllrb.com/docs/posts/). The [name of the file must follow](https://jekyllrb.com/docs/posts/#creating-posts) the format `YYYY-MM-DD-title.md`. The easiest way to do this is to copy an existing blog post and modify it. Note that some blog posts have optional fields in the [frontmatter](https://jekyllrb.com/docs/front-matter/) that are used to enable specific behaviors or functions.
If you want to create blog posts that are not ready to be published, but you want to track it with git, you can create a [\_drafts](https://jekyllrb.com/docs/posts/#drafts) directory and store them there.
+Note that `posts` is also a collection, but it is a default collection created automatically by Jekyll. To access the posts, you can use the `site.posts` variable in your templates.
+
## Creating new projects
You can create new projects by adding new Markdown files in the [\_projects](_projects/) directory. The easiest way to do this is to copy an existing project and modify it.
@@ -73,10 +75,14 @@ You can add news in the about page by adding new Markdown files in the [\_news](
## Adding Collections
-This Jekyll theme implements `collections` to let you break up your work into categories. The theme comes with two default collections: `news` and `projects`. Items from the `news` collection are automatically displayed on the home page. Items from the `projects` collection are displayed on a responsive grid on projects page.
+This Jekyll theme implements [collections](https://jekyllrb.com/docs/collections/) to let you break up your work into categories. The theme comes with three default collections: `news`, `projects`, and `books`. Items from the `news` collection are automatically displayed on the home page, while items from the `projects` collection are displayed on a responsive grid on projects page and items from the `books` collection are displayed on its own `bookshelf` page inside `submenus`.
You can easily create your own collections, apps, short stories, courses, or whatever your creative work is. To do this, edit the collections in the [\_config.yml](_config.yml) file, create a corresponding folder, and create a landing page for your collection, similar to [\_pages/projects.md](_pages/projects.md).
+If you wish to create a collection with support for categories and tags, like the blog posts, you just need to add this collection to the `jekyll-archives` section of your [\_config.yml](_config.yml) file. You can check how this is done with the `books` collection. For more information about customizing the archives section or creating your own archives page, check the [jekyll-archives-v2 documentation](https://george-gca.github.io/jekyll-archives-v2/).
+
+To access the collections, you can use the `site.COLLECTION_NAME` variable in your templates.
+
## Adding a new publication
To add publications create a new entry in the [\_bibliography/papers.bib](_bibliography/papers.bib) file. You can find the BibTeX entry of a publication in Google Scholar by clicking on the quotation marks below the publication title, then clicking on "BibTeX", or also in the conference page itself. By default, the publications will be sorted by year and the most recent will be displayed first. You can change this behavior and more in the `Jekyll Scholar` section in [\_config.yml](_config.yml) file.
@@ -183,11 +189,9 @@ You can also:
- delete [\_includes/latest_posts.liquid](_includes/latest_posts.liquid)
- delete [\_includes/related_posts.liquid](_includes/related_posts.liquid)
-- delete [\_layouts/archive-category.liquid](_layouts/archive-category.liquid)
-- delete [\_layouts/archive-tag.liquid](_layouts/archive-tag.liquid)
-- delete [\_layouts/archive-year.liquid](_layouts/archive-year.liquid)
+- delete [\_layouts/archive.liquid](_layouts/archive.liquid) (unless you have a custom collection that uses it)
- delete [\_plugins/external-posts.rb](_plugins/external-posts.rb)
-- remove the `jekyll-archives` gem from the [Gemfile](Gemfile) and the `plugins` section in [\_config.yml](_config.yml)
+- remove the `jekyll-archives-v2` gem from the [Gemfile](Gemfile) and the `plugins` section in [\_config.yml](_config.yml) (unless you have a custom collection that uses it)
- remove the `classifier-reborn` gem from the [Gemfile](Gemfile)
### Removing the news section
diff --git a/Gemfile b/Gemfile
index c9a2706..164c945 100644
--- a/Gemfile
+++ b/Gemfile
@@ -4,7 +4,7 @@ gem 'jekyll'
# Core plugins that directly affect site building
group :jekyll_plugins do
- gem 'jekyll-archives'
+ gem 'jekyll-archives-v2'
gem 'jekyll-email-protect'
gem 'jekyll-feed'
gem 'jekyll-get-json'
@@ -32,7 +32,7 @@ group :other_plugins do
gem 'httparty'
gem 'observer' # used by jekyll-scholar
gem 'ostruct' # used by jekyll-twitter-plugin
- gem 'terser' # used by jekyll-terser
+ # gem 'terser' # used by jekyll-terser
# gem 'unicode_utils' -- should be already installed by jekyll
# gem 'webrick' -- should be already installed by jekyll
end
diff --git a/Gemfile.lock b/Gemfile.lock
index f8ba85d..07a7c42 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,8 +1,8 @@
GIT
remote: https://github.com/RobertoJBeltran/jekyll-terser.git
- revision: 2f737004fe4732b92021c84e4de71e6a8585ff01
+ revision: 1085bf66d692799af09fe39f8162a1e6e42a3cc4
specs:
- jekyll-terser (0.2.2)
+ jekyll-terser (0.2.3)
jekyll (>= 0.10.0)
terser (>= 1.0.0)
@@ -30,8 +30,13 @@ GEM
latex-decode (~> 0.0)
racc (~> 1.7)
bigdecimal (3.1.9)
- citeproc (1.0.10)
+ citeproc (1.1.0)
+ date
+ forwardable
+ json
namae (~> 1.0)
+ observer (< 1.0)
+ open-uri (< 1.0)
citeproc-ruby (1.1.14)
citeproc (~> 1.0, >= 1.0.9)
csl (~> 1.6)
@@ -51,6 +56,7 @@ GEM
addressable
cssminify2 (2.0.1)
csv (3.3.2)
+ date (3.4.1)
deep_merge (1.2.2)
drb (2.2.1)
em-websocket (0.5.3)
@@ -70,6 +76,7 @@ GEM
ffi (1.17.1-x86_64-darwin)
ffi (1.17.1-x86_64-linux-gnu)
ffi (1.17.1-x86_64-linux-musl)
+ forwardable (1.3.3)
forwardable-extended (2.6.0)
gemoji (4.1.0)
google-protobuf (4.29.3)
@@ -96,25 +103,29 @@ GEM
csv
mini_mime (>= 1.0.0)
multi_xml (>= 0.5.2)
- i18n (1.14.6)
+ i18n (1.14.7)
concurrent-ruby (~> 1.0)
- jekyll (4.3.4)
+ jekyll (4.4.1)
addressable (~> 2.4)
+ base64 (~> 0.2)
colorator (~> 1.0)
+ csv (~> 3.0)
em-websocket (~> 0.5)
i18n (~> 1.0)
jekyll-sass-converter (>= 2.0, < 4.0)
jekyll-watch (~> 2.0)
+ json (~> 2.6)
kramdown (~> 2.3, >= 2.3.1)
kramdown-parser-gfm (~> 1.0)
liquid (~> 4.0)
- mercenary (>= 0.3.6, < 0.5)
+ mercenary (~> 0.3, >= 0.3.6)
pathutil (~> 0.9)
rouge (>= 3.0, < 5.0)
safe_yaml (~> 1.0)
terminal-table (>= 1.8, < 4.0)
webrick (~> 1.7)
- jekyll-archives (2.3.0)
+ jekyll-archives-v2 (0.0.6)
+ activesupport
jekyll (>= 3.6, < 5.0)
jekyll-email-protect (1.1.0)
jekyll-feed (0.17.0)
@@ -136,8 +147,8 @@ GEM
jekyll-paginate-v2 (3.0.0)
jekyll (>= 3.0, < 5.0)
jekyll-regex-replace (1.1.0)
- jekyll-sass-converter (3.0.0)
- sass-embedded (~> 1.54)
+ jekyll-sass-converter (3.1.0)
+ sass-embedded (~> 1.75)
jekyll-scholar (7.1.3)
bibtex-ruby (~> 6.0)
citeproc-ruby (~> 1.0)
@@ -157,7 +168,7 @@ GEM
gemoji (>= 3, < 5)
html-pipeline (~> 2.2)
jekyll (>= 3.0, < 5.0)
- json (2.9.1)
+ json (2.10.1)
json-minify (0.0.3)
json (> 0)
kramdown (2.5.1)
@@ -169,7 +180,7 @@ GEM
listen (3.9.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
- logger (1.6.5)
+ logger (1.6.6)
loofah (2.24.0)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
@@ -198,6 +209,10 @@ GEM
nokogiri (1.18.3-x86_64-linux-musl)
racc (~> 1.4)
observer (0.1.2)
+ open-uri (0.5.0)
+ stringio
+ time
+ uri
ostruct (0.6.1)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
@@ -207,37 +222,40 @@ GEM
rb-fsevent (0.11.2)
rb-inotify (0.11.1)
ffi (~> 1.0)
- rexml (3.4.0)
+ rexml (3.4.1)
rouge (4.5.1)
safe_yaml (1.0.5)
- sass-embedded (1.83.4-aarch64-linux-gnu)
+ sass-embedded (1.85.1-aarch64-linux-gnu)
google-protobuf (~> 4.29)
- sass-embedded (1.83.4-aarch64-linux-musl)
+ sass-embedded (1.85.1-aarch64-linux-musl)
google-protobuf (~> 4.29)
- sass-embedded (1.83.4-arm-linux-gnueabihf)
+ sass-embedded (1.85.1-arm-linux-gnueabihf)
google-protobuf (~> 4.29)
- sass-embedded (1.83.4-arm-linux-musleabihf)
+ sass-embedded (1.85.1-arm-linux-musleabihf)
google-protobuf (~> 4.29)
- sass-embedded (1.83.4-arm64-darwin)
+ sass-embedded (1.85.1-arm64-darwin)
google-protobuf (~> 4.29)
- sass-embedded (1.83.4-x86_64-darwin)
+ sass-embedded (1.85.1-x86_64-darwin)
google-protobuf (~> 4.29)
- sass-embedded (1.83.4-x86_64-linux-gnu)
+ sass-embedded (1.85.1-x86_64-linux-gnu)
google-protobuf (~> 4.29)
- sass-embedded (1.83.4-x86_64-linux-musl)
+ sass-embedded (1.85.1-x86_64-linux-musl)
google-protobuf (~> 4.29)
sax-machine (1.3.2)
securerandom (0.4.1)
+ stringio (3.1.5)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
- terser (1.2.4)
+ terser (1.2.5)
execjs (>= 0.3.0, < 3)
+ time (0.4.1)
+ date
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
uglifier (4.2.1)
execjs (>= 0.3.0, < 3)
unicode-display_width (2.6.0)
- uri (1.0.2)
+ uri (1.0.3)
webrick (1.9.1)
PLATFORMS
@@ -260,7 +278,7 @@ DEPENDENCIES
feedjira
httparty
jekyll
- jekyll-archives
+ jekyll-archives-v2
jekyll-email-protect
jekyll-feed
jekyll-get-json
@@ -279,7 +297,6 @@ DEPENDENCIES
jemoji
observer
ostruct
- terser
BUNDLED WITH
- 2.6.2
+ 2.6.5
diff --git a/INSTALL.md b/INSTALL.md
index 03b7f8f..82c7562 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -210,7 +210,7 @@ If you installed **al-folio** as described above, you can manually update your c
# Assuming the current directory is
$ git remote add upstream https://github.com/alshedivat/al-folio.git
$ git fetch upstream
-$ git rebase v0.13.4
+$ git rebase v0.14.0
```
If you have extensively customized a previous version, it might be trickier to upgrade.
diff --git a/_books/the_godfather.md b/_books/the_godfather.md
new file mode 100644
index 0000000..c0689e5
--- /dev/null
+++ b/_books/the_godfather.md
@@ -0,0 +1,27 @@
+---
+layout: book-review
+title: The Godfather
+author: Mario Puzo
+cover: assets/img/book_covers/the_godfather.jpg
+olid: OL43499941M # use Open Library ID to fetch cover (if no `cover` is provided)
+isbn: 7539967447 # use ISBN to fetch cover (if no `olid` is provided, dashes are optional)
+categories: classics crime historical-fiction mystery novels thriller
+tags: top-100
+buy_link: https://www.amazon.com/Godfather-Deluxe-Mario-Puzo/dp/0593542592
+started: 2024-08-23
+finished: 2024-09-07
+released: 1969
+stars: 5
+goodreads_review: 6318556633
+status: Finished
+---
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras sollicitudin eros sit amet ante aliquet, sit amet vulputate lectus mattis. Aenean ullamcorper pretium nunc, sed egestas lorem elementum id. Nulla id mi id neque ultrices egestas ut in urna. Sed ac ultricies nunc. Nam convallis placerat urna id egestas. Nulla porta, est interdum vestibulum venenatis, lorem odio laoreet sapien, in pulvinar tellus eros a dolor. Vivamus sapien justo, ullamcorper a mi eget, scelerisque euismod nunc. In augue augue, ultrices a ornare non, tincidunt quis justo. Donec sit amet consectetur eros. Nullam neque leo, tincidunt id ipsum ac, volutpat lobortis mi. Phasellus consequat ultricies arcu, eu semper ligula ultrices eget. Ut in fringilla elit, ac tincidunt nisi.
+
+Nunc commodo elit nec turpis feugiat consectetur. Nullam in nisi egestas, fermentum ligula hendrerit, euismod enim. Nulla eu hendrerit eros. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin et velit ante. Vestibulum pretium vitae quam et sagittis. Proin eu nunc vel velit accumsan eleifend. Nulla facilisis, diam tempus imperdiet ultrices, massa ipsum consequat orci, sed efficitur eros mi a felis. Cras lobortis turpis sem, sed lobortis nunc ullamcorper tristique. Nam vehicula rhoncus ante, in faucibus sapien scelerisque et. Donec semper libero et tincidunt mattis. In vestibulum, nulla pretium dictum commodo, risus nulla vestibulum felis, at tincidunt massa mi in odio. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
+
+Donec efficitur ultrices purus sit amet imperdiet. Nam consequat metus in erat sodales faucibus. Aliquam maximus fermentum nulla id finibus. Aliquam iaculis sed odio vel rutrum. Curabitur sed odio est. Praesent nec sollicitudin tortor. Praesent pharetra, turpis quis porttitor rhoncus, ante massa fringilla lacus, nec porttitor magna turpis vitae felis. Nullam tristique massa id odio imperdiet, nec sodales massa egestas. Proin nisi metus, euismod sed accumsan vitae, facilisis vel risus. Morbi suscipit auctor erat, nec viverra elit fringilla eu. Mauris congue, purus id tristique facilisis, felis nisi efficitur magna, eu consectetur augue sem vitae lacus. Aliquam erat volutpat. Cras at nibh ultricies, volutpat arcu vitae, dictum est. In ac dolor sagittis, egestas lectus et, semper nisl. Etiam consectetur purus vitae sapien porttitor auctor.
+
+Nulla sit amet venenatis odio. Suspendisse ac lacus quis augue mollis tempus vel in lorem. Donec augue turpis, eleifend nec nibh eu, elementum dictum metus. Proin ut est ligula. Etiam vehicula facilisis metus, sit amet consectetur risus ullamcorper porttitor. In congue nibh quis sollicitudin iaculis. Donec a mollis lorem, non mollis lacus. Nulla et leo ex. Aliquam erat volutpat. Nam sit amet tincidunt mauris. Vivamus vitae est sit amet nisi semper egestas. Donec in diam pharetra, commodo diam vitae, imperdiet ligula. Cras iaculis ac diam eget vehicula. Proin suscipit ante enim, quis vehicula mi porta bibendum. Aliquam a diam porttitor, sollicitudin justo vitae, tempor odio.
+
+Cras fermentum dignissim pretium. Donec quis turpis eu neque lacinia facilisis in sit amet nibh. Nulla non tortor ultricies, euismod est in, blandit nibh. Ut a neque metus. Sed convallis condimentum nibh quis finibus. Praesent aliquam sem iaculis eros maximus accumsan. Nulla venenatis mauris id aliquet maximus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin at enim vitae ex porttitor vestibulum sed eget nibh. Suspendisse accumsan feugiat quam eget ultricies.
diff --git a/_config.yml b/_config.yml
index 1603de4..e34c7fb 100644
--- a/_config.yml
+++ b/_config.yml
@@ -144,14 +144,14 @@ newsletter:
# -----------------------------------------------------------------------------
collections:
+ books:
+ output: true
news:
defaults:
layout: post
output: true
- permalink: /:collection/:title/
projects:
output: true
- permalink: /:collection/:title/
# -----------------------------------------------------------------------------
# Jekyll settings
@@ -198,7 +198,7 @@ keep_files:
# Plug-ins
plugins:
- - jekyll-archives
+ - jekyll-archives-v2
- jekyll-email-protect
- jekyll-feed
- jekyll-get-json
@@ -247,15 +247,14 @@ terser:
# -----------------------------------------------------------------------------
jekyll-archives:
- enabled: [year, tags, categories] # enables year, tag and category archives (remove if you need to disable one of them).
- layouts:
- year: archive-year
- tag: archive-tag
- category: archive-category
- permalinks:
- year: "/blog/:year/"
- tag: "/blog/tag/:name/"
- category: "/blog/category/:name/"
+ posts:
+ enabled: [year, tags, categories] # enables year, tag and category archives (remove if you need to disable one of them).
+ permalinks:
+ year: "/blog/:year/"
+ tags: "/blog/:type/:name/"
+ categories: "/blog/:type/:name/"
+ books:
+ enabled: [year, tags, categories] # enables year, tag and category archives (remove if you need to disable one of them).
display_tags: ["formatting", "images", "links", "math", "code", "blockquotes"] # these tags will be displayed on the front page of your blog
display_categories: ["external-services"] # these categories will be displayed on the front page of your blog
diff --git a/_layouts/archive-category.liquid b/_layouts/archive-category.liquid
deleted file mode 100644
index 2fc5009..0000000
--- a/_layouts/archive-category.liquid
+++ /dev/null
@@ -1,30 +0,0 @@
----
-layout: default
----
-
-
-
-
-
-
- {% for post in page.posts %}
-
- | {{ post.date | date: '%b %d, %Y' }} |
-
- {% if post.redirect == blank %}
- {{ post.title }}
- {% elsif post.redirect contains '://' %}
- {{ post.title }}
- {% else %}
- {{ post.title }}
- {% endif %}
- |
-
- {% endfor %}
-
-
-
-
diff --git a/_layouts/archive-tag.liquid b/_layouts/archive-tag.liquid
deleted file mode 100644
index 81019a0..0000000
--- a/_layouts/archive-tag.liquid
+++ /dev/null
@@ -1,30 +0,0 @@
----
-layout: default
----
-
-
-
-
-
-
- {% for post in page.posts %}
-
- | {{ post.date | date: '%b %d, %Y' }} |
-
- {% if post.redirect == blank %}
- {{ post.title }}
- {% elsif post.redirect contains '://' %}
- {{ post.title }}
- {% else %}
- {{ post.title }}
- {% endif %}
- |
-
- {% endfor %}
-
-
-
-
diff --git a/_layouts/archive-year.liquid b/_layouts/archive-year.liquid
deleted file mode 100644
index 0ce93ef..0000000
--- a/_layouts/archive-year.liquid
+++ /dev/null
@@ -1,30 +0,0 @@
----
-layout: default
----
-
-
-
-
-
-
- {% for post in page.posts %}
-
- | {{ post.date | date: '%b %d, %Y' }} |
-
- {% if post.redirect == blank %}
- {{ post.title }}
- {% elsif post.redirect contains '://' %}
- {{ post.title }}
- {% else %}
- {{ post.title }}
- {% endif %}
- |
-
- {% endfor %}
-
-
-
-
diff --git a/_layouts/archive.liquid b/_layouts/archive.liquid
new file mode 100644
index 0000000..b8d81b6
--- /dev/null
+++ b/_layouts/archive.liquid
@@ -0,0 +1,38 @@
+---
+layout: default
+---
+
diff --git a/_layouts/book-review.liquid b/_layouts/book-review.liquid
new file mode 100644
index 0000000..02a60a5
--- /dev/null
+++ b/_layouts/book-review.liquid
@@ -0,0 +1,257 @@
+---
+layout: default
+---
+{% assign year = page.started | date: '%Y' %}
+{% assign tags = page.tags | join: '' %}
+{% assign categories = page.categories | join: '' %}
+
+{% if page._styles %}
+
+
+{% endif %}
+
+
+
+
diff --git a/_layouts/book-shelf.liquid b/_layouts/book-shelf.liquid
new file mode 100644
index 0000000..09b0ad7
--- /dev/null
+++ b/_layouts/book-shelf.liquid
@@ -0,0 +1,49 @@
+---
+layout: page
+---
+{{ content }}
+
+{% if page.collection and page.collection.size > 0 %}
+ {% assign collection = site[page.collection] %}
+ {% if collection and collection.size > 0 %}
+ {% for item in collection reversed %}
+ {% assign current_year = item.date | date: '%Y' %}
+ {% if current_year != year %}
+ {% unless forloop.first %}
+
+ {% endunless %}
+
+
+ {% endif %}
+ {% endfor %}
+ {% endif %}
+{% endif %}
diff --git a/_layouts/post.liquid b/_layouts/post.liquid
index dc8a793..2dc810a 100644
--- a/_layouts/post.liquid
+++ b/_layouts/post.liquid
@@ -4,6 +4,7 @@ layout: default
{% assign year = page.date | date: '%Y' %}
{% assign tags = page.tags | join: '' %}
{% assign categories = page.categories | join: '' %}
+{% assign url_beginning = page.url | slice: 0, 6 %}
{% if page._styles %}
@@ -12,8 +13,6 @@ layout: default
{% endif %}
-{% assign url_beginning = page.url | slice: 0, 6 %}
-
@@ -148,13 +148,13 @@ pagination:
{% endif %}
-
+
{{ year }}
{% if tags != "" %}
·
{% for tag in post.tags %}
-
+
{{ tag }}
{% unless forloop.last %}
@@ -165,7 +165,7 @@ pagination:
{% if categories != "" %}
·
{% for category in post.categories %}
-
+
{{ category }}
{% unless forloop.last %}
diff --git a/_pages/books.md b/_pages/books.md
new file mode 100644
index 0000000..48ca7af
--- /dev/null
+++ b/_pages/books.md
@@ -0,0 +1,13 @@
+---
+layout: book-shelf
+title: bookshelf
+permalink: /books/
+nav: false
+collection: books
+---
+
+> What an astonishing thing a book is. It's a flat object made from a tree with flexible parts on which are imprinted lots of funny dark squiggles. But one glance at it and you're inside the mind of another person, maybe somebody dead for thousands of years. Across the millennia, an author is speaking clearly and silently inside your head, directly to you. Writing is perhaps the greatest of human inventions, binding together people who never knew each other, citizens of distant epochs. Books break the shackles of time. A book is proof that humans are capable of working magic.
+>
+> -- Carl Sagan, Cosmos, Part 11: The Persistence of Memory (1980)
+
+## Books that I am reading, have read, or will read
diff --git a/_pages/dropdown.md b/_pages/dropdown.md
index aa32f22..dc4302e 100644
--- a/_pages/dropdown.md
+++ b/_pages/dropdown.md
@@ -5,11 +5,8 @@ nav: true
nav_order: 8
dropdown: true
children:
- - title: publications
- permalink: /publications/
- - title: divider
- - title: projects
- permalink: /projects/
+ - title: bookshelf
+ permalink: /books/
- title: divider
- title: blog
permalink: /blog/
diff --git a/_sass/_base.scss b/_sass/_base.scss
index 18c9ec6..551b74f 100644
--- a/_sass/_base.scss
+++ b/_sass/_base.scss
@@ -1343,3 +1343,77 @@ ninja-keys::part(ninja-input-wrapper) {
background-color: var(--global-theme-color);
color: var(--global-text-color);
}
+
+figure.cover {
+ display: inline-block;
+ text-align: center;
+ margin: 0.5rem; /* adjust as needed */
+
+ img {
+ vertical-align: bottom;
+ }
+
+ figcaption.abandoned {
+ font-family: monospace;
+ color: #23212d;
+ text-transform: uppercase;
+ background-color: #ee5f5b;
+ }
+
+ figcaption.finished,
+ figcaption.watched {
+ font-family: monospace;
+ color: #23212d;
+ text-transform: uppercase;
+ background-color: #62c462;
+ }
+
+ figcaption.interested {
+ font-family: monospace;
+ color: #23212d;
+ text-transform: uppercase;
+ background-color: #7691db;
+ }
+
+ figcaption.paused {
+ font-family: monospace;
+ color: #23212d;
+ text-transform: uppercase;
+ background-color: #bdac7e;
+ }
+
+ figcaption.queued {
+ font-family: monospace;
+ color: #23212d;
+ text-transform: uppercase;
+ background-color: #9e76b5;
+ }
+
+ figcaption.reading,
+ figcaption.watching {
+ font-family: monospace;
+ color: #23212d;
+ text-transform: uppercase;
+ background-color: #f89406;
+ }
+
+ figcaption.reread,
+ figcaption.rewatch {
+ font-family: monospace;
+ color: #23212d;
+ text-transform: uppercase;
+ background-color: #a6517d;
+ }
+
+ figcaption.uncategorized {
+ font-family: monospace;
+ color: #23212d;
+ text-transform: uppercase;
+ background-color: #b0abb3;
+ }
+
+ /* mouse over link */
+ a.cover-link:hover {
+ color: #23212d !important;
+ }
+}
diff --git a/_scripts/search.liquid.js b/_scripts/search.liquid.js
index 12bb5a9..995c531 100644
--- a/_scripts/search.liquid.js
+++ b/_scripts/search.liquid.js
@@ -25,7 +25,7 @@ ninja.data = [
{%- unless child.title == 'divider' -%}
{
{%- assign title = child.title | escape | strip -%}
- {%- if child.permalink contains "/blog/" -%}{%- assign url = "/blog/" -%} {%- else -%}{%- assign url = child.url -%}{%- endif -%}
+ {%- if child.permalink contains "/blog/" -%}{%- assign url = "/blog/" -%} {%- else -%}{%- assign url = child.permalink -%}{%- endif -%}
id: "dropdown-{{ title | slugify }}",
title: "{{ title | truncatewords: 13 }}",
description: "{{ child.description | strip_html | strip_newlines | escape | strip }}",
diff --git a/assets/img/book_covers/the_godfather.jpg b/assets/img/book_covers/the_godfather.jpg
new file mode 100644
index 0000000..1d3a085
Binary files /dev/null and b/assets/img/book_covers/the_godfather.jpg differ
diff --git a/docker-compose.yml b/docker-compose.yml
index 47989d5..5ef856b 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,7 +1,7 @@
# this file uses prebuilt image in dockerhub
services:
jekyll:
- image: amirpourmand/al-folio:v0.13.4
+ image: amirpourmand/al-folio:v0.14.0
build: .
# uncomment these if you are having this issue with the build:
# /usr/local/bundle/gems/jekyll-4.3.4/lib/jekyll/site.rb:509:in `initialize': Permission denied @ rb_sysopen - /srv/jekyll/.jekyll-cache/.gitignore (Errno::EACCES)