From a4d234eaf2a1a612a364601f0c58ab3488224f64 Mon Sep 17 00:00:00 2001 From: oriverk Date: Thu, 26 Sep 2024 16:31:50 +0900 Subject: [PATCH] fix: modify around markdown posts --- .contents/card-links.json | 37 +++++++++++++++++- ...d03fa765dba8efd7a29be2a0bc6b23df770e1.webp | Bin 0 -> 6436 bytes ...b015c7ca2c4ae17ce8925fbf3bfdb004aafff.webp | Bin 6470 -> 0 bytes src/components/markdown/AstroEmbed.astro | 24 ------------ src/components/markdown/AstroLink.astro | 26 ++++++------ src/components/markdown/EmbedTwitter.astro | 2 +- src/components/markdown/LinkCard.astro | 2 +- src/content/blog/20221205-next13-app.md | 3 +- .../blog/2024-04-17-embed-contnets.mdx | 31 --------------- ...-gfm-alerts.md => 20240300-gfm-alerts.mdx} | 6 +-- ...00-use-biome.md => 20240300-use-biome.mdx} | 8 +++- ...-learn-rust.md => 20240609-learn-rust.mdx} | 0 ...240812-flutter.md => 20240812-flutter.mdx} | 4 +- ...0922-pagefind.md => 20240922-pagefind.mdx} | 12 +++--- src/styles/markdown.css | 2 +- 15 files changed, 71 insertions(+), 86 deletions(-) create mode 100644 src/assets/images/og/1e953b3ac3d5151eea0da61b07dd03fa765dba8efd7a29be2a0bc6b23df770e1.webp delete mode 100644 src/assets/images/og/afde66ebf8ce260f06657b2e399b015c7ca2c4ae17ce8925fbf3bfdb004aafff.webp delete mode 100644 src/components/markdown/AstroEmbed.astro delete mode 100644 src/content/blog/2024-04-17-embed-contnets.mdx rename src/content/blog/{20240300-gfm-alerts.md => 20240300-gfm-alerts.mdx} (84%) rename src/content/blog/{20240300-use-biome.md => 20240300-use-biome.mdx} (96%) rename src/content/blog/{20240609-learn-rust.md => 20240609-learn-rust.mdx} (100%) rename src/content/blog/{20240812-flutter.md => 20240812-flutter.mdx} (99%) rename src/content/blog/{20240922-pagefind.md => 20240922-pagefind.mdx} (92%) diff --git a/.contents/card-links.json b/.contents/card-links.json index b2a96b5..5a83236 100644 --- a/.contents/card-links.json +++ b/.contents/card-links.json @@ -18,5 +18,40 @@ "title": "Rick Astley - Never Gonna Give You Up (Official Music Video)", "description": "The official video for “Never Gonna Give You Up” by Rick Astley. The new album 'Are We There Yet?' is out now: Download here: https://RickAstley.lnk.to/AreWe...", "image": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg" + }, + "https://pagefind.app/": { + "title": "Pagefind | Pagefind — Static low-bandwidth search at scale", + "description": "Pagefind is a fully static search library that aims to perform well on large sites, while using as little of your users’ bandwidth as possible, and without hosting any infrastructure.", + "image": "https://pagefind.app/og.png" + }, + "https://flutter.dev/": { + "title": "Flutter - Build apps for any screen", + "description": "Flutter transforms the entire app development process. Build, test, and deploy beautiful mobile, web, desktop, and embedded apps from a single codebase.", + "image": "https://storage.googleapis.com/cms-storage-bucket/70760bf1e88b184bb1bc.png" + }, + "https://github.com/oriverk/learn_flutter": { + "title": "GitHub - oriverk/learn_flutter", + "description": "Contribute to oriverk/learn_flutter development by creating an account on GitHub.", + "image": "https://opengraph.githubassets.com/e9ddd51f9d7164eede64b11a742f9ff341c851ef4671c9550c948fad520d4927/oriverk/learn_flutter" + }, + "https://www.publickey1.jp/blog/22/amazon_prime_videowebassemblywasm_vm.html": { + "title": "Amazon Prime Videoが動画再生にWebAssemblyを採用。再生デバイス上にWasm VMをデプロイ、高フレームレートなど実現", + "description": "Amazon.comは動画サービスのAmazon Prime Videoにおいて、テレビやFire TV、スマートフォンなどの再生デバイス上にWebAssemblyのランタイムをデプロイし、アプリケーションの一部にWebAssemblyを採...", + "image": "https://www.publickey1.jp/2022/primevideowasm01.gif" + }, + "https://zenn.dev/oriverk/articles/432f7c2f17b928": { + "title": "Rustで作物列画像を二値化処理をする", + "description": "", + "image": "https://res.cloudinary.com/zenn/image/upload/s--bUnUkMNc--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:Rust%25E3%2581%25A7%25E4%25BD%259C%25E7%2589%25A9%25E5%2588%2597%25E7%2594%25BB%25E5%2583%258F%25E3%2582%2592%25E4%25BA%258C%25E5%2580%25A4%25E5%258C%2596%25E5%2587%25A6%25E7%2590%2586%25E3%2582%2592%25E3%2581%2599%25E3%2582%258B%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:oriverk%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2pWb1Vhc3I2TG1WZ2ZycnEtRlhNUVhya3VSdm85OWFMWkNtS2xEPXMyNTAtYw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png" + }, + "https://github.blog/changelog/2023-12-14-new-markdown-extension-alerts-provide-distinctive-styling-for-significant-content/": { + "title": "New Markdown extension: Alerts provide distinctive styling for significant content · GitHub Changelog", + "description": "New Markdown extension: Alerts provide distinctive styling for significant content", + "image": "https://github.blog/wp-content/uploads/2023/12/290547405-0505deff-ff73-44f4-9f47-1d39b2f1d8cd.png?w=1024" + }, + "https://biomejs.dev/": { + "title": "Biome", + "description": "Format, lint, and more in a fraction of a second.", + "image": "https://biomejs.dev/img/og.png?v=2" } -} +} \ No newline at end of file diff --git a/src/assets/images/og/1e953b3ac3d5151eea0da61b07dd03fa765dba8efd7a29be2a0bc6b23df770e1.webp b/src/assets/images/og/1e953b3ac3d5151eea0da61b07dd03fa765dba8efd7a29be2a0bc6b23df770e1.webp new file mode 100644 index 0000000000000000000000000000000000000000..7d7eb608a79d1e2d57f5a608ca5fc79edb2aa7d7 GIT binary patch literal 6436 zcmeH}RZtwvmdAk%0fM`Ga0vvL0KsL@5C|@V1a}GUZb5^4aCf)h1fL0#!GgQ{%^(2P(_P(F-TyxI@1vz8FHc2|grqAct)ZhKOo#W6T;mBT7n!{t;E5vf zRj~kATEfUw@Rdxso&dwf@!2nP=cuAX5%)FjVeb#W;?9vCBvEZid)JWe8d&H&Z9rcJ z912^lE{13wovZL6towpt>#L*}k|&Z3-QW$<2bL?R>-9{;YP)AY?%w($;^%o*_5Kx89*nqzK&CfF*mDbjjz=dIjPe)oH-iS?N3AUfh>tURcl7;e z_5ZfyuN(d|`WFTNcLjM7jy(RYb1y+CFh z%m@@K_U#xHpcNi^7o=JgaPCe@y_~KXot-uRBnb^^inu^to)Ks9tD{cFeTF<^%c(u}PqZ8+sR2 zqFC-BpjFU*xykBh_P+od|HMPr^T@1Sumb6A2}E+v2tq;nV+MUI4`jAazz2eY_J zzikjQOAJH76jlt{78~yem0&x$)fxOdiW~I~ZtN+6jW6Au>ssHvW|L2o) zNJwx5csWpv=Bqc8d;bv*0O^|goDQuS9qI1_#n{e(ywZ5>V@Y_@ZBzjNUc*$P@M!%Lcp! zA{8KUdoKI5s{{aDy^7G`-u-a3`d|Yq4_e*n(p1lUt7~AzR*`qfT4;<-e0d3_!Goc` zAxYsT<|0o_gasqEes0OE&j&oNxQlB;ge9fn@a7nY&gE_m4O>azAEb}bwvzcM9v z#G$RVYQfJ00dGkGQ`Fw*uVzL(=ymu#xp~8%lMkMehawVQv)C5?0uGKv3F2^ge1|Fm z?ukD8s}~aWk1Yjc7S6?5O$qefy6%%mT}rwusGCH>KzY#4An}f4?JJM0{pLoOVkNWr z!2upi#oiXL>#1sSp!3FdUeCRxDyUymsm1K1_V9=Z50s>{R;z?K)p5vtF(_D(J6u=% z29{PwaU8>@t`AJA9iL$AI>^Jx0splY15qn+zCybj?%EKLHbn1fIL)gr~<8$J7 zay7KzB!!dSf#~aHg|LF8?`O??*Xm#P_)G2Olv+DL)&m(=^Xcw`SssglmPAh>*vBPx zz@J9kT3+l_dGqy}9#Udh(T;4YG7a$9W=2vaLF;+@2Q&g<0E$}Ikt{+gR z&#py3;`2=M!c?pC+x{#>gdO33i}4O&T?}RRZ)9Iw$m!%uu2L}l zHf2ft#UmSN2`FPWV!k&GJorpPG@IooNQlDy%B-fY+-p2eOqUdknTLiYpgL^zI|lGm z-E}Xcmwb<3lnRL>ZGNW{1i4q@6}RyZ7gAo~%J-ZxFJ(G9Dx0N5E7*QJ^EY=I8v~9~ zVwScf(nr>x7g<@PkDhvTFRlHOpKIAn9{CDOg3_sr6x~^V`z(1#@0nJ#-w2k=Iv8pD zIkSyAIgl7VQTes$mzX!m_o7$_E*sq_OnFSe>DA!=lcQPS{=>iyqxEjo@=^td;|25q z3tqStO>yj&VFl6%?&#Fi$5NtI#;rfzdduq9vadW}Y2`*^`z2HM;^SUz?)%%BJO#yh z+=|iY2wL-lP=p^6m9T3SVlV+-F&xnkZ#I}LYkd#XQD$1Kr+$Z~*IvkU;%mA3u*zWh z<4*)G0nG8|{sixG{;*-kP7>;Y2|P5G`xW+E1qL4Cg?Imcha>iM!IH!C=WYT2rw@oh z>RH>0@wO3P&KA1a+U^}_d1XDmxG(%+-8rOdc!=9OS7ocJfs9GquiWEtp9*%LOo8!^ z@*Jae<(<3eh~|QF>YCs*jtICiG=qVp(Z;+Tpo+5RRo3ic1)+D@3yy)NmUGhF}=5_cn+ZEQK{5noMZXRDbg3B zRlT_5%yS9{$49fLM{;EO_6o_fU^*#(0+~Y!E8}&uFK~I|f`&XPu8r;9kXV{o+jM*S z6>o$2T}rOxUQ)XC?8(o*tP>wvl1LEZGmt4~Er3#fizwuNf|r!2fo%8`NgJRQumukaNK(%|adi}f2pLafv2;E>`YmiC|Y&fPhQqzAG_{CVcdq z+eNwHM6TIp`w%mFBtB9#Qxkfe7M8vnNnRQ3BQ;ewNt-SbiM81N6Xw@ZaUN&06d;ee z?o{w6ocM=p)C%xCrKTU)lpd<(Zkurv#dlMo$SXUN{4*A{V*BgI&p0%M!gwOWQ^OP=z1yC zFu+u&@S&MfRtLY}?>iABB(%*17xTOvhpV@u%TeBTi=zmu9s?^U#Pf(R!vsP*V$UVmF34bUneWOJc+5Um~ zt7l38`k8WOyL{?`$?+b@HCPHg@m%1OymfY@k{^i+gLVp z)=dLsq&M}u!lz(x$bQB!GuSXB<#<6_g~nh8`H7ypZ0pn09R#uAL_rDH+uAdcB*ejk zbD54qV|4ry_j7J7cTRaVA)sOnR1(wqtrSV}h0H^(;rXjhnVviUoAJy^bF~!L0ji12 z!SrsS>s!l+DV%<&n42N@uF5Z2G4ZuZs3a=Im=;}#U7Fys?+`(kC=;b;5ffvyJrmgG zQ{Jso5P>ck`pE0cgz7_ogdkDR=TxEX0eH4S2wOr8^xpl5{CjU!9D}+`vtI1MLL1tJ zcPRFHG=dWAV(hH|p10wkCcV4X;U8W?Kh#4RZYGihzp+g#9nv@ zZFPdoLF$;bU8#K{@9F`w5WUtN`OusdC4ZA({&u#nmw;Es@=W~O#konL*?)WofVS2r zit`LU9ObUcj#a)=i)jooRW>aodRQorIp;50_0LRZH5L*pk0E&?1`V6@zwWIOup~3) zz3m}{{GIQ2b5Rp~%qMcMP&~pWdpRqD#DhdijCCh(+wxNmF){*A7N`udq~;H|xdB?G z3vw2-kL6bVBpXd^zdHfu1Hh#2(&l<+BkQz`|mHZg=3@d{N_o_Rl8DK0+sgXQ! zPX5<B*`MNw(Mn@mUc%5Mj{q9fOiIuVVNfYWLKSKRzZD0{S9LWzb2Twr zWw0U6A=9fqSD|y3+J1Emf$CAEwPJuxDKFz5a@f77m8t3i!&ceC1)RfhN+;z9!J+T+ zmdG9d$a-6CvXI&(pM!(LT@U%%w=YztPaH?k+R# z0ye9oOK+ct%u2_G0RLPYiaUdGI&7bV)+~PWAZy!`Bs7#H3wEk(`zxsn2jKOQ3llO- z+GSjAKFUapU?^y<|@k#%5#&a0H%H<9V38DUi+ZivXhx7f^^~!!`G2re#H=4p3e6?kI+bV_ zvKz+guQ|$F3UyF87ySWi1En0Q(s*NjxB2`g>n09fmU_L#HCcJ%#8LE=)s(t@1@`pS zf*Hy%_VA00fQge<&9rPgif8qJpfR_wB_%svhB!}6YNU=*VLh`NVf2JCuNKLJ5{co261@`JvgtP$sI&>WBh;Q>oi4WAYfP#nm70mspbMp%!%LFdZa+oL-BO<(%z0I3*NGt>Pjz-@#L? z193N1cKx)8^zoDD9aCtpyycDSo}7K5N1nj1xE1Vu8x#NZ&)R z@P1@KGywc1FXs@pNeA|+kb{D=E8x|Kv`@>_8L5poXsnzTXtTG<$3RRUy zI&avn{z6yM{Lpt>AvX~@;CPuOh6S@Ueaey3x8nfVZtQ%5G)mTMA)6-2C-vSwC?0&b zDl;{I;mPxYz+^6!UR?UlFzypKaH8#-9xBP7jkkRza`6zi4Wrc?;2Xv7#dHy64E4@i zCLyQ|_7#XVBXXhEm8F39>UWPsO8ovQ(kh}ul*0|bXejQu9-*|v@AOkBzbFZeisys& zD^Kus{FIREH(_+VMHr)8b;!NiPG6EGHLAOfY<9q_uwaw`Gh{buvdtcwS^6BiE@9`n oeNg|1W8ZyAdihT517fOB3!_h*P@xAaoF&)E8VyO~uf4~A0lnbYo&W#< literal 0 HcmV?d00001 diff --git a/src/assets/images/og/afde66ebf8ce260f06657b2e399b015c7ca2c4ae17ce8925fbf3bfdb004aafff.webp b/src/assets/images/og/afde66ebf8ce260f06657b2e399b015c7ca2c4ae17ce8925fbf3bfdb004aafff.webp deleted file mode 100644 index f52b4c9018be412f9049c91ffa96361ef065ebe2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6470 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 diff --git a/src/components/markdown/AstroEmbed.astro b/src/components/markdown/AstroEmbed.astro deleted file mode 100644 index 6d39aee..0000000 --- a/src/components/markdown/AstroEmbed.astro +++ /dev/null @@ -1,24 +0,0 @@ ---- -import EmbedTwitter from "./EmbedTwitter.astro"; -import LinkCard from "./LinkCard.astro"; - -type Props = { - href: string; - target: string; - rel: string; - class: string; - "data-embed": string; -}; - -const { href, ...restProps } = Astro.props; -const url = (href || "").toString(); -const embedType = restProps["data-embed"]; ---- - -{embedType === "ogp" ? ( - -) : embedType === "twitter" ? ( - -) : ( -

