diff --git a/content/posts-en/.translation-state.json b/content/posts-en/.translation-state.json index 5787848..cf59fb5 100644 --- a/content/posts-en/.translation-state.json +++ b/content/posts-en/.translation-state.json @@ -3,18 +3,33 @@ "sha256": "bd23b63a6453829fe3dccd4e261f2e9526917edc5d2fb8e23cac7e7371db140f" }, "posts/deng-dai-ge-duo.md": { - "sha256": "45dee1a0c7572ac0e18392798cc9c9fd755bc64562bf87872ed238de72b30892" + "sha256": "936c0cc3fbdc9c9510b685de479c3160ef7d3aa23a685b902f1b020dec1a1c66" }, "posts/ni-tan.md": { - "sha256": "07881bcae9ab5549ed888af4abbf314a487d29bdc03b22a60d0a19977c30321f" + "sha256": "1fa83fb0aa6a5909c6383cccf52501a61db2d65505903a34e640204c73ccb81a" }, "posts/shu-zui.md": { - "sha256": "da9c4603b7e9bb03336466bbd725df2b25230d2d1e6621c8cfd616cfdc6b7ae2" + "sha256": "faa724ae11121af6206b976a1f1e2cf1ea17ad4c6a823f1c1515f0659bae673f" }, "posts/hai-feng-zhong-shi-luo-de-xie-se-kui-zeng.md": { - "sha256": "52d1221b6193600b54d1bd4676786604207662651769ed503802de5555d87edc" + "sha256": "3affd0c78ac14610ace4c7f7d814ac4dd15f94e677a74e30780e081ecd91a930" }, "posts/mian-sha.md": { - "sha256": "0f80f12b0a3811d026e8300e49921c4a14056b5b04b8cb61b04b04afdcec1eb5" + "sha256": "31b00cb598e703742438375728dc6623f25975d1ee414a9eaac8daba940459d3" + }, + "posts/fix3-test.md": { + "sha256": "61defdfdd1bb47bcf927e777e0009261c874b5b9764fd605eb79a8c34d30b491" + }, + "posts/fonts-test.md": { + "sha256": "3c594c19ec8e3192b5228273f79b326d140c65624d2361e006ab4a3d1212a1f2" + }, + "posts/link-cards-test.md": { + "sha256": "c1908338d20f77571433a478493a466ef46ab2b21b42d1ca4496c3e5a14875fd" + }, + "posts/media-sample.md": { + "sha256": "727d82a59fd4f2a910a0a4bd2123bd64a80e369ced581d100cf1b140dec7de2c" + }, + "posts/佩德罗·巴拉莫.md": { + "sha256": "982a011b4894743c64016008320f0358090a202b7de5542b67821eb3b44179d5" } } diff --git a/content/posts-en/deng-dai-ge-duo.md b/content/posts-en/deng-dai-ge-duo.md index b045731..1508b18 100644 --- a/content/posts-en/deng-dai-ge-duo.md +++ b/content/posts-en/deng-dai-ge-duo.md @@ -2,61 +2,64 @@ title: "Waiting for Godot" pubDate: 2026-03-31 category: reading -tags: [read] +tags: + - read +pinned: false mood: '#b45309' +bookAuthor: 萨缪尔·贝克特 +description: 无望之待里,陪伴是囚笼唯一的呼吸缝隙。 +cover: ./assets/等待戈多.png +hidden: false +draft: false +locked: true --- -### Who is Gordo? Why wait? +### Who Is Godot? Why Wait? -**Hopeless Waiting: Self-Salvation and the Prisoner’s Dilemma** +**Hopeless Waiting: Self-Salvation and the Predicament of the Cage** -Godo is the character who runs through the entire book. However, no one has actually seen Godo in reality. Gogo and Didi simply wait for Godo. Is Godo a kind of hope? Or perhaps a belief? Waiting, waiting… Sometimes, they even forget about life itself, choosing to spend their time waiting by committing suicide. So what’s the meaning of waiting for Godo? Isn’t it a spiritual pursuit and a way of redemption? Or maybe waiting for Godo has become their only goal in life. They don’t know what the purpose of waiting is, but waiting for Godo is the only thing they can do, and it’s also the only way for them to escape reality. Whether Godo exists or not doesn’t matter anymore. What matters is the act of “waiting” itself, which serves as a reminder that they haven’t completely lost their physical vitality. +Godot is the character who runs through the entire book, yet not one person has ever seen him. Gogo and Didi simply go on waiting for Godot. Is Godot a kind of hope? Or perhaps a kind of faith? As the waiting drags on, it can leave Gogo and Didi indifferent even to life itself — they even treat suicide as a way of whiling away the hours of waiting. What, then, is the meaning of waiting for Godot? Is it not a hope for living, but a spiritual pursuit, a form of redemption? Or has waiting for Godot already become their only purpose in life — they no longer know what the waiting means, but waiting for Godot is the only thing left for them to do, the only straw to clutch at in escaping reality. Whether Godot exists no longer matters; what matters is the act of "waiting" itself, which has become the physiological rhythm by which they confirm that they have not yet come completely apart. -Perhaps Gordo doesn’t actually exist at all. Gordo is simply a way for Gogo and Didi to escape the real world. It’s the only way they can feel like they still have something to do. It’s a kind of absurd waiting, a waiting that has no meaning at all. And the process of waiting itself is also absurd. Gogo and Didi wait just because they have to wait. The waiting period becomes a very desolate experience for them. They don’t know what to do, they don’t know how to pass the time during this waiting. They just wait, waiting for Gordo to arrive. +Perhaps Godot does not exist at all. Godot is simply a way for Gogo and Didi to escape the real world — the only way they can feel they still have something to do. It is an absurd kind of waiting, a waiting utterly without meaning. The process of waiting is itself absurd: Gogo and Didi seem to wait for the sake of waiting, and the waiting becomes a stretch of utterly barren time. They do not know what to do; they do not know how to pass the hours of waiting. They simply wait, waiting for Godot. -The way humans sustain themselves in the meaningless world is often not through dramatic resistance, but through trivial, repetitive, and even ridiculous daily efforts. This is both a form of compromise and a kind of tragic resilience. However, why not take the brave step of dying, or breaking away from the status quo, and follow the passing of time? Why stay stuck in the present, trapped in the past? Perhaps dying requires determination, and breaking free requires a clear direction. But when both these resources are exhausted, “waiting” becomes the only viable action left. +The way human beings keep themselves alive amid meaninglessness is rarely a spectacular act of rebellion; more often it is the trivial, repetitive, even laughable persistence of daily routine. This is both a compromise and a kind of tragic resilience. Yet why keep clinging to this meaningless waiting — why not bravely go to death, or break the status quo and follow time as it flows away, instead of being trapped in this moment, trapped in the past? Perhaps dying takes resolve, and breaking out takes a direction. And when both have been drained away, "waiting" becomes the only verb still left to execute. -Didi always ponders back in time, seeking consistency within the passage of time. Meanwhile, Gogo simply wants to live in the present. We are constantly torn between “trying to understand meaning” and “being forced to endure the moment at hand”. No one truly lives in the future—because it seems that no one has a future at all. The future is merely a waiting period, a constant state of anticipation. People go through day after day, resisting the real world and life in their own unique ways. They coexist with time, sometimes even opposing it, as if to prove that they still exist, and that what they do makes sense. +Didi keeps interrogating the past, seeking consistency within time; Gogo wants only to live in the present. We are forever torn between "trying to sort out meaning" and "being able only to endure the moment at hand". No one lives in the future, for it seems that no one has a future at all: the future is only waiting — forever living inside waiting, inside the same waiting repeated day after day. Within that day-after-day repetition, everyone resists the real world and their own life in a way uniquely their own, living with time and fighting against it, as if to prove that they still exist, that what they are doing still means something. -So, in this absurd life… time continues to pass as usual. What should we do? With what can we confront emptiness? When waiting becomes fate, when the future is reduced to mere “tomorrow” over and over again, how should we face this inevitable passage of time? +So, under this absurd life — time keeps passing all the same. What should we do? With what should we confront the void? When waiting becomes fate, when the future is diluted into a repeated "tomorrow", with what bearing should we face this time that is bound to slip away? -Between Decline and Rebirth: The Anchorage of Memories and the Flow of Time +**Between Withering and Blooming: The Anchor of Memory and the Flow of Time** -There are five characters in the play, but it seems that only Didi is awake. Only he remembers the past, remembers what happened yesterday. Gogo, Pozo, the lucky guy, and the young man none of them remember anything that happened yesterday. It seems as though they are always living in the present. In reality, time continues to pass. The growth of green leaves on that tree signifies that everything keeps moving forward. They live in the present, but they also bear witness to the past and step towards the future. However, every day that passes is just a repetition of the same events, just like the constant discussions about suicide. Going to death is merely a way to pass time, without truly having the courage to take those steps. +There are five characters in the play, yet only Didi seems truly awake — only he remembers the past, remembers what happened yesterday. Gogo, Pozzo, Lucky, and the Boy remember nothing of yesterday; they seem to live forever in the present. In reality, time has been flowing all along: the tree putting out green leaves means that everything is still moving forward. They live in the present, but they have witnessed the past, and they are stepping toward the future — only the step always lands on a repeated today, much like the ever-repeated talk of hanging. Going to death is merely one way of passing the time; they lack the courage for any real death. -The lucky person’s incoherent speeches in the play resemble both rational desperation and absurd reflections of reality. When ordered to think, his monologues initially follow a logical structure, using various terms and concepts. But soon, they become chaotic, with words failing to form any coherent meaning at all. It’s as if people try to use reason to combat absurdity, to explain the world that has lost its logic through thought… but all their efforts are in vain, and everything ultimately leads to nothingness. +Lucky's long, disordered speech in the play reads like a requiem for a collapsing reason, and like a mirror of absurdity. When Lucky is ordered to think, his monologue begins within a logical framework, citing all kinds of terminology, but it soon sinks into chaos — words piling up without order or method. It is as if people wanted to fight absurdity with reason, wanted to explain, by thinking, a world that has itself lost its logic — but every such effort is futile, and everything must return to nothingness in the end. -On the other hand, Didi’s clarity seems to be another form of luck. He constantly tries to piece together fragments of memories to recall the past—that past which no one else remembers anymore. No one remembers yesterday; only Didi does. Didi fights against the passage of time with his memories, enduring pain yet remaining awake. Gogo, on the other hand, tries to ease the burden of hope, feeling numb but at the same time relaxed. For those around him, time simply doesn’t exist at all—it’s a state of utter absurdity. Dead trees grow leaves, witnessing the changes in the world, but people remain stuck in the same place, cycling endlessly. Didi is aware of the passing of time, but he still remains trapped in the cage of time. All he can do is wait quietly for Gotham to arrive. +Seen the other way round, Didi's lucidity is like another form of Lucky: he keeps trying to piece together yesterday out of fragments of memory — a yesterday that no longer exists in anyone else's memory. No one remembers yesterday; only Didi does. Didi sets memory against the passing of time — painful but awake; Gogo dissolves the weight with hope — numb but at ease; for the others, time simply does not exist to begin with, an absurdity carried to its extreme. The bare tree grows leaves, bearing witness to the world's change, while the human situation keeps circling in the same place. Didi sees the passing of time with perfect clarity, yet he remains trapped in time's cage, and all he can do is still to wait, quietly, for Godot. -A tree can be dead, or it can still have leaves. -Waiting can be futile, or it can be a proof of existence. -Memory can be a burden, or it can serve as a point of reference. -Absurdity can represent despair, or it can be the beginning of freedom. +***A tree can stand bare, or it can put out leaves;*** +***Waiting can be futile, or it can be the proof of existence;*** +***Memory can be a burden, or it can be an anchor;*** +***Absurdity can be despair, or it can be the starting point of freedom.*** -Perhaps in this absurd world, in this meaningless life, there are times when we don’t need to “overcome” the void. Sometimes, simply “continuing” is enough to bring meaning. Just like that tree—between its blooming and withering, that is the answer. +Perhaps in an absurd world, in a life of nothingness, there is sometimes no need to "defeat" the void. Sometimes, "continuing" is itself the meaning. Just like that tree — between withering and blooming, therein lies the answer. -### +### ------------------------------------------------------------------------ -- Estragon: (after a long silence) What you’re saying is the opposite of what I said, right? -Fradimir: It’s a matter of temperament. -Estragon: It’s a matter of personality. -Fradimir: People are powerless against this. -Estragon: It’s useless to try anymore. -Fradimir: One’s nature remains unchanged, no matter how hard one tries to change it. +- Estragon: (after thinking for a good while) What you are saying is the exact opposite of what I said, is that it? Vladimir: It's a question of temperament. Estragon: Of character. Vladimir: There is nothing anyone can do about it. Estragon: Striving is no use. Vladimir: One is what one is born to be. Estragon: Struggling is no use either. Vladimir: Rivers and mountains may change, but a man's nature never does. -The more people I meet, the happier I become. Even when dealing with the most humble people, I feel like I’m gaining new experiences, enriching my knowledge, and able to appreciate happiness in a better way. +- The more people I meet, the happier I am. Even in dealings with the lowliest of men, you can feel yourself gaining in knowledge, enriching your experience, tasting happiness all the better. -- There is a certain amount of tears that can be shed in this world. When someone in one place starts crying, there must be someone else who stops crying in another place. The same goes for laughter. (He laughs.) Therefore, we shouldn’t speak ill of our time. It isn’t any worse than times in the past. (Silence.) Nor should we speak well of our time either. +- The tears of the world hold to a fixed measure. Somewhere someone weeps, and somewhere else someone must stop weeping. The same holds for laughter. (He laughs.) So let us not speak ill of our times: it is no worse than the times before it. (Silence.) Nor let us speak well of it. -- Without him, my thoughts and feelings would probably always be confined to the trivial and mundane matters of everyday life—things that don’t really matter at all. As for what constitutes the highest form of beauty, goodness, or truth, I truly cannot attain it. I also know that I simply don’t deserve it at all. +- Without him, my thinking, my feeling, would no doubt have stayed confined to mediocre trifles, to the vulgar business of keeping a family fed — nothing that mattered in the least. As for supreme beauty, supreme goodness, supreme truth, I could never reach them; I know full well I am not worthy of them. -- What exactly is so extraordinary about it? Is it actually the heavens themselves? It’s pale yet bright, just like the sky at any moment during the day. (Loudon) The same sky, in the same direction. +- What is there about it that is so extraordinary? That it is the sky itself? It is pale and bright, like the sky anywhere at this hour of the day. (Pause.) The same sky, in the same quarter. -The lights suddenly dimmed. For a moment, the sky turned dark. The moon rose at the end of the stage, climbing higher and higher, silently scattering silver light across the stage. +- The light suddenly fails. In a moment the sky turns black. The moon rises at the far end of the stage, climbs high into the sky, stops dead, and sheds its silver light over the stage. -People don’t need us every day. To be honest, people don’t exactly need us that much. Others can also do these things. Even if they may not do them as well as we do, at least they can do them just as well. We just heard a cry for help… It seems like he is sending a message to all of humanity. But right now, at this moment, there are only two humans here: us. Whether we like it or not. We must seize this opportunity, while time isn’t yet too late. Since fate has brought us together among these despicable creatures, let’s at least try to represent them properly. Indeed, when we weigh the pros and cons, we remain worthy of our conditions of existence. A tiger will instinctively run to help its kind. Otherwise, it will flee into the depths of the jungle. But that’s not the issue. What we do here is what we must ask ourselves. We are honored to know the answer to that question. Yes, in this vast chaos, there is one thing that is clear: we are waiting for Gordo’s arrival. +- People do not need us every day of the year; to be honest, people do not precisely need us. Others could do these things too — if not better, at least as well. The cry for help we have just heard might rather be said to have been addressed to all mankind. But at this place, at this hour, mankind is us two, whether we like it or not. Let us make the most of it, before it is too late. Since ill fortune has swept us in among this shameless rabble, let us for once represent them worthily. Truly, when we stand with folded arms weighing profit and loss, we are no less worthy of the conditions of our existence. A tiger will rush without a thought to the aid of its own kind — or else it flees into the deepest jungle. But that is not the question. What we are doing here — that is the question we must put to ourselves. And we are fortunate in knowing the answer: yes, in the midst of this immense confusion one thing alone is clear — we are waiting for Godot to come. ------------------------------------------------------------------------ diff --git a/content/posts-en/fix3-test.md b/content/posts-en/fix3-test.md new file mode 100644 index 0000000..a1bfeb0 --- /dev/null +++ b/content/posts-en/fix3-test.md @@ -0,0 +1,35 @@ +--- +title: "Typography Sample" +pubDate: 2026-11-02 +category: tech +tags: [test, hidden] +# 排版/斜体/白名单测试样张(fix3 车道):hidden 不列出,构建与 E2E 验证用 +draft: false +locked: true +--- + +This post verifies three things: inline italic rendering, the restricted typography-class whitelist, and caption classes. + +## Italics (should stay inline: no line break, no centering) + +This sentence has *inline italic emphasis* set in the middle of the text; it must stay on the same line as the body text. + +*This whole paragraph is an italic standalone paragraph; it must not turn into a block-level centered element.* + +## Restricted typography classes (whitelist) + +This run is ink-muted grey text. +This run is in the LXGW WenKai type family. +This run is in the monospace mono family. + +

