メインコンテンツへスキップ

国立国会図書館サーチAPIでISBNから書誌情報と書影を取得する

国立国会図書館サーチAPIは個人・非営利団体等がデータ利用により利益を得ない場合は、利用申請不要で利用できる。

ISBNをキーにして書誌情報を取得するのはOpenSearchがお手軽なようだ。

https://iss.ndl.go.jp/api/opensearch?isbn=ISBN

結果はXML(RSS)で得られる。

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:dcndl="http://ndl.go.jp/dcndl/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <channel>
    <title>9784253265218 - 国立国会図書館サーチ OpenSearch</title>
    <link>https://iss.ndl.go.jp/api/opensearch?isbn=9784253265218</link>
    <description>Search results for isbn=9784253265218 </description>
    <language>ja</language>
    <openSearch:totalResults>2</openSearch:totalResults>
    <openSearch:startIndex>1</openSearch:startIndex>
    <openSearch:itemsPerPage/>
    <item>
      <title>海が走るエンドロール = Umi ga hashiru Endroll</title>
      <link>https://iss.ndl.go.jp/books/R100000002-I031602764-00</link>
<description>
<![CDATA[<p>1,秋田書店,9784253265218</p>
<ul><li>タイトル: 海が走るエンドロール = Umi ga hashiru Endroll</li>
<li>タイトル(読み): ウミ ガ ハシル エンド ロール</li>
<li>責任表示: たらちねジョン 著,</li>
<li>シリーズ名: BONITA COMICS</li>
<li>NDC(10): 726.1</li>
<li>NDC(9): 726.1</li>
</ul>]]>
</description>
      <author>たらちねジョン 著,たらちね, ジョン,</author>
      <category></category>
      <guid isPermaLink="true">https://iss.ndl.go.jp/books/R100000002-I031602764-00</guid>
      <pubDate>Wed, 29 Sep 2021 09:00:00 +0900</pubDate>
      <dc:title>海が走るエンドロール = Umi ga hashiru Endroll</dc:title>
      <dcndl:titleTranscription>ウミ ガ ハシル エンド ロール</dcndl:titleTranscription>
      <dc:creator>たらちね, ジョン</dc:creator>
      <dcndl:creatorTranscription>タラチネ, ジョン</dcndl:creatorTranscription>
      <dcndl:volume>1</dcndl:volume>
      <dcndl:seriesTitle>BONITA COMICS</dcndl:seriesTitle>
      <dc:publisher>秋田書店</dc:publisher>
      <dc:date>2021.8</dc:date>
      <dcterms:issued xsi:type="dcterms:W3CDTF">2021</dcterms:issued>
      <dcndl:price>600円</dcndl:price>
      <dc:extent>158p ; 19cm</dc:extent>
      <dc:identifier xsi:type="dcndl:ISBN">9784253265218</dc:identifier>
      <dc:identifier xsi:type="dcndl:NDLBibID">031602764</dc:identifier>
      <dc:identifier xsi:type="dcndl:JPNO">23585081</dc:identifier>
      <dc:identifier xsi:type="dcndl:TOHANMARCNO">07471697</dc:identifier>
      <dcndl:genre>漫画</dcndl:genre>
      <dc:subject xsi:type="dcndl:NDLC">Y84</dc:subject>
      <dc:subject xsi:type="dcndl:NDC10">726.1</dc:subject>
      <dc:subject xsi:type="dcndl:NDC9">726.1</dc:subject>
      <dc:description>機器種別 : 機器不用</dc:description>
      <dc:description>キャリア種別 : 冊子</dc:description>
      <dc:description>表現種別 : テキスト</dc:description>
      <dc:description>表現種別 : 静止画</dc:description>
      <dc:description>NDC(9版)はNDC(10版)を自動変換した値である。</dc:description>
      <rdfs:seeAlso rdf:resource="http://id.ndl.go.jp/bib/031602764"/>
      <rdfs:seeAlso rdf:resource="https://opac.lib.city.yokohama.lg.jp/opac/OPP1500?SELDATA=TOSHO&amp;SSNO=3-0500928436"/>
    </item>
    <item>
      <title>海が走るエンドロール = Umi ga hashiru Endroll</title>
      <link>https://iss.ndl.go.jp/books/R100000098-I000372329-00</link>
<description>
<![CDATA[<p>1,秋田書店,9784253265218</p>
<ul><li>タイトル: 海が走るエンドロール = Umi ga hashiru Endroll</li>
<li>タイトル(読み): ウミ ガ ハシル エンド ロール</li>
<li>責任表示: たらちねジョン 著,</li>
<li>シリーズ名: BONITA COMICS</li>
<li>NDC(9): 726.1</li>
</ul>]]>
</description>
      <author>たらちねジョン 著,,</author>
      <category></category>
      <guid isPermaLink="true">https://iss.ndl.go.jp/books/R100000098-I000372329-00</guid>
      <dc:title>海が走るエンドロール = Umi ga hashiru Endroll</dc:title>
      <dcndl:titleTranscription>ウミ ガ ハシル エンド ロール</dcndl:titleTranscription>
      <dc:creator></dc:creator>
      <dcndl:volume>1</dcndl:volume>
      <dcndl:seriesTitle>BONITA COMICS</dcndl:seriesTitle>
      <dc:publisher>秋田書店</dc:publisher>
      <dc:date>2021.08</dc:date>
      <dcterms:issued xsi:type="dcterms:W3CDTF">2021-08</dcterms:issued>
      <dcndl:price>600円</dcndl:price>
      <dc:extent>158p ; 19cm</dc:extent>
      <dc:identifier xsi:type="dcndl:ISBN">9784253265218</dc:identifier>
      <dc:identifier xsi:type="dcndl:JPNO">23585081</dc:identifier>
      <dc:subject xsi:type="dcndl:NDC9">726.1</dc:subject>
      <dc:description>単行本全巻ID : C451417</dc:description>
      <dc:description>マンガ単行本備考 : 機器種別 : 機器不用 / キャリア種別 : 冊子 / 表現種別 : テキスト / 表現種別 : 静止画 / NDC(9版)はNDC(10版)を自動変換した値である。</dc:description>
      <dc:description>ID : M852583</dc:description>
      <dc:description>登録番号(館固有割り振りID):031602764(国立国会図書館)</dc:description>
      <rdfs:seeAlso rdf:resource="https://mediaarts-db.bunka.go.jp/id/M852583"/>
    </item>
  </channel>
