>>Top Page
Several blog articles are written in Japanese only, Sorry.

サイトのルートから親ページまでのナビゲーションを書いてみた

written by a2c_s on 2016-03-02

Lektorのプラグイン機能を使ってウェブサイトのルートから親ページまでのナビゲーションを書いてみた。

とりあえずソースコードは以下のような感じ

まだAlternativeが上手く扱えないとか問題がいっぱい。

# -*- coding: utf-8 -*-
from urlparse import urljoin
import urllib

from lektor.pluginsystem import Plugin
from furl import furl


class RootRelativePathPlugin(Plugin):
    name = u'root-relative-path'
    description = u'Returns root relative path'

    def on_setup_env(self, **extra):
        def root_relative_path_list(url):
            if url == '/':
                return []
            lis = furl(url).path.segments
            url='/'
            name='Top Page'
            root_relative_path_lis = [(url, name)]
            for i in lis:
                url = urllib.quote(urljoin(url, '%s' % i))
                name = i
                root_relative_path_lis.append((url, name))
                url = url + '/'

            return root_relative_path_lis[:-1]
        self.env.jinja_env.filters['root_relative_path_list'] = root_relative_path_list

Bitbucket の UI がAtlassian共通のスタイルに変わっていた

written by a2c_s on 2016-02-24

久々にprivateなgitリポジトリでも作ろうかと思いBitbucketを開いたらConfluenceやJIRAのようなAtlassianの製品によく見られるUIスタイルに変わっていた。

Wikipediaを見るとButbucketは2010年にはAtlassianに買収されていたのか、知らなかった。

ブログのタイトルが英語に切り替わらない (修正済み)

written by a2c_s on 2016-02-23

2016-02-23 修正できました

{% set pages = site.query('./blog', alt=alt).all() %}
と書くところを
{% set pages = site.query('./blog').all() %}
のように書いていたのが原因でした。
ブログのタイトル一覧がトップページで見た時に英語に切り替わらない。 以下のようなコードを書いているのだが。
  {% set pages = site.query('./blog').all() %}
    {% for page in pages[0:5] %}
    <li>
    <a href="./blog/{{ page._id }}"> {{ page.title }}</a>
    </li>
    {% endif %}
  {% endfor %}

Foundation 6 を使ってResponsiveデザインにしてみました

written by a2c_s on 2016-02-20

Lektorにデフォルトで入っているCSSがスマホなど画面サイズの異なるデバイスに対応していないのでFoundation6を使ってResponsiveデザインにしてみました。

文字サイズの指定とか、markdownで生成されるリストのマージンやパディングの設定などでかなりはまった。疲れた。

このサイトの作成に使っているCMSエンジン Lektor について

written by a2c_s on 2016-02-19

このサイトはLektorというスタティックサイトジェネレーターを使って作っています。

Lektorの作者Armin Ronacherの最初のGitHubのコミットが2015年の12/19日なのでまだまだ若いプロジェクトですが、コンセプトの良さが感じられます。JinjaやFlaskの作者でもあるらしいのですごい才能ですね。

今後もこのサイトやブログの中でLektorのことを紹介していきたいと思います。

Lektor を使っていてわかり難いところ

written by a2c_s on 2016-02-18

数時間使用して気づいた点いくつか

  • 小さいことだけどSub Pageを作る際に、最初にタイトル入力の画面が出てAdd Sub Pageをしてから初めてSub Pageの編集ができるというのが最初戸惑った。会社で使っているCMSではタイトルと内容の入力が同時にできるので。

  • Admin のページにサイドバーにSubpagesがあるがParentページが無いのはわかり難い(トップバーからは移動できる)。自分で改善すればいいのだけど。

  • PageやWikiの中は設定によってマークダウンフォーマットがデフォルトで指定されているのだけど初め何のフォーマットなのかわからずに戸惑った。あとマークダウンフォーマットの説明ページもデフォルトで欲しい。

LektorでファイルをAmazon S3にアップロードするときの注意点

written by a2c_s on 2016-02-18

Lektor のサイト(https://www.getlektor.com/docs/deployment/)では以下のコマンドを記載しているが

lektor build && s3cmd --region=ap-northeast-1 sync "$(lektor project-info --output-path)" "s3://bucketname"

以下のように
lektor build && s3cmd --region=ap-northeast-1 sync "$(lektor project-info --output-path)"/* "s3://bucketname"

として、$(lektor project-info --output-path) の後ろにアスタリスク("*")をつけないとサイトが格納されているディレクトリ自体がアップロードされてしまい思った通りにできなかった。

なおlektor-s3プラグインはregionを指定する方法がわからず使用を断念。

icsファイルをcsvファイルに変換するコンバータを作りました

北海道の田舎と本州の田舎

written by a2c_s on

北海道から本州に来てすでに10数年が経つが、本州に来て驚いたことの一つは田舎の意味が北海道と本州では全くちがうということだった。

一言で言うと北海道の田舎は広くて歴史が浅いが本州の田舎は狭くて歴史が深い。

北海道の場合歴史が浅いのでそもそも山奥には集落がなく

山->裾野の森->町or村と自然の境界部

というようになっているのだけど

本州の場合数百年前から山の麓まで山林を利用するために集落ができているので

山->谷間にある山奥の村->川を下ったところにある平野との接続部にある村->街道->大きな街

となっていることに住んでしばらくたってから気がついた。

この違いは大きくて、北海道だと村社会といったときに人数的に付き合いの範囲が狭いことは想像がつくのだけど、空間的に使える範囲が狭いことがどうにも想像できない。

過疎化で消滅間近な集落と聞いたときにも北海道の集落よりもはるかに長い期間の歴史や文化まで消えてしまうことが理解できない

© Copyright 2016 by a2c_s.