LogoMark.png

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


マークダウン de Webサイト!

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

main.png


概要

これは何?

本サイトは、Markdown 形式で記事を管理し、それを JavaScript によって HTML に変換し、GitHub Pages を利用して公開するという、ビルド作業のいらない Web サイト制作手法を解説するドキュメントサイトである。
さらに、Markdown の特徴や活用方法についても解説し、Markdown を使った情報発信の利便性と仕組みを理解できるようにすることを目的としている。


背景と目的

Markdown(マークダウン)は、見出しや箇条書きといった文書構造をシンプルな記号で表現できる記法であり、HTML のような複雑なタグを使わずに、読みやすく整理された文章を記述できる。この利便性から、GitHubQiitaZennはてなブログなど、さまざまなプラットフォームで採用されている。

一方、Markdown で作成した文章はそのまま Web ページにはならず、HTML 形式へ変換する必要がある。一般的には JekyllHugo といった静的サイトジェネレーターを使用するが、環境構築やコマンド操作が必要で、複数端末での運用や長期的な管理が負担となる場合もある。

そこで本プロジェクトでは、「Markdown を書いて GitHub に Push するだけで Web サイトが更新される」仕組みを構築し、ビルド不要で継続的に管理できる Markdown ベースの Web 発信環境を提供する。
この仕組みをわかりやすくまとめたドキュメントサイトを制作し、Markdown の利便性と Web 公開の流れを整理して提示することを目的とする。


コンセプト


成果物の仕様

Web サイト: https://yuichi853.github.io/md-site/
Markdown 変換機能・複数レイアウトサンプル・記事テンプレートなどを含む。


制作ツール

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


プロジェクトの期間

2025.04.11 - 2025.10.24


まとめ

本プロジェクトでは、Markdown で記述した記事を JavaScript によって HTML に変換し、GitHub Pages で公開する仕組みを構築した。
これにより、従来の静的サイトジェネレーターのような環境構築やビルド作業を必要とせず、軽量で持続的な Web 発信環境を実現できた。

目次生成やコードハイライトにも対応し、視認性の高い記事デザインを実現した。一方で、Markdown の仕組みに馴染みのない人への説明は改善の余地があり、今後は導入部分の強化や全体構成の整理を通して理解しやすさを高めたい。



調査

現状調査

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

先行事例

技法・技術情報




プロジェクト管理





進捗記録




2025.11.14

テンプレートサイト

テンプレートサイトのサンプル画像をよりシンプルなものに差し替えた。

2025.10.31

概要集修正

レイアウトの乱れや番号の打ち間違え等、細かい修正を加えた。

第三者によるサイトレビュー

Webサイトに関する知識が豊富なクラスメートの方に、サイトのコンテンツの検証とレビューをして頂いた。
サイトの使いやすさに関しては、ターミナルに触れたことのあるような、テクノロジーに詳しい人であればスムーズに使えるだろう、との感想をいただいた。

また、改善案として

という2点をご指摘頂き、それに基づき修正を加えた。



2025.10.24

概要集

概要集を制作した。

2025.10.17

記事の加筆・修正

デバッグ

2025.10.10

記事ページデザイン刷新

article.png

テンプレートページ作成

template.png

Aboutページ作成

about.png

2025.10.03

main.png

メインページ

ヘッダー

2025.09.26

記事執筆

目次の見た目修正

「見出し1」が太字で表示されるようにし、視認性を向上させた。

md-site-03.png




2025.09.19

レスポンシブ対応

サイトをレスポンシブ対応させた。

サイトマップ

サイトマップを作成した。

ワイヤーフレーム

テンプレート

ユーザーが簡単に使用できるようにテンプレートを作成することにした。
現在テンプレートの制作途中である。

2025.07.29

ブラッシュアップ

審査の際に「前提知識が無い人にとってわかりにくい」「説明が不十分」とのご指摘を頂いた。それを受けて、背景と目的欄に大幅な変更を加え、Markdown形式にあまり馴染みのない方でもプロジェクトについて理解できるようにした。



2025.07.18

埋め込みYouTubeサムネイルの表示

埋め込んだYouTubeサムネイル欄の縁が丸みを帯びるようにした。

marked_test_12.png




2025.07.11

コードブロックの表示

コードブロック欄の縁が丸みを帯びるようにした。

marked_test_11.png




2025.07.04

目次の固定機能

記事をスクロールするとき、目次が画面上部に固定されて、常に表示できるようにした。

marked_test_10.png




2025.06.27

目次の固定機能

記事をスクロールするとき、目次が画面上部に固定されて、常に表示できるようにしたいのだが、Bootstrapとの兼ね合いもあり、うまくいっていない。

概要集

フィードバックを受け、前期概要集に変更を加えた。

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に関する日本語の情報源の調査結果

先行事例調査