ためすう
gem を使ってインストールされた場所
2018-07-01目的
gem を使ってインストールしたファイルがどこにあるのかを調べます。
方法
$ gem environment
RubyGems Environment:
- RUBYGEMS VERSION: 2.4.5
- RUBY VERSION: 2.2.2 (2015-04-13 patchlevel 95) [x86_64-darwin14]
- INSTALLATION DIRECTORY: /Users/hogehoge/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0
- RUBY EXECUTABLE: /Users/hogehoge/.rbenv/versions/2.2.2/bin/ruby
- EXECUTABLE DIRECTORY: /Users/hogehoge/.rbenv/versions/2.2.2/bin
- SPEC CACHE DIRECTORY: /Users/hogehoge/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /Users/hogehoge/.rbenv/versions/2.2.2/etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-14
- GEM PATHS:
- /Users/hogehoge/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0
- /Users/hogehoge/.gem/ruby/2.2.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /Users/hogehoge/.rbenv/versions/2.2.2/bin
- /usr/local/Cellar/rbenv/0.4.0/libexec
- /anaconda3/bin
- /Users/hogehoge/.rbenv/shims
- /Users/hogehoge/.rbenv/bin
- /Users/hogehoge/cocos2d-x-3.2/tools/cocos2d-console/bin
- /usr/local/bin
- /usr/bin
- /bin
- /usr/sbin
- /sbin
- /Users/hogehoge/play-2.2.1
※ ユーザー名を hogehoge としました。
下記の箇所が、インストールされている場所です。
INSTALLATION DIRECTORY: /Users/hogehoge/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0
参考
vim で EditorConfig を使う
2018-07-01使ってみる
NeoBundle でインストールします
~/.vimrc で追記します
NeoBundle 'editorconfig/editorconfig-vim'
~/.editorconfig
[*]
trim_trailing_whitespace = true
[*.php]
tab_width = 4
参考
jekyll でページネーション
2018-06-30目的
jekyll でページネーションの実現方法について調べました。
方法
jekyll のバージョン確認
$ bundle list | grep jekyll
* jekyll (3.5.2)
* jekyll-feed (0.9.2)
* jekyll-paginate (1.1.0)
* jekyll-sass-converter (1.5.0)
* jekyll-watch (1.5.0)
上記にあるように jekyll のバージョンは 3.5.2 です。
Gem ファイルに追記
$ vim Gemfile
gem "jekyll-paginate"
_config.yml に追記
$ vim _config.yml
paginate: 5
paginate_path: "page/:num"
ここまでで、反映されるか試してみます
$ bundle exec jekyll s
Dependency Error: Yikes! It looks like you don't have jekyll-paginate or one of its dependencies installed. In order to use Jekyll as currently configured, you'll need to install this gem. The full error message from Ruby is: 'cannot load such file -- jekyll-paginate' If you run into trouble, you can find helpful resources at https://jekyllrb.com/help/!
Gem ファイルに記載している jekyll-paginate が見つからないと言われているようです。
jekyll-paginate をインストールします。
jekyll-paginate のインストール
$ gem install jekyll-paginate
ローカルサーバーを立ち上げ直してみます。
$ bundle exec jekyll s
...
Generating...
Pagination: Pagination is enabled, but I couldn't find an index.html page to use as the pagination template. Skipping pagination.
エラーは出なくなりましたが、index.html を作成する必要があるようです。
index.htmlの用意
コードは、公式にあったものです。
---
layout: default
title: My Blog
---
<!-- ページ分割されたpostsに対してループ -->
{% for post in paginator.posts >}}
<h1><a href="{{ post.url }}">{{ post.title }}</a></h1>
<p class="author">
<span class="date">{{ post.date }}</span>
</p>
<div class="content">
{{ post.content }}
</div>
{% endfor >}}
<!-- ページネーションリンク -->
<div class="pagination">
{% if paginator.previous_page >}}
<a href="/page{{ paginator.previous_page }}" class="previous">Previous</a>
{% else >}}
<span class="previous">Previous</span>
{% endif >}}
<span class="page_number ">Page: {{ paginator.page }} of {{ paginator.total_pages }}</span>
{% if paginator.next_page >}}
<a href="/page{{ paginator.next_page }}" class="next">Next</a>
{% else >}}
<span class="next ">Next</span>
{% endif >}}
</div>
これでページングが実装されました。
しかし、このままだと 2ページ目に遷移しようとするとページが存在しないと言われてしまいます。
リンク先を _config.yml
で設定したものに合わせます。
ページングの修正
index.html 内のページングのリンク先を下記のように置き換えます。
<a href="/page/{{ paginator.previous_page }}" class="previous">Previous</a>
さらに 2 ページ目から 1ページ目に戻るとき、ページが存在しないと言われてしまいました。
ここでは、条件分岐を書いて回避することにします。
最終的に、index.html のページング部分は下記のようになります。
<!-- ページ分割されたpostsに対してループ -->
{% for post in paginator.posts >}}
<h1><a href="{{ post.url }}">{{ post.title }}</a></h1>
<p class="author">
<span class="date">{{ post.date }}</span>
</p>
<div class="content">
{{ post.content }}
</div>
{% endfor >}}
<!-- ページネーションリンク -->
<div class="pagination">
{% if paginator.previous_page >}}
{% if paginator.previous_page == 1 >}}
<a href="/" class="previous">Previous</a>
{% else >}}
<a href="/page/{{ paginator.previous_page }}" class="previous">Previous</a>
{% endif >}}
{% else >}}
<span class="previous">Previous</span>
{% endif >}}
<span class="page_number ">Page: {{ paginator.page }} of {{ paginator.total_pages }}</span>
{% if paginator.next_page >}}
<a href="/page/{{ paginator.next_page }}" class="next">Next</a>
{% else >}}
<span class="next ">Next</span>
{% endif >}}
</div>
参考
scp でファイルのアップロード、ダウンロード
2018-06-24目的
手元の PC とリモートサーバーとの間でファイルをやりとりするために使用しました。
使う度に調べ直しているので、まとめてみます。
方法
(以下 man コマンドより引用)
scp [-12346BCEpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host1:]file1 ... [[user@]host2:]file2
アップロード @ローカルホスト
index.htmlをアップロードする
$ scp -P 22 -i identity_file index.html admin@domain.com:/home/admin/
ダウンロード @ローカルホスト
$ scp -P 22 -i identity_file admin@domain.com:/home/admin/index.html ./
最後に
下記のようなイメージです
$ scp [移動したいファイルパス] [移動先のファイルパス]
vim でエクスプローラ時のコマンド
2018-06-24vim のエクスプローラで実行できるコマンド
vim で エクスプローラを開いた時 ( :Ex ) に実行できるコマンドを調べました。
(まだ記載していないコマンドがたくさんあります)
|コマンド|説明| |–|————–| |%|新規ファイル作成| |d|新規ディレクトリ作成| |D|ファイル/ディレクトリの削除| |R|ファイル/ディレクトリの名前変更| |p|プレビュー(別ペインで開く)|
参考URL
MacVim で背景を透明にする
2018-06-23目的
ターミナルの vim では設定が反映されているのに、MacVim で下記の設定が反映されていませんでした。
- カラースキーマが効いてない
- MacVim の背景を透明にする設定も効いてない
MacVim でも設定が反映されるようにします。
方法
- MacVim.app/Contents/Resources/vim/vimrc
- ホームフォルダ/.vimrc または _vimrc
- MacVim.app/Contents/Resources/vim/gvimrc
- ホームフォルダ/.gvimrc または _gvimrc
$ vim ~/.gvimrc
source ~/.vimrc
set transparency=20
これで MacVim の背景が透明になりました。
参考URL
jekyll でテンプレートの変更をする
2018-06-17目的
jekyll という静的サイトジェネレータでテーマに minima を利用しています。
ページネーションを実現しようとした時、テンプレートファイルを修正する必要が出てきました。
現在、_layouts
フォルダがないため、minima のテンプレートファイルを gem に置いてあるところから
ではなく、自分で用意したファイルから読み出せるようにします。
テンプレートファイルを設置する
$ cp -r ~/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/minima-2.1.1/_layouts/* _layouts/
ちなみに
minima の開発リポジトリを探してみます。
$ gem environment
一部抜粋
- REMOTE SOURCES:
- https://rubygems.org/
rubygems 内で検索して出てきました。
unix でファイル検索する
2018-06-16目的
unix でファイル検索する方法を調べました。
方法
$ find ./ -name test
testのところには検索パターンを入れます。
たとえば zip ファイル を探したい場合は、下記のようにして検索します。
$ find ./ -name *.zip
最後にデータが修正されたのが 5 分以上前のものは、下記のように検索します。
$ find ./ -mmin +5
ファイルタイプで検索 (ディレクトリを検索)
$ find ./ -type d
ssh 接続をラクにする
2018-06-16目的
ssh接続するときのコマンドを短くします。
方法
仮定
- 接続するサーバー: example.com
- 接続するユーザー: username
- 接続するサーバーの秘密鍵: ~/.ssh/myssh.key
設定前の接続方法
$ ssh -i ~/.ssh/myssh.key username@example.com
設定後の接続方法
設定を記述します。
$ vim ~/.ssh/config
Host myhost
HostName example.com
User username
Port 22
IdentityFile ~/.ssh/myssh.key
これにより、下記で接続できます。
$ ssh myhost
(以下 man コマンドより引用)
-F configfile
Specifies an alternative per-user configuration file. If a configuration file is given on the command line, the system-wide configuration file (/etc/ssh/ssh_config) will be ignored. The default for the per-user configuration file
is ~/.ssh/config.
参考URL
zip を使ってみる
2018-06-10目的
使用する PC が Mac になってからコマンドで zip ファイルを作るようになったので
やり方のメモを残します。
方法
zip ファイルを作成します。
$ zip test.zip test.txt test1.txt
zipファイルをパスワード付きで生成します。
$ zip -e test.zip test1.txt test2.txt
Enter password:
Verify password:
updating: test1.txt (stored 0%)
updating: test2.txt (stored 0%)
man zipで見てみると、-e は –encrypt と同義でした。
( encrypt は暗号化という意味)