Gridsome+Asciidocでブログを初めて見ることにした。ブログを開始することにした経緯を綴りつつ、初めての投稿をテスト的に実施してみる。
ブログを始めたきっかけ・経緯
ブログを初めてるきっかけとなったのは、単純な気づきの積み重ねによることだった。 総じて言えば メモ帳として適当なものがなかった。 というのが一番のきっかけだ。
僕はメモ帳を主に以下の用途で使っている。
-
日記用途(その時感じた事などを書き記している)
-
リファレンス用途(主にプログラミングや英語学習など)
-
覚書・備忘録用途(趣味や事務的な情報など)
今までいろいろ規制のアプリなどを試してみたものの、自分が理想のアプリはなかった。 というか最終的にはアプリでなくローカルファイルで管理したい。ベンダー縛りから逃れたいだけだった気がする。
あとは自分用のリファレンスを一般に公開して役立てたいという思いや、 プログラミングの勉強がてら何か作ろうかなという思いもあった。
いままで使用してきたメモアプリ
- Day one
-
日記用途で利用していた。日記は10年ほど前から不定期で適当な時につけていた。これが意外とあとから見返すと面白いと思っている。このアプリは使い勝手はよかったのだが、アプリがメジャーアップデートされた際に更新版は再度購入しなければアップデート機能を利用できないとなったので、それはきっかけに利用を中止し、後述のEvernoteに日記を全件移動させた。
- Apple メモアプリ
-
リファレンス用途・覚書にはApple標準のメモ帳アプリを使用していた。iPhoneとMacでデータを共有できるので便利に活用していたのだが、Androidに乗り換えた際にアプリのベンダー縛りに気づき利用を中止することに決めた。
- Google Keep
-
便利と思ったが、フォルダを階層化したりできない点や、もろもろ不足機能が気になってやめた。付箋程度の用途としては便利そうだが、そもそもアプリを行き来して情報を管理するのは微妙な選択だと思ったので、使用することを中止した。
- Microsoft OneNote
-
Evernoteのように使用できるのだが、単純に自分には合わなかった。
- Evernote
-
Day one, Apple メモアプリ, Google Keepなどを統合して管理する目的でEvernoteとMicrosoft OneNoteのいずれかにしようと選定し、Evernoteを使用することにして活用していた。しばらく使用してみてMarkdown形式を採用していないのが、微妙に感じ始めた。(最新版ではサポートされていた。)
- Notion
-
きれいないUIですごく多機能で便利なアプリ。無料版でかなり活用していたが、1年ほどで容量がいっぱいになってしまった。
いまのところの結論
無料アプリは機能的に貧弱な部分がある。有料アプリに期待すればベンダーロックから逃れられないので、メモを管理しやすいロジックを自分で作った方がいい。
Gridsome+Asciidocを選定した理由
メモ管理しつつ、どうせなら公開したいとも思い始めた。特にリファレンス用途のメモはそれなりに役に立つ情報もあると思うので公開して誰かの役に経てばなお良しと考えた。
ブログを始めるのには最近だとnoteなどのASPサービスやWordpressなどが一般的だが、ブログサービスの管理画面に入って、いちいちポチポチ押しながら編集していくのは、手軽にメモを取る感覚とは違っているから選択肢としてはない。それから同時期に知ったAsciidocがMarkdownに勝る便利フォーマットと知り、Aciidocを活用したかったので、メモをAsciidoc形式でローカルで管理しつつ投稿できる仕組みが作りたいと考えた。
それから最近はやっている静的サイトジェネレーターのGatsubyを使ってみることにした。少し調べた感じではローカルフォルダ内のMarkdownファイルの参照にも対応しているようだったので、Gatsubyをインストールしていろいろ弄っていた。少し触った感じReact.jsの学習コストに時間がかかりそうだったので(はやくブログを立ち上げたかったので)GatsubyにインスパイヤされたというVue.js系のGridsomeを使用することにした。
Gridsome+Asciidocデメリット
データベースを使ったいないので検索機能などは実装できない。その他にも静的ファイルなのでプログラム処理はほぼほぼできない。 今回はそのような用途は検討していないので、別に問題なし。あるとすれば問い合わせフォームくらいだが、ASPを使えばいいかと思っている。
あとは、Gatsubyなどに比べて日本語情報が少ないということ。
ざっくりした構成など
主に下記のModuleで制作スタートした。
-
Grdisome (typescript)
-
Pug
-
Sass
まだ慣れていない部分もあるが、Gridsomeの仕様に合わせるとTypescriptの恩栄があまり受けられない感じがした。 それから今はとりあえず公開したいので、ザックとコーディングしているが、Linterなども後で入れたいと考えている。
ざっくりしたフォルダ構成
├── content ├── src ├── static ├── gridsome.config.js ├── gridsome.server.js ├── package.json └── tsconfig.json
srcフォルダ内にコーディングデータがある。contentの中に .adoc
形式のメモを格納しており、それをsrcから参照させる仕組みだ。(そのうち詳しく纏めたい。)
これを記載している時点では、まだ公開先のサーバーを決めていない。静的サイトなので、どこにでも公開できるというのはメリットに感じる。現時点ではNetlifyかAWSのS3などがいいのではないかと考えている。
まとめ
いっぱい書いたので疲れた。公開するとおもうといっぱい頑張ってかいちゃう。つづくかな。。
実際、この投稿は見た目のCSSやAsciidoc投稿のテスト用のものであるので、あしからず。また改めて。