Drop-cap paragraph: the autumn sea lies like a sheet of tin smoothed flat by the wind, and the setting sun has scorched a ring of red around its rim.

+ +

Dusk, so-called, is simply the light slowly admitting that it has to go.

+ +## Whitelist stripping (illegal classes and inline styles must be removed) + +This run carries an illegal class, an inline color, and an onclick all at once; after the build only ink-2 should remain, with style/onclick gone. + +## Captions (class-driven) + +

This is the explicit caption style (fig-cap): centered, grey text.

diff --git a/content/posts-en/fonts-test.md b/content/posts-en/fonts-test.md new file mode 100644 index 0000000..c1b34f9 --- /dev/null +++ b/content/posts-en/fonts-test.md @@ -0,0 +1,34 @@ +--- +title: "Font Family Sample" +pubDate: 2026-11-02 +category: reading +tags: [test, hidden] +draft: false +locked: true +--- + +Font test specimen (hidden): verifying the rendering of system-fallback font families. + +

Songti serif family (system fallback): the autumn sea lies like a sheet of tin smoothed flat by the wind.

+ +

Kai script family (system fallback): the autumn sea lies like a sheet of tin smoothed flat by the wind.

+ +

Hei sans-serif family (system fallback): the autumn sea lies like a sheet of tin smoothed flat by the wind.

