Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ウラカタ勉強会 2016年9月度 静的サイトジェネレータを 利用してみよう!
Search
Urakata
September 30, 2016
Technology
0
150
ウラカタ勉強会 2016年9月度 静的サイトジェネレータを 利用してみよう!
Urakata
September 30, 2016
Tweet
Share
More Decks by Urakata
See All by Urakata
ウラカタ勉強会 2017年2月度 Vagrantによるローカル仮想環境の構築
urakata
2
300
ウラカタ勉強会 2017年1月度 最近のWebから学ぶデザイン術
urakata
0
210
ウラカタ勉強会 2016年11月度 AdminLTEの有料テンプレートが良かった
urakata
0
310
ウラカタ勉強会 2016年11月度 PostCSS
urakata
0
220
ウラカタ勉強会 2016年10月度 カタラウ勉強会
urakata
0
180
ウラカタ勉強会 2016年7月度 事例から学ぶ!Sass大解剖
urakata
0
350
Other Decks in Technology
See All in Technology
B2C&B2B&社内向けサービスを抱える開発組織におけるサービス価値を最大化するイニシアチブ管理
belongadmin
1
6.4k
関数型プログラミングで 「脳がバグる」を乗り越える
manabeai
0
110
品質と速度の両立:生成AI時代の品質保証アプローチ
odasho
1
240
生成AI活用の組織格差を解消する 〜ビジネス職のCursor導入が開発効率に与えた好循環〜 / Closing the Organizational Gap in AI Adoption
upamune
7
5.2k
MobileActOsaka_250704.pdf
akaitadaaki
0
110
Core Audio tapを使ったリアルタイム音声処理のお話
yuta0306
0
190
自律的なスケーリング手法FASTにおけるVPoEとしてのアカウンタビリティ / dev-productivity-con-2025
yoshikiiida
1
15k
OPENLOGI Company Profile for engineer
hr01
1
34k
生成AI開発案件におけるClineの業務活用事例とTips
shinya337
0
250
Yamla: Rustでつくるリアルタイム性を追求した機械学習基盤 / Yamla: A Rust-Based Machine Learning Platform Pursuing Real-Time Capabilities
lycorptech_jp
PRO
4
240
Should Our Project Join the CNCF? (Japanese Recap)
whywaita
PRO
0
330
AIとともに進化するエンジニアリング / Engineering-Evolving-with-AI_final.pdf
lycorptech_jp
PRO
0
160
Featured
See All Featured
For a Future-Friendly Web
brad_frost
179
9.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
KATA
mclloyd
30
14k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Transcript
静的サイトジェネレータを 利用してみよう! ウラカタ勉強会 2016年9月度
自己紹介 エンジニアの加藤大典です。 普段は主にPHPerとしてを開発を行なったり、 制作チームが捗るように、 制作環境の導入お手伝いとかしてます。 先日、スマホを水没させてスマホのない生活 を強いられています(´・ω・`)
今日は Atomエディタの機能を利用しながら、Node.js で利用でき る静的サイトジェネレーター(GitBook, Hexo)を利用して みたいと思います。
静的サイトジェネレーター Top Open-Source Static Site Generators - StaticGen https://www.staticgen.com/
GitBook 一番人気! Modern book format and toolchain using Git and
Markdown https://github.com/GitbookIO/gitbook 本来は GitBook でドキュメントを公開するためのもの。純 粋な静的サイトを作るのには向きませんが、PDF出力がで きたりするのでちょっとしたマニュアルなどに向きます。
GitBook インストール $ npm install gitbook-cli -g 雛形の作成 $ gitbook
init
GitBook サーバー機能 $ gitbook serve
GitBook ページの追加 summary.md に Markdown のファイルを追加する HTMLの出力 $ gitbook build
GitBook PDFの出力には calibre をインストール $ brew cask install calibre PDF出力
$ gitbook pdf
GitBookのPDF • cover.jpg が表紙として使用される • デフォルトサイズA4縦で作成される • デフォルトでシステムフォントが使用される模様 • 外部URLだった画像は埋め込まれている
• MarkdownではHTMLタグを使用可能
Hexo 2番人気! A fast, simple & powerful blog framework https://hexo.io/
読み方は ヘクソ? WordPressのようなブログサイトが作れます
Hexo インストール $ npm install hexo-cli -g $ hexo init
$ npm install
Hexo サーバの起動 $ hexo server
Hexo 投稿の作成 $ hexo new hirame source/_posts/hirame.md が作成されます
Hexo hexo-browsersync でブラウザの自動更新 $ npm install hexo-browsersync --save
Hexo 静的ファイルの作成 $ hexo generate public/ 以下に静的ファイルが出力されます
Hexo タグ、カテゴリは投稿に設定します categories: 海の魚 tags: - 高級魚 - 赤い魚
Hexo 設定ファイルは _config.yml • サイト名 • 公開URL、パーマリンクの形式 • ディレクトリ構成 •
ページャー • テーマ など
Hexo 投稿ファイルのファイル名を日付ベースに変更 _config.yml new_post_name: :year-:month-:day-:title.md $ hexo new tai source/_posts/2016-09-29-tai.md
が作成される
Hexo サイトマップを付けてみる $ npm install hexo-generator-sitemap --save
Hexo 固定ページの作成 $ hexo new page about source/about/index.md が作成される
Hexo メニューの追加 themes/landscape/_config.yml menu: Home: / Archives: /archives About: /about.html
rss: /atom.xml
Hexo いろいろなテーマ https://hexo.io/themes/
Hexo テーマ Anisinaをインストールしてみる https://github.com/haojen/hexo-theme-Anisina $ git clone https://github.com/Haojen/hexo-theme-Anisina.git themes/anisina
GitHubで公開 GitHubリポジトリは静的ファイルが公開できます • https://アカウント名.github.io/ • https://アカウント名.github.io/リポジトリ名/ ドキュメントルートは以下が選べます • gh-page ブランチ
• master ブランチ • master ブランチの docs/ 以下
Hexo プラグインのインストール $ npm install hexo-deployer-git --save _config.yml deploy: type:
git repo: branch: master
Hexo デプロイ $ hexo deploy
https://atom.io/ Atom
Markdown Preview 静的サイトの作成ではMarkdownを主に使用します。Atomの Markdown プレビュー機能が便利です。 • コアパッケージに含まれています • Ctl-Shift-m でプレビュー表示
Atom Html Preview さらっとHTMLを確認するときは便利 • Ctl-Shift-h でプレビュー表示 • CSSなどがサイトルートパス /
または // で記述されていると 読み込めない。 https://atom.io/packages/atom-html-preview
Pdf View • Atomは標準ではPDFを開けないので、プラグインを入れる と便利。 • なんかちゃんと動いてないところもあるきがするけど、たま にサイズの大きいものを誤って開こうとしてがAtomが応答 無し。。なんてことも回避できる https://atom.io/packages/pdf-view
PlatformIO IDE Terminal ターミナルをAtomエディタに組み込めるので、Node.jsのコマン ド入力、出力結果確認には非常に便利です。 Settings > Core > Working
Directory は Project のままで良い ですが、複数のプロジェクトやサブディレクトリに対応できる Active file がおすすめです。 https://atom.io/packages/pdf-view
スニペット • snippets.cson(File > Snippets)で定義します • スニペットが定義されているファイルで、prefix マッチした文 字列を入力するとスニペットが展開されます •
セレクタの種類はファイルを開いて Alt-⌘-p • body に $1 などを登録するとカーソルジャンプ • Markdown は language-gfm プラグインを確認すると定義 されているスニペットが確認できます
ありがとうございました