hoge

-)} diff --git a/src/components/markdown/AstroLink.astro b/src/components/markdown/AstroLink.astro index 803074a..b2837e3 100644 --- a/src/components/markdown/AstroLink.astro +++ b/src/components/markdown/AstroLink.astro @@ -1,23 +1,27 @@ --- -import AstroEmbed from "@/components/markdown/AstroEmbed.astro"; +import EmbedTwitter from "./EmbedTwitter.astro"; +import LinkCard from "./LinkCard.astro"; type Props = { href: string; target: string; rel: string; class: string; - "data-embed": string; + "data-embed"?: "ogp" | "twitter"; }; const props = Astro.props; +const embedType = !props["data-embed"] ? "link" : props["data-embed"] --- -{ - Object.hasOwn(props, "data-embed") ? ( - - ) : ( - - - - ) -} +{embedType === "link" ? ( + + + +) : embedType === "ogp" ? ( + +) : embedType === "twitter" ? ( + +) : ( +

hoge

+)} diff --git a/src/components/markdown/EmbedTwitter.astro b/src/components/markdown/EmbedTwitter.astro index 2624c70..9a4b9df 100644 --- a/src/components/markdown/EmbedTwitter.astro +++ b/src/components/markdown/EmbedTwitter.astro @@ -8,7 +8,7 @@ type Props = { target: string; rel: string; class: string; - "data-embed": string; + "data-embed"?: "ogp" | "twitter"; }; type ResponseType = { diff --git a/src/components/markdown/LinkCard.astro b/src/components/markdown/LinkCard.astro index 82224e5..ddcb1a0 100644 --- a/src/components/markdown/LinkCard.astro +++ b/src/components/markdown/LinkCard.astro @@ -9,7 +9,7 @@ type Props = { target: string; rel: string; class: string; - "data-embed": string; + "data-embed"?: "ogp" | "twitter"; }; const { href, class: className, ...restProps } = Astro.props; diff --git a/src/content/blog/20221205-next13-app.md b/src/content/blog/20221205-next13-app.md index 8a7f457..30c6e71 100644 --- a/src/content/blog/20221205-next13-app.md +++ b/src/content/blog/20221205-next13-app.md @@ -159,8 +159,7 @@ export default async function Page() { #### 投稿詳細ページ -v12 までの投稿詳細ページでは [dynamic routes の Catch all routes -](https://nextjs.org/docs/routing/dynamic-routes#catch-all-routes) を利用し、`/pages/entry/[...slug].tsx` となっていた。v13 からの `app/` 下では `/pages/entry/[...slug]/page.tsx` となる。 +v12 までの投稿詳細ページでは [dynamic routes の Catch all routes](https://nextjs.org/docs/routing/dynamic-routes#catch-all-routes) を利用し、`/pages/entry/[...slug].tsx` となっていた。v13 からの `app/` 下では `/pages/entry/[...slug]/page.tsx` となる。 ```js title=/app/posts/[...slug]/page.jsx export default function Page({ params, searchParams }) { diff --git a/src/content/blog/2024-04-17-embed-contnets.mdx b/src/content/blog/2024-04-17-embed-contnets.mdx deleted file mode 100644 index 2992ecb..0000000 --- a/src/content/blog/2024-04-17-embed-contnets.mdx +++ /dev/null @@ -1,31 +0,0 @@ ---- -create: '2024-04-17' -update: '2024-04-17' -title: 'embed contents' -tags: [] -published: true ---- - -## heading - -### link-card - -https://oriverk.dev/blog/20240300-gfm-alerts/ - -### YouTube - -ページ上で動画再生することはないので、上の link-card と同様で良い。 - -https://www.youtube.com/watch?v=dQw4w9WgXcQ - -https://www.youtube.com/watch?v=ZXsQAXx_ao0 - -### Twitter - -https://twitter.com/not_you_die/status/1702572631772569625 - -https://twitter.com/thecampaignbook/status/594531814770745344 - -### Github - -https://github.com/octocat/Hello-World/blob/master/README diff --git a/src/content/blog/20240300-gfm-alerts.md b/src/content/blog/20240300-gfm-alerts.mdx similarity index 84% rename from src/content/blog/20240300-gfm-alerts.md rename to src/content/blog/20240300-gfm-alerts.mdx index 22c245a..5c3188e 100644 --- a/src/content/blog/20240300-gfm-alerts.md +++ b/src/content/blog/20240300-gfm-alerts.mdx @@ -11,7 +11,7 @@ GitHub で `> [!NOTE]` といったアラート記法を使えるようになっ ## アラートについて -[New Markdown extension: Alerts provide distinctive styling for significant content - The GitHub Blog](https://github.blog/changelog/2023-12-14-new-markdown-extension-alerts-provide-distinctive-styling-for-significant-content/) +https://github.blog/changelog/2023-12-14-new-markdown-extension-alerts-provide-distinctive-styling-for-significant-content/ > [!NOTE] > Useful information that users should know, even when skimming content. @@ -109,6 +109,4 @@ GitHub で `> [!NOTE]` といったアラート記法を使えるようになっ ## remark plugin -markdown を処理する際の remark plugin として、`remark-github-alerts` を利用した。 - -[hyoban/remark-github-alerts: Support GitHub-style alerts for remark](https://github.com/hyoban/remark-github-alerts) +markdown を処理する際の remark plugin として、[hyoban/remark-github-alerts](https://github.com/hyoban/remark-github-alerts) を利用した。 diff --git a/src/content/blog/20240300-use-biome.md b/src/content/blog/20240300-use-biome.mdx similarity index 96% rename from src/content/blog/20240300-use-biome.md rename to src/content/blog/20240300-use-biome.mdx index 8c14329..a79c682 100644 --- a/src/content/blog/20240300-use-biome.md +++ b/src/content/blog/20240300-use-biome.mdx @@ -9,6 +9,8 @@ published: true Astro と Svelte 製のサイトで、コードリンター&フォーマッターを Eslint・Prettier から Biome に変更しました。 +https://biomejs.dev/ + ## サイトについて - built with @@ -28,7 +30,8 @@ Astro と Svelte 製のサイトで、コードリンター&フォーマッタ - prettier-plugin-astro - prettier-plugin-svelte -
.eslintrc.yml +
+.eslintrc.yml ```yml extends: @@ -74,7 +77,8 @@ rules: {
-
.pretterrc.yml +
+.pretterrc.yml ```yml trailingComma: es5 diff --git a/src/content/blog/20240609-learn-rust.md b/src/content/blog/20240609-learn-rust.mdx similarity index 100% rename from src/content/blog/20240609-learn-rust.md rename to src/content/blog/20240609-learn-rust.mdx diff --git a/src/content/blog/20240812-flutter.md b/src/content/blog/20240812-flutter.mdx similarity index 99% rename from src/content/blog/20240812-flutter.md rename to src/content/blog/20240812-flutter.mdx index 1709cad..ca21614 100644 --- a/src/content/blog/20240812-flutter.md +++ b/src/content/blog/20240812-flutter.mdx @@ -12,6 +12,8 @@ published: true [![Image from Gyazo](https://i.gyazo.com/be4cd4904180fda733f325b17e8f0fc5.png)](https://gyazo.com/be4cd4904180fda733f325b17e8f0fc5) +https://flutter.dev/ + ## 感想・まとめ - RAM 16GB では足りない @@ -31,7 +33,7 @@ published: true [Flutter Learn](https://flutter.dev/learn) を手を動かしながら読み終えましたが、Widget に何があるか、Flutter/Dart 特有の書き方といったものを更に理解するため、Zenn や Google Codelab 等のチュートリアルをやりました。 -[oriverk/learn_flutter](https://github.com/oriverk/learn_flutter) +https://github.com/oriverk/learn_flutter - [いちから始めるFlutterモバイルアプリ開発](https://zenn.dev/heyhey1028/books/flutter-basics) - http, webview_flutter diff --git a/src/content/blog/20240922-pagefind.md b/src/content/blog/20240922-pagefind.mdx similarity index 92% rename from src/content/blog/20240922-pagefind.md rename to src/content/blog/20240922-pagefind.mdx index b2b57c9..300cf96 100644 --- a/src/content/blog/20240922-pagefind.md +++ b/src/content/blog/20240922-pagefind.mdx @@ -9,11 +9,9 @@ noindex: true ## はじめに -今までサイト内検索では Algolia を使用していたのですが、検索 API の実行アクセス回数が少ないために無効にされてしまったので、サイト内検索機能を全文検索ライブラリの Pagefind で置換しました。 +今までサイト内検索では [Algolia](https://www.algolia.com/) を使用していたのですが、検索 API の実行アクセス回数が少ないために無効にされてしまったので、サイト内検索機能を全文検索ライブラリの [Pagefind](https://pagefind.app/) で置換しました。 -- [Pagefind | Pagefind — Static low-bandwidth search at scale](https://pagefind.app/) - - [CloudCannon/pagefind: Static low-bandwidth search at scale](https://github.com/cloudcannon/pagefind) -- [AI search that understands | Algolia](https://www.algolia.com/) +https://pagefind.app/ ## Pagefind とは @@ -103,9 +101,9 @@ Pagefind はデフォルトで `` 内にあるすべての要素をイン Pagefind は各ページ中の各要素からメタデータを自動的に取得します。 -- title: <= h1 -- image: <= h1以降、最初の画像の src -- image_alt: <= h1以降、最初の画像の alt +- title: h1 +- image: h1以降、最初の画像の src +- image_alt: h1以降、最初の画像の alt ```html title=example.html

Hello World

diff --git a/src/styles/markdown.css b/src/styles/markdown.css index 3793397..44a2b13 100644 --- a/src/styles/markdown.css +++ b/src/styles/markdown.css @@ -87,7 +87,7 @@ color: gray; } - & *:has(> img) { + & *:has(> img):not(.info, .ogimage) { display: inline-block; padding: 1rem 1.3rem; border: 2px solid rgba(var(--color-hover));