markdown共有ツール

Markdown共有ガイド / API・curl・GitHub Actions

API・curl・GitHub ActionsでMarkdownを公開する方法

公開APIへMarkdown本文を1回POSTすると、ブラウザで閲覧できる完成URLが返ります。アカウントとAPIキーは不要です。繰り返し使う場合は、入力上限と作成回数制限を守り、成功時のURLを処理結果として保存します。

1. curlでMarkdownファイルを公開する

curl --fail-with-body --request POST \
  'https://markdown.bz/api/v1/documents' \
  --header 'Content-Type: text/markdown; charset=utf-8' \
  --data-binary '@README.md'

Content-Type: text/markdownで送る最短例です。タイトルは最初のMarkdown見出し、期限は無期限、パスワードなしになります。成功時は201 CreatedとJSONが返ります。

2. 期限やタイトルをJSONで指定する

curl --fail-with-body --request POST \
  'https://markdown.bz/api/v1/documents' \
  --header 'Content-Type: application/json' \
  --data '{
    "markdown": "# CIレポート\n\nテストは成功しました。",
    "title": "CIレポート",
    "expiryDays": 7
  }'

expiryDaysnull(無期限)または3、7、30、60、100です。省略時は無期限です。閲覧パスワードも指定できますが、シェル履歴やCIログへ平文で残さず、環境変数やActions secretsを使ってください。

3. 公式CLIを使う

公開リポジトリ743starlight/markdownbz-examplesには、外部依存なしのNode.js CLI、curl・Nodeサンプル、テスト、MITライセンスがあります。

git clone https://github.com/743starlight/markdownbz-examples.git
cd markdownbz-examples
node bin/markdownbz.mjs README.md

# 7日間で公開
node bin/markdownbz.mjs report.md --expiry-days 7

CLIは成功時に完成URLだけを標準出力へ返すため、シェル変数へ受け取れます。

public_url="$(node bin/markdownbz.mjs report.md --expiry-days 7)"
printf '%s\n' "$public_url"

4. GitHub Actionsから公開する

permissions:
  contents: read

steps:
  - uses: actions/checkout@v7
  - id: publish
    uses: 743starlight/markdownbz-examples@v1
    with:
      markdown-path: report.md
      expiry-days: '7'
  - run: echo "${{ steps.publish.outputs.public-url }}"

Actionのpublic-url出力が完成URLです。公開処理をpushのたびに自動実行すると不要な文書が増えるため、成果物が確定したジョブ、リリース、手動実行など必要なタイミングへ限定してください。

5. レスポンスの完成URLを利用する

{
  "slug": "AbCdEf1234567890",
  "publicUrl": "https://markdown.bz/d/AbCdEf1234567890",
  "expiresAt": null
}
  • publicUrl: 人へ渡す完成URL
  • slug: 共有文書の識別子
  • expiresAt: 無期限ではnull、期限付きではISO 8601日時

AIへMarkdown原文を渡す場合は、完成URLの末尾に/rawを付けます。詳しくはAIへMarkdown共有URLを渡す方法を参照してください。

6. 失敗時の確認

HTTP確認点
400JSON、期限、タイトル、パスワードの値
413Markdownが1MB以内か、JSONリクエストが過大でないか
415application/jsonまたはtext/markdown
429Retry-Afterを待ち、同時・連続送信を減らす
500 / 503時間を置いて限定回数だけ再試行する

再送信は同じ文書を上書きせず、新しい共有URLを作成します。タイムアウト後に再試行する処理では、重複URLが発生しうることを考慮してください。完全な仕様はAPIドキュメントOpenAPI 3.1で確認できます。

最終確認日: / 確認: markdown共有ツール運営