</rss>

書影はhttps://iss.ndl.go.jp/thumbnail/ISBNで得られる。

関連記事

Hugoでローカルサーバのみ実行する処理を書く方法

Hugoでhugo serveで起動するローカルサーバでのみ実行する処理を書きたい場合、.Site.IsServerを参照すれば良い。ローカルサーバの場合Trueが設定されている。 Site Variables |Hugo {{- if .Site.IsServer }} {{- $notes = .Site.RegularPages.ByDate.Reverse}} {{- else }} {{- $notes = .Site.RegularPages.ByLastmod.Reverse }} {{- end }}

Hugoで本文の先頭画像をアイキャッチとして使用する

Hugoでアイキャッチ画像を取り扱う場合、ページのfront matterでアイキャッチ画像を指定し、ページレベルパラメタで取得するのが確実だが、アイキャッチ画像が指定されていない場合、記事内の画像をアイキャッチ画像として扱えれば便利なケースが多い。 layouts/partials/summary.html 1 2 3 4 5 6 7 8 9 10 {{- $image := index (findRE "<img.*?src=([^>]*)?>" .Content 1) 0 }} {{- if $image }} <figure class="ellipsis card_img"> {{ $image | safeHTML }} </figure> {{- else }} <p class="ellipsis card_summary"> {{ .Summary }} </p> {{- end }} 上のコードは正規表現で<img>タグを検索し存在すれば画像を出力し、存在しなければサマリを出力するもの。

2ホップリンク

ホップ数 # flowchart LR B1 & B2 --> A G --> O1 H --> O1 A --> O1 & O2 O2 --> E F --> O2 B1:::hop1 B2:::hop1 O1:::hop1 O2:::hop1 F:::hop2 G:::hop2 H:::hop2 style A fill:#f9f,stroke:#333,stroke-width:4px classDef hop1 fill:#a9a classDef hop2 fill:#f96 ホップ数とは自身から任意のページまでたどり着くまでのリンクの数である。 このようなリンク関係がある場合、ページAから見て、B1 B2 O1 O2は1ホップリンクと呼ばれる。 2ホップリンクの意味 # このため、上記のリンク関係で言えば、ページAから見たG H E Fは2ホップリンクとなる。 Scrapboxでは2ホップリンクの内、アウトゴーイングリンクのページへリンクしているページ、つまり、 AからリンクしているO1へリンクしている Gと H AからリンクしているO2へリンクしている F を関連リンクとして表示している。これは、 A→C, B→Cというリンクが存在するとき、AとBの間にはなんらかの関連があると考えてよい。 「和歌山」→「みかん」、「愛媛県」→「みかん」 ならば「和歌山県」と「愛媛県」はみかんつながりになっているわけだし、 「増井」→「Rubyプログラミング」、「高林」→「Rubyプログラミング」 ならば「増井」⇔「高林」は意味がある。 出典: 2ホップリンクの考察 - 増井俊之 上記の考え方に基づく仕様であり、本サイトでもQuartzを拡張し同様の2ホップリンクを表示している(各ページ配下の「関連リンク」) QuartzにScrapbox的な2ホップリンクを追加する Obsidiaのリンク表示 参考情報 # 2ホップリンクの考察 - 増井俊之

指定したWebページをMarkdownへ変換するRubyスクリプト

指定したWebページをMarkdownへ変換するRubyスクリプト require 'reverse_markdown' require 'open-uri' ReverseMarkdown.config do |config| config.unknown_tags = :bypass config.github_flavored = true config.tag_border = '' end def usage puts "usage: #{$0} uri" exit 1 end usage if ARGV.size != 1 html = OpenURI.open_uri(ARGV.shift).read print ReverseMarkdown.convert html

Hugo

オープンソースの静的サイトジェネレーター。go言語で記述されておりページ生成の速度が速くカスタマイズ性が高い。 The world’s fastest framework for building websites | Hugo Hugo関連のノート # Hugoメモ Hugoのショートコードをうまく使い回す方法 Hugoのローカルサーバでページが表示されない場合 Hugoで本文の先頭画像をアイキャッチとして使用する Hugoでローカルサーバのみ実行する処理を書く方法 Hugoで楽譜を描画する(abcjs) Hugoのレンダーフックを使ったMermaidの利用 Hugoのショートコード入力を支援するChrome拡張 Hugoでイメージギャラリーを表示するhugo-shortcode-gallery Hugoで写真をリサイズしExif情報を表示する