Add an entry for "The Vela"
authorAlex Chan <alex@alexwlchan.net>
Sun, 18 Jul 2021 17:49:27 +0000 (18:49 +0100)
committerAlex Chan <alex@alexwlchan.net>
Sun, 18 Jul 2021 17:49:27 +0000 (18:49 +0100)
src/covers/the-vela-season-1.jpg [new file with mode: 0644]
src/reviews/2021/the-vela-season-1.md [new file with mode: 0644]
src/tint_colors.json
static/style.css
templates/review.html

diff --git a/src/covers/the-vela-season-1.jpg b/src/covers/the-vela-season-1.jpg
new file mode 100644 (file)
index 0000000..5db0a0e
Binary files /dev/null and b/src/covers/the-vela-season-1.jpg differ
diff --git a/src/reviews/2021/the-vela-season-1.md b/src/reviews/2021/the-vela-season-1.md
new file mode 100644 (file)
index 0000000..d66dbbb
--- /dev/null
@@ -0,0 +1,27 @@
+---
+book:
+  author: Yoon Ha Lee, Becky Chambers, Rivers Solomon, S.L. Huang
+  narrator: Robin Miles
+  cover_image: the-vela-season-1.jpg
+  publication_year: '2019'
+  title: The Vela (season 1)
+review:
+  date_read: 2021-07-18
+  format: audiobook
+  rating: 4
+---
+
+This was a gift from Mum in 2020.
+I asked for it because it had Becky Chambers as one of the listed authors, and I love her work.
+
+It's a story about Asala, a mercenary-for-hire in a solar system that's gradually freezing.
+She's dispatched to find the Vela, a refugee ship from a dying outer planet that's gone missing.
+Her journey takes her across several planets, and she discovers that it's not as simple as she was told.
+The ship was actually carrying technology that could help people escape the system—but she has to decide who gets it.
+
+The worldbuilding is excellent: it's a good concept that has parallels to real-world refugees, and it forces you to think about the difficult moral situations.
+The characters are well fleshed-out and compelling, and it ends on a cliffhanger ending that leaves me wanting more.
+The narration is good, with enough sound effects to be fun, but not enough to be distracting.
+
+Unfortunately, the audiobook can only be listened to in the Realm app (formerly Serial Box), which is not great.
+It frequently lost my place, and I don't feel compelled to listen to more books in the same app.
index b3114dc..e9eb8d8 100644 (file)
     ],
     "size": 8838
   },
+  "the-vela-season-1.jpg": {
+    "color": [
+      0.2021284965939915,
+      0.3711037952667867,
+      0.4611715013354868
+    ],
+    "size": 46150
+  },
   "the-void.jpg": {
     "color": [
       0.7692013390722147,
index 367f7bb..e5453d8 100644 (file)
@@ -108,16 +108,24 @@ aside a:hover {
 table.book_metadata {
   border-collapse: collapse;
   margin-bottom: 1em;
+  max-width: calc(100% - 230px);
 }
 
-td {
-  padding-right: 10px;
+td, th {
+  line-height: 1.4em;
+  vertical-align: top;
   padding-top:    3px;
   padding-bottom: 3px;
 }
 
+td {
+  font-weight: bold;
+}
+
 th {
+  padding-right: 10px;
   text-align: left;
+  font-weight: normal;
 }
 
 footer {
index 0d2cdba..2c95a4d 100644 (file)
     ] %}
       {% if contributor %}
         <tr>
-          <td>{{ label }}{% if "and" in contributor or ", " in contributor or " & " in contributor %}s{% endif %}:</td>
-          <th>{{ contributor }}
+          <th>{{ label }}{% if "and" in contributor or ", " in contributor or " & " in contributor %}s{% endif %}:</th>
+          <td>{{ contributor }}
             {%- if review_entry.book.publication_year and not contributor_options["has_printed_year"] %}
               ({{ review_entry.book.publication_year}})
               {% set _ = contributor_options.update({"has_printed_year": True}) %}
             {%- endif -%}
-          </th>
+          </td>
         </tr>
       {% endif %}
     {% endfor %}
 
     {% if review_entry.review.date_read %}
     <tr>
-      <td>date read:</td>
-      <th>{{ review_entry.review.date_read | render_date }}
+      <th>date read:</th>
+      <td>{{ review_entry.review.date_read | render_date }}
         {% if review_entry.review.did_not_finish %}
         <span class="did_not_finish">
           (did not finish)
         </span>
         {% endif %}
-      </th>
+      </td>
     </tr>
     {% endif %}
     {% if review_entry.review.rating %}
     <tr>
-      <td>rating:</td>
-      <th>
+      <th>rating:</th>
+      <td>
         {% for _ in range(review_entry.review.rating) %}
         ★
         {% endfor %}
         {% for _ in range(5 - review_entry.review.rating) %}
         ☆
         {% endfor %}
-      </th>
+      </td>
     </tr>
     {% endif %}
   </table>