為了記錄自己的精神狀態,我決定開始寫週報。說是週報,但不保證每週都會寫,也不保證內容的跨度剛好是一週。名稱來源於交響曲 Z nového světa。
我在寫什麼
這周 Wakatime 時長 40 小時,時間都花在了重構部落格和折騰 pdf.js 上。
重構部落格用了 Astro,之後會寫一篇文章銳評一下。
CSS 如何裁剪一個元素
在 CSS 中,如果我們想要使一個元素只顯示一部分,可以透過設定 parent 元素 .parent {position: relative;}
、child 元素 .child {position: absolute;}
來實現。(tribute to @ 魔法小貓 )
不過是次的情況有些棘手:child 是兩個元素,其中一個元素 A 在另一個元素 B 之上,設定了 z-index
。這導致即使 parent 設定更高的 z-index
,也無法覆蓋掉 child 的 A。
正確的做法是,不要設定 A 元素的 z-index
,而是加一層 wrapper,並且將 A 和 B 都採用 absolute 定位來實現層級的效果。這樣就不會出現上述的問題了。
See the Pen Crop-component by Overflow Cat (@overflowcat) on CodePen.
Svelte 4
Svelte 4 建立新專案只能選 SvelteKit / library 了,library 裡還帶一個 SvelteKit。雖然聲稱支援 SPA,但是不支援 hash-based routing,這樣你就用不了它的路由了。第三方庫也只支援到 Svelte 3。而且 Svelte 4 的空白專案直接加入 SSG 的 adapter 還會報錯,無法 build,貌似是裡面有動態 endpoint。而且報錯甚至倒退了,出錯常常 trace 不到我的程式碼中。
React 最近也在推 RSC,文件中一上來展示了 4 個不同的框架(包括 Expo 什麼的),要是初學者的話真的會被嚇住。真是噁心它媽給噁心開門。
pdf.js
pdf.js 分為 3 個層級:Core,Display,Viewer。Display 提供了渲染 canvas 和文字層的功能,Viewer 則是 Firefox 那個帶控制元件的 PDF 閱讀器。嘗試使用 Viewer,但是始終無法使它正常工作。
Display 層中可選擇的文字是由 textLayer
層提供的。使用方式也很扭曲,有幾個注意事項:
- 匯入的方式是
import type { PageViewport } from 'pdfjs-dist';
- 需要設定 worker(不知道如何從包匯入):
- 頁面的座標原點在左下角。典型的 PDF 檔案的大小為
- 需要引入
textLayer
的 CSS: - 需要在渲染
textLayer
前設定 CSS 變數--scale-factor
使textLayer
縮放與 canvas 一致。 textLayer
的預設 CSS 還設定了opacity: 0.25
,我建議覆蓋掉,然後直接設定高亮顏色的透明度。
pdf.js 開發的困難之處還在於其提供的 API 少得可憐。比如,想要獲得使用者的選擇,只能透過和 HTML 一樣的方式來實現,即 window.getSelection()
。
這周的成果如下:
我在玩什麼
八方旅人Ⅱ
這周照例是玩《八方旅人Ⅱ》。與第一作相比,這一作的每章節內容多寡分配得不是十分均勻。比如 Osvald 的前兩章都是回憶,而 Throné 的第二章很短,還沒有戰鬥。不過,類似觀影的劇情多了起來,頗有以前 66RPG(奠)中「R 劇」的味道。
LunarVim
嘗試了下 LunarVim。文件裡只說了加了哪些外掛,但沒有一個快速上手的教程,我都不知道它包管理器用的哪個。
我在看什麼
為啥你數學沒有更強(Why ain’tcha better at math)
然而,我認為我的基本觀點是好的。如果我的方法有任何價值,那麼使用它的人應該能夠學習並記住重要的東西。事實上,我對那些熱衷於生產力/生活駭客的人有這樣的批評:如果你的「記筆記方法/學習方法/待辦事項列表系統/生活方式/無論什麼」真的那麼好,那麼,你的成果是什麼呢?你用它做了什麼?所以我確實覺得我需要證明我在數學方面很好/過得去,不一定是從常規的角度,但至少是從某些特殊的角度上說,我對之感到滿意,且任何一個公道的人都會對之滿意。
I tried 8 different Postgres ORMs
FireShip 的影片質量一如既往地高。看下來還是 Prisma 最好。去年用過一次,但是當時用的 SQLite,沒體會出它的好處,現在用 PostgreSQL,migration 就很方便了。
番劇
- 【推しの子】 EP11
作りましょう 作りましょう
あなたと私の世界をさぁ作りましょう
始めましょう 始めましょう
なにから始めましょう(ん~!?)
踴りましょう 踴りましょう
ノリノリで踴りましょう(イェイ イェイ)
しゅうまつ旅行がはじまるぞ!
評論