diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-03-21 15:16:17 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-03-21 15:16:17 +0900 |
| commit | 56547d348ccaca4369560a5fe69aba44c2521ebd (patch) | |
| tree | d4c977985900ee1ee87ced1e43986653932c791d /slides.typ | |
| parent | b00d51802e6a5bd5dc46d9ab64ce6376d7f0121b (diff) | |
| download | phperkaigi-2026-php-modification-slides-56547d348ccaca4369560a5fe69aba44c2521ebd.tar.gz phperkaigi-2026-php-modification-slides-56547d348ccaca4369560a5fe69aba44c2521ebd.tar.zst phperkaigi-2026-php-modification-slides-56547d348ccaca4369560a5fe69aba44c2521ebd.zip | |
wip
Diffstat (limited to 'slides.typ')
| -rw-r--r-- | slides.typ | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/slides.typ b/slides.typ new file mode 100644 index 0000000..ae0747e --- /dev/null +++ b/slides.typ @@ -0,0 +1,90 @@ +#import "@preview/touying:0.6.1": * +#import "@preview/codly:1.3.0": * +#import "@preview/cjk-unbreak:0.2.0": remove-cjk-break-space, transform-childs +#import "setoka.typ": * + +#show: codly-init.with() + +#show: remove-cjk-break-space + +#let plugin_tokenize_ja_uninitialized = plugin("plugins/tokenize-ja/tokenize-ja.wasm") +#let plugin_tokenize_ja = plugin.transition(plugin_tokenize_ja_uninitialized.init) + +#let tokenize(s) = { + cbor(plugin_tokenize_ja.tokenize(bytes(s))) +} + +#let get-inner-str(e) = { + if e.func() == text { + if e.has("text") { + e.text + } else if e.has("body") { + e.body + } else { + none + } + } else { + none + } +} + +#let make-助詞-small(rest) = { + rest = transform-childs(rest, make-助詞-small) + if utils.is-sequence(rest) { + for child in rest.children { + let s = get-inner-str(child) + if s != none { + for t in tokenize(s) { + if t.at(1) == "助詞" { + [#set text(size: 0.9em);#t.at(0)] + } else { + t.at(0) + } + } + } else { + child + } + } + } else { + rest + } +} + +#show: make-助詞-small + +#show: setoka-theme.with( + aspect-ratio: "16-9", + config-info( + title: [ + TODO + ], + subtitle: [PHP 勉強会\@東京 第 TODO 回], + author: [nsfisis (いまむら)], + date: datetime(year: TODO, month: TODO, day: TODO), + ), + config-common(preamble: { + codly( + fill: rgb("#eee"), + lang-format: none, + number-format: none, + zebra-fill: none, + ) + }) +) + +#set text(font: "Noto Sans CJK JP", lang: "ja") + +#title-slide() + +#about-slide() + +TODO + +--- + +#[ + #set align(center + horizon) + + ご静聴 \ + ありがとうございました +] |
