mirror of
https://github.com/yhirose/cpp-httplib.git
synced 2026-04-12 03:38:30 +00:00
* Add initial documentations * Update documentation for Basic Client and add WebSocket section * feat: add a static site generator with multi-language support - Introduced a new Rust-based static site generator in the `docs-gen` directory. - Implemented core functionality for building sites from markdown files, including: - Configuration loading from `config.toml`. - Markdown rendering with frontmatter support. - Navigation generation based on page structure. - Static file copying and output directory management. - Added templates for base layout, pages, and portal. - Created a CSS file for styling and a JavaScript file for interactive features like language selection and theme toggling. - Updated documentation source with new configuration and example pages in English and Japanese. - Added a `justfile` target for building the documentation site. * Add language/theme toggle functionality - Created a new Japanese tour index page at docs/ja/tour/index.html - Implemented navigation links for various sections of the cpp-httplib tutorial - Added a language selector to switch between English and Japanese - Introduced theme toggle functionality to switch between light and dark modes - Added mobile sidebar toggle for better navigation on smaller screens
73 lines
3.5 KiB
HTML
73 lines
3.5 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="ja">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<title>cpp-httplib - cpp-httplib</title>
|
||
<link rel="stylesheet" href="/css/main.css">
|
||
<script>
|
||
(function() {
|
||
var t = localStorage.getItem('preferred-theme');
|
||
if (!t) t = window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark';
|
||
if (t === 'light') document.documentElement.setAttribute('data-theme', 'light');
|
||
})();
|
||
</script>
|
||
</head>
|
||
<body>
|
||
<header class="header">
|
||
<div class="header-inner">
|
||
<a href="/ja/" class="header-title">cpp-httplib <span style="font-size:0.75em;font-weight:normal;margin-left:4px">v0.35.0</span></a>
|
||
<div class="header-spacer"></div>
|
||
<nav class="header-nav">
|
||
<a href="/ja/">Home</a>
|
||
<a href="/ja/tour/">Tour</a>
|
||
</nav>
|
||
<div class="header-tools">
|
||
<button class="theme-toggle" aria-label="Toggle theme"></button>
|
||
<div class="lang-selector">
|
||
<button class="lang-btn" aria-label="Language">JA</button>
|
||
<ul class="lang-popup">
|
||
|
||
<li><a href="#" data-lang="en">EN</a></li>
|
||
|
||
<li><a href="#" data-lang="ja">JA</a></li>
|
||
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</header>
|
||
|
||
|
||
|
||
<div class="layout no-sidebar">
|
||
|
||
<main class="content portal">
|
||
<article>
|
||
<h1>cpp-httplib</h1>
|
||
<p><a href="https://github.com/yhirose/cpp-httplib">cpp-httplib</a>は、C++用のHTTP/HTTPSライブラリです。<a href="https://github.com/yhirose/cpp-httplib/raw/refs/tags/latest/httplib.h"><code>httplib.h</code></a> というヘッダーファイルを1枚コピーするだけで使えます。</p>
|
||
<p>C++でちょっとしたHTTPサーバーやクライアントが必要になったとき、すぐに動くものが欲しいですよね。cpp-httplibはまさにそのために作られました。サーバーもクライアントも、数行のコードで書き始められます。</p>
|
||
<p>APIはラムダ式をベースにした直感的な設計で、C++11以降のコンパイラーがあればどこでも動きます。Windows、macOS、Linux — お使いの環境をそのまま使えます。</p>
|
||
<p>HTTPSも使えます。OpenSSLやmbedTLSをリンクするだけで、サーバー・クライアントの両方がTLSに対応します。Content-Encoding(gzip, brotli等)、ファイルアップロードなど、実際の開発で必要になる機能もひと通り揃っています。WebSocketもサポートしています。</p>
|
||
<p>内部的にはブロッキングI/Oとスレッドプールを使っています。大量の同時接続を捌くような用途には向きませんが、APIサーバーやツールの組み込みHTTP、テスト用のモックサーバーなど、多くのユースケースで十分な性能を発揮します。</p>
|
||
<p>「今日の課題を、今日中に解決する」— cpp-httplibが目指しているのは、そういうシンプルさです。</p>
|
||
<h2>ドキュメント</h2>
|
||
<ul>
|
||
<li><a href="tour/">A Tour of cpp-httplib</a> — 基本を順を追って学べるチュートリアル。初めての方はここから</li>
|
||
<li><a href="cookbook/">Cookbook</a> — 目的別のレシピ集。必要なトピックから読めます</li>
|
||
</ul>
|
||
|
||
</article>
|
||
</main>
|
||
|
||
</div>
|
||
|
||
<footer class="footer">
|
||
© 2025 yhirose. All rights reserved.
|
||
</footer>
|
||
|
||
<script src="/js/main.js"></script>
|
||
</body>
|
||
</html>
|