+ +

Fangsong family (system fallback): the autumn sea lies like a sheet of tin smoothed flat by the wind.

+ +

Warm-toned body text: the autumn sea lies like a sheet of tin smoothed flat by the wind.

+ +

Cool-toned body text: the autumn sea lies like a sheet of tin smoothed flat by the wind.

+ +

Faintest readable tier: the autumn sea lies like a sheet of tin smoothed flat by the wind.

+ +

Soft emphasis: the autumn sea lies like a sheet of tin smoothed flat by the wind.

+ +

Standard blue: the autumn sea lies like a sheet of tin smoothed flat by the wind.

+

Standard yellow (darkened): the autumn sea lies like a sheet of tin smoothed flat by the wind.

+

Red soft: the autumn sea lies like a sheet of tin smoothed flat by the wind.

+ +

Huiwen Mincho (OFL, self-hosted subsets): the autumn sea lies like a sheet of tin smoothed flat by the wind.

+ +

ZCOOL KuaiLe (OFL, decorative display type): the autumn sea lies like a sheet of tin smoothed flat by the wind.

diff --git a/content/posts-en/hai-feng-zhong-shi-luo-de-xie-se-kui-zeng.md b/content/posts-en/hai-feng-zhong-shi-luo-de-xie-se-kui-zeng.md index 04acaa6..a0c5ddc 100644 --- a/content/posts-en/hai-feng-zhong-shi-luo-de-xie-se-kui-zeng.md +++ b/content/posts-en/hai-feng-zhong-shi-luo-de-xie-se-kui-zeng.md @@ -4,6 +4,7 @@ pubDate: 2026-03-25 category: reading tags: [read] mood: '#0f766e' +locked: true --- ### Autumn – The Autumn of Scott, the Autumn of a Father, the Autumn of a Youth (A Prelude to Winter) @@ -140,7 +141,7 @@ She held my hand so tightly, as if I could pull her out of that dark, dreamlike Sometimes, in the fear of darkness, it’s difficult to distinguish between dreams and reality. We may wake up in the middle of the night, but because the world from our dreams seemed so real, we try to return to that comforting state of oblivion by using our own willpower. Other times, the situation is reversed: we might pinch ourselves or bang our fists against the iron bedposts. Sometimes, nightmares have no boundaries at all. -All expectations and fears, both those from the past and those of the present, collide and entangle with each other. Sometimes, when we reach the end of the “present,” the “past” seems to become even more significant. Because there is nothing else besides the past; we feel that there is nothing else we can understand. I feel like I’m falling back into the past, hoping to possess more of it, because my future seems to be getting fewer and fewer. Twenty-six years is too short—it isn’t enough. I want to follow in the footsteps of our ancestors, so that I can gain more from what remains of this insignificant present. Those superstitions, herbal remedies, the calls of fate, the sounds of violins that linger in our minds, and those cancer treatments that resemble spider webs… I want to understand them all. What do those所谓的“divine eyes,” psychic visions, dogs’ instincts, and seagulls’ cries have to say about survival and its end? I also want to know those things. I want to return to those priests who can cast spells with their hands. I want to return to those healers who believe in faith-based therapies… but my faith may not be enough. I can go back to any past, but science is too indifferent. I don’t want to die at its hands. +All expectations and fears, both those from the past and those of the present, collide and entangle with each other. Sometimes, when we reach the end of the “present,” the “past” seems to become even more significant. Because there is nothing else besides the past; we feel that there is nothing else we can understand. I feel like I’m falling back into the past, hoping to possess more of it, because my future seems to be getting fewer and fewer. Twenty-six years is too short—it isn’t enough. I want to follow in the footsteps of our ancestors, so that I can gain more from what remains of this insignificant present. Those superstitions, herbal remedies, the calls of fate, the sounds of violins that linger in our minds, and those cancer treatments that resemble spider webs… I want to understand them all. What do those so-called “divine eyes,” psychic visions, dogs’ instincts, and seagulls’ cries have to say about survival and its end? I also want to know those things. I want to return to those priests who can cast spells with their hands. I want to return to those healers who believe in faith-based therapies… but my faith may not be enough. I can go back to any past, but science is too indifferent. I don’t want to die at its hands. At that moment, just like the music, the darkness both inside and outside gradually merged into one. They flowed towards each other, blending together, becoming indistinguishable from one another. The differences were erased, leaving only purity behind. There was no space between them, no sound to be heard. This encounter brought all things back into unity. diff --git a/content/posts-en/link-cards-test.md b/content/posts-en/link-cards-test.md new file mode 100644 index 0000000..f21ee58 --- /dev/null +++ b/content/posts-en/link-cards-test.md @@ -0,0 +1,31 @@ +--- +title: "Link Card Sample" +pubDate: 2026-11-02 +category: tech +tags: [test, hidden] +# 链接卡片(OG 预览)测试样张:hidden 不列出,构建验证用;保留为活样例 +draft: false +locked: true +--- + +This post verifies link cards: bare links standing alone as their own paragraph turn into OG preview cards, while inline links keep their normal style. + +## Positive cases: sites with OG metadata + +https://wait4x.online/ + +https://astro.build/ + +## Negative cases: a 404 and a site without OG (should fall back to plain links; the build must not fail) + +https://wait4x.online/definitely-not-a-real-page-404/ + +https://example.com/ + +## Inline links keep their normal style (must not become cards) + +Here is an inline link, [the official Astro site](https://astro.build/), set in the middle of a sentence; it must keep its normal link style — the page must not turn into a wall of cards. + +## Card via first-line text (the markdown link form triggers it too) + +[wait4x.online homepage](https://wait4x.online/) diff --git a/content/posts-en/media-sample.md b/content/posts-en/media-sample.md new file mode 100644 index 0000000..a865dc1 --- /dev/null +++ b/content/posts-en/media-sample.md @@ -0,0 +1,34 @@ +--- +title: "Media Support Sample" +pubDate: 2026-10-25 +category: tech +tags: [test, hidden] +# 视觉/管线测试样张:draft:true 会被 getStaticPaths 全链路过滤(无静态产物), +# 故用非 draft + hidden 标记保证 /archives/media-sample/ 产物存在;视觉测试完成后应删除本篇 +draft: false +locked: true +--- + +This post is a three-media pipeline specimen: it verifies how a markdown image and HTML5 video/audio are handled along the build chain, for use in visual-regression and multi-device testing (marked hidden — do not list). + +## Image (markdown syntax, optimized by sharp at build time) + +![Sample photo](../posts/assets/media-sample/sample-photo.jpg) + +

The new caption syntax: the fig-cap class — a copy of a specimen shot from the photos directory (1600×2400 portrait).

+ +## Video (raw HTML, H.264 320×240, generated with ffmpeg testsrc2) + + + + + +*Native `