LogoMark.png

角田雄一/卒業研究 の履歴(No.24)


書くだけ公開!Markdown Webサイト入門

Markdownで書いてGitHubにPushするだけの、ビルド不要・無料で公開できる記事サイトの作り方

main.png

概要

これは何?

Markdown形式で記事を管理し、JavaScriptでHTMLに変換し、GitHub Pagesで公開するという、MarkDownを使った無料でビルド不要のWebサイト制作手法を解説するドキュメントサイト。

背景と目的

 Markdownは構造が明確で編集しやすく、技術記事の執筆に広く利用されている。一方で、MarkdownをWebページとして公開するには、JekyllHugoなどの静的サイトジェネレーターを使う必要があり、ビルド環境の構築やコマンド操作が必要になるため、初心者には扱いが難しく、メンテナンス性にも課題がある。
 そこで、本プロジェクトでは、GitHub Pages を用いて、「Markdown を書いてGitHub にPush するだけ」でサイトが自動的に更新される仕組みを構築し、それを分かりやすく紹介することで、誰でも手軽ににMarkdown ベースの情報発信が可能になるドキュメントサイトを制作することにした。

コンセプト

成果物の仕様

Webサイト

制作ツール

ThinkPad (PC)
NeoVim (テキストエディタ)

プロジェクトの期間


まとめ

中間報告の際、JavaScriptを使って、MarkDownでWebページを作るというコンセプトが珍しいため、それをテーマにしたプロジェクトに路線変更してはどうかとの提案をいただいた。それを踏まえて、テーマ変更する際どんなアプローチができるのか探っていきたい。



調査

現状調査

Markdown形式で記事が管理されているメディア

先行事例

技法・技術情報




プロジェクト管理





進捗記録




2025.06.20

コードブロックのテーマ変更

コードブロックのテーマをCatppuccinFrappéに変更した。

marked_test_9.png


プロジェクトテーマの変更

フレームワーク制作について検討しながらも、MDからHTMLへの変換と表示についての作業は進めていたのだが、コードブロックを実装した段階で、かなり綺麗に整った記事をMDから生成できるようになっていた。

フレームワーク制作は先週、検討の結果断念したのだが、MDからこれだけきちんとしたサイトが作れるならば、Linux関連の誰も知らないテーマにするよりも、「MDを使って手軽に綺麗なサイトを作る方法を解説するWebサイトの制作」にテーマを変更したほうが、より多くの人の役に立てるのではないかと思った。

概要集

前期概要集を制作した

2025.06.13

目次リンク自動生成

目次リンクの見た目を整えた。また、目次のリンクをクリックすると、その見出し部分に飛ぶようにした。

marked_test_8.png


プロジェクトテーマ変更について

「MDファイルに yaml 形式でタイトル・日付・カテゴリー情報・タグ情報などを埋め込むことで、自動でサイトを生成するフレームワーク」の仕様について検討した。

結果、技術的には可能であるが、"Jekyll" という類似するフレームワークが存在していることと、ユーザーによるサイトの記事以外の箇所のカスタマイズ方法がどうしても複雑になってしまい、「MDだけで簡単にサイトを作る」という本来のコンセプトと、最低限のカスタマイズ機能との両立が非常に困難であるということから、このフレームワーク制作は断念することにした。



2025.06.06

目次リンク自動生成

MarkDownファイルの「見出し1(#)」と「見出し2(##)」を自動で読み取って、目次が自動生成されるようにした。(画像左部)

marked_test_7.jpg


プロジェクトテーマ変更について

中間報告にて、MarkDownファイルをHTMLに変換する機能のほうをテーマにしたほうが良いのではないかというアドバイスを頂いた。

変換機能をテーマとする場合、テーマとしては「MDファイルをJavaScriptを用いてHTMLに変換し、GitHub Pagesで無料公開する方法を解説したWebサイトの制作」や、「MDファイルに yaml 形式でタイトル・日付・カテゴリー情報・タグ情報などを埋め込むことで、自動でサイトを生成するフレームワークの制作」がテーマとして考えられるが、せっかくなので後者のほうをやってみようと思う。



2025.05.23

ライブラリ動作検証

画像のパスを指定することで、画像を埋め込むことができるようにした。
MarkDown記法に則った記法で埋め込めるようにした。

   ![サンプル画像](./articles/images/sample.jpg)
marked_test_6.jpg




2025.05.16

ライブラリ動作検証

JavaScriptを使って、MarkDownファイルにYouTube動画のリンクをテキストとして貼るだけで、サイト上ではYouTube動画のサムネイルを表示し、再生できる状態で埋め込まれるようにした。

marked_test_5.png




2025.05.09

コンテンツ書き出し

ライブラリ動作検証

YouTubeリンクをMDファイルに貼り付けHTMLに変換したところ、リンクの文字列がそのまま表示された。学科サイトのように動画枠とサムネイルを表示し、そのまま再生できるようにしたい。
動画URLから自動的に動画を埋め込むプログラムを書いているが、まだうまくいっていない。

marked_test_4.png


プレゼン準備

プレゼン用ページ



2025.05.02

ライブラリ動作検証

highlight.js の実装及び動作検証

プレゼン準備

プレゼン用ページ



2025.04.25

ライブラリ動作検証

Marked の実装及び動作検証

2025.04.18

サイトの要件

Arch Linuxに関する情報は移り変わりが激しく、サイト情報の頻繁な更新が想定されるため、以下の要件を設定する。

実装予定機能

技法・技術調査

試作

サイトマップ



2025.04.11

テーマ決定

現状調査

Sway-wmに関する日本語の情報源の調査結果

先行事例調査