【bootstrap】ブログテーマをtwitter bootstrapに適用させた話
はてなブログのテーマってまだあまりレスポンシブデザインで作成している所は少ないのか、探し切れていないのか分からないが(検索しづらい...)、今時レスポンシブデザインに対応してないとかないよなぁと思い、かといって一から作るのはさすがにナンセンスですねと。。。
ということで、twitter bootstrap風のテーマを作ることにしました。
調査
全ての要素を適用させるのは困難
minify,不必要な属性を削除する必要がある
準備
- gem
- sassをインストール
- npm
- gruntをインストール
- grunt-contrib-cssminをインストール
- grunt-contrib-sassをインストール
- grunt-uncssをインストール
Gruntfile.js
'use strict'; var gruntConfig = { sass: { dist:{ options:{ style:'compressed' }, files:{ 'blog.css':'mixin.scss' } } }, uncss: { dist: { options: { ignore: [/entry-content/, /page-archive/, /page-about/, /#zenback/, /blog-description/, /entry-see-more/, /hatena-bookmark-count/, /search-module-input/, /search-module-button/, /comment-user-id/, /hatena-id-link/], stylesheets: ['blog.css'] }, files: { 'blog.css' : ['hatena.html'] } } }, cssmin: { options: { shorthandCompacting: true, roundingPrecision: -1 }, target: { files: { 'blog.min.css' : ['blog.css', 'header.css'] } } } }; module.exports = function(grunt) { // Project configuration. grunt.initConfig(gruntConfig); grunt.loadNpmTasks('grunt-contrib-cssmin'); grunt.loadNpmTasks('grunt-contrib-sass'); grunt.loadNpmTasks('grunt-uncss'); grunt.registerTask('default', ['sass', 'uncss', 'cssmin']); };
実行
- bootstrapをextendする用のscssを作成。
- 必要なパーツをimport
- 適用させたい属性に必要なパーツをextend
- gruntコマンド実行
$ grunt
久々にgruntとsass触ったなぁw
センスはあんま自信ないす。。。
今回作成したテーマ一式をGitで公開してます。
テーマ本体
http://blog.hatena.ne.jp/-/store/theme/8454420450097939070