ここからダウンロード
ダウンロード時間5時間wwwwwwwwww
さっきやっとおわった!!!!
!!?
VBが打てるっぽい!!!!!????
すげぇーーーーーーーーーーーーー!!!
だがしかしビルドエラー。
target named 'build' not found in the project
ってなに?
どゆこと?(´・ω・`)
ここからダウンロード
ダウンロード時間5時間wwwwwwwwww
さっきやっとおわった!!!!
!!?
VBが打てるっぽい!!!!!????
すげぇーーーーーーーーーーーーー!!!
だがしかしビルドエラー。
target named 'build' not found in the project
ってなに?
どゆこと?(´・ω・`)
えーと、、、うん。静的な言語みたいにコンパイルしたHTMLとCSSを上げるやつ。でいいかな。(違うような気がしてきた)
んで、これが必要になったので、ちょっと試してみました。
pip
で入りました。
$ pip install Pelican Markdown
markdownで記事を書きたい人はMarkdown
も入れてあげてください。
とりあえずこれでおk
~/content
ってディレクトリの中にmdを追加してください。
$ cat content/keyboard-review.md Title: My First Review Date: 2010-12-03 10:20 Category: Review Following is a review of my favorite mechanical keyboard.
これが記事になるっぽいです。
$ pelican content
すると~/output/
の中にソースが吐き出されます。そこをブラウザとかでみてみてください。
サイトが出来上がっているはず。
で、目的はブログ書くことじゃなくて、ブログサイトをとあるテーマに変更すること。なので、themeを自分で用意する。
ちなみに、テンプレートテーマがいくつかあるらしい。今回は使わない。
テーマのディレクトリを用意します。
Creating themes — Pelican 3.6.3 documentation
mkdir -p themes/custom-theme
んで、次は~/pelicanconf.py
に設定する。
$ vim ~/pelicanconf.py
# Specify name of a built-in theme THEME = "/Users/user/project/pelican-sandbox/themes/custom-theme"
これでおk。再ビルドしたら、うまくいくと思います。
scssを使いたいと思った人。プラグインがあります。
プロジェクトディレクトリにgit clone
でpluginリポジトリを落とします。
$ git clone https://github.com/getpelican/pelican-plugins.git
Pythonに必要なモジュールもインストール
$ pip install webassets cssmin
んで、設定ファイル~/pelicanconf.py
に追記
PLUGIN_PATHS = ['pelican-plugins'] PLUGINS = ['assets']
これでよし
また、使い方はテンプレートにこう書けばよい
{% assets filters="cssmin", output="css/style.min.css", "scss/reset.scss", "scss/style.scss" %} <link rel="stylesheet" href="./{{ ASSET_URL }}"> {% endassets %}
assets
がテンプレートのタグで、filters
が追加で通すpluginとかで、output
が吐き出されるファイル名で、そのあとのreset.scss
やstyle.scss
はビルドされるファイル群です。
また、output
で吐き出されたファイルは、ASSET_URL
に入ります。
これでビルドして問題なければおkです。
とりあえず今日はここまで。
CSSがそんなに得意じゃないので、ベンダープレフィックスとか使いたいときにどうしよう?ってなる。いつもはこういうのはnodeのgulpを利用しているので。
となると、templateはgulpで作成して、記事書くのはpelicanにお願いしようかしら。
めんどくさい。
クイックスタート Quickstart — Pelican 3.6.3 documentation
テンプレートのフォーマット Creating themes — Pelican 3.6.3 documentation
記事書くときの参考
http://docs.getpelican.com/en/stable/content.html
設定ファイルの説明
Settings — Pelican 3.6.3 documentation
テンプレートのシンタックス
DBでステータスのフィールドを用意した場合、0とか1とかでフラグを用意するんだけど、それじゃいまいちよくわからない。
なので、定数にして、DELETE
とかCANCEL
とか名前を付けれるようにする。
CakePHP2.xでは、~/Config/const.php
ってファイルを作成して、そこで管理していました。
しかし、定数が多くなると管理が面倒くさい。
CakePHP3.xのModelにはTableってクラスがある。そこで管理すればいいんじゃね!? とひらめく(?)
ぐぐったら、下記リンクが参考になった。
あんまりしっくりこなかった。というのも。
<?php // ... 省略 define('DELETE', 0); define('CANCEL', 1); Configure::write('FLAG', array( DELETE => '削除', CANCEL => 'キャンセル' ));
CakePHP2.xでは、定数にラベルを用意していたのだ。カスタムしないといけないなと思う。
では、プラグインはないだろうか? ありました。
しかし、これはTableレベルでのEnumなのだ。できればクラスに書けるプロパティベースのがいい。
あった! ありがとうございます m(_ _ )m
まず、CakeDC/Enum
をインストールして、ロードするように設定する。
$ composer require cakedc/enum:~1.0 $ bin/cake plugin load CakeDC/Enum
次に、作っていただいたプラグインをインストール
$ composer require k1low/property-enum
あとは必要なTableクラスと~/Controller/AppController.php
に追記するのみ
<?php // ... 省略 class AdminUsersTable extends Table { public $enums = [ 'status' => [ 'unapproved' => 'unapproved' // 未承認 ] ]; public function initialize(array $config) { parent::initialize($config); // ... 省略 $this->addBehavior('PropertyEnum.Enum', ['lists' => [ 'status' => [ 'strategy' => 'property' ] ]]); // ... 省略
<?php // ... 省略 public function initialize() { // ... 省略 $this->loadComponent('PropertyEnum.AutoSet'); } // ... 省略
これでできた!
と、思われた。。。
ラベルをつけるの忘れていた。。。あと多言語化が必要なので、翻訳も取り入れたい。どうしたものか。。。
綺麗じゃないと思うんだけど、初期化の処理にプロパティに追加する方法を選んだ。
<?php // ... 省略 class AdminUsersTable extends Table { public $enums = []; /** * Initialize method * * @param array $config The configuration for the Table. * @return void */ public function initialize(array $config) { parent::initialize($config); $this->enums = [ 'status' => [ __('unapproved'), __('approved'), __('cancel') ] ]; // ... 省略 $this->addBehavior('PropertyEnum.Enum', ['lists' => [ 'status' => [ 'strategy' => 'property' ] ]]); } // ... 省略
これでよし(一応)
「よーし、あとは集計の画面を作れば。。。。」
(・ω・`・・・・?(なんかおかしいぞ。。。?)
・・・・!( ゚д゚)ハッ!
あー、やっぱり設計、というかタスクの整理整頓大事だな。。。
いま、ちょっとしたデモ画面作っていたんだけど、どうやらユーザーの意図とは違う画面を作っていたらしい。
この「どうやら」ってのが本当に自分のダメなところで、よく考えてみるとすぐわかることである。
俺はこういうことがよくある。難しいことやちょっと考え込むことが嫌いで、てきとうなところでスタートして、やっているうちに気づく。
むー。。。。このままじゃダメだ。これじゃダメや! これ仕事だったらおしまいや!(なぜ大阪
やっぱり最初は必要な情報を整理して、ちゃんとタスクにするクセをつけよう。。。あー、ちきしょー。
というわけで、今の気持ちを忘れないようブログっとく。
気分転換に久々に走ってくる。