├── .gitignore ├── 404.html ├── CNMAE ├── History.markdown ├── README.md ├── Rakefile ├── _config.yml ├── _drafts └── jekyll-introduction-draft.md ├── _includes ├── JB │ ├── analytics │ ├── analytics-providers │ │ ├── getclicky │ │ ├── google │ │ ├── mixpanel │ │ └── piwik │ ├── categories_list │ ├── comments │ ├── comments-providers │ │ ├── disqus │ │ ├── facebook │ │ ├── intensedebate │ │ └── livefyre │ ├── liquid_raw │ ├── pages_list │ ├── posts_collate │ ├── setup │ ├── sharing │ └── tags_list └── themes │ └── twitter │ ├── default.html │ ├── page.html │ ├── post.html │ └── settings.yml ├── _layouts ├── default.html ├── page.html └── post.html ├── _plugins └── debug.rb ├── _posts ├── 2011-12-29-jekyll-introduction.md ├── 2014-02-01-anacondatheanocudavs2012.md ├── 2014-02-01-eclipse_in_macbook.md ├── 2014-02-01-gitbitbucket.md ├── 2014-02-01-利用jekyll+github搭建简易博客.md ├── 2014-02-02-first_ios_program_guide.md ├── 2014-02-05-书签整理笔记.md ├── 2014-02-09-thesis_recall.md ├── 2014-02-09-towrite_list.md ├── 2014-02-09-文本上的算法阅读笔记.md ├── 2014-02-13-deeplearning_for_computer_vision.md ├── 2014-03-14-hmm_and_crf.md ├── 2014-12-28-git_operator.md ├── 2014-12-28-guaranteed-delivery-algorithms.md ├── 2014-12-28-parallel-machine-learning.md ├── 2014-12-28-semantic-analysis-new-method.md ├── 2014-12-28-topic_model_rbm.md ├── 2014-12-28-wand.md ├── 2015-01-01-matrix-similarity.md ├── 2015-01-01-topic-model.md ├── 2015-01-03-decision_tree.md ├── 2015-01-03-recommendation_algorithms.md ├── 2015-01-15-gbdt_adaboost_bootstrap.md ├── 2015-01-15-optimal_method.md ├── 2015-01-31-deep-learning.md ├── 2015-02-01-semantic_analysis_detail.md ├── 2015-02-06-sampling.md ├── doc │ └── LR逻辑回归-从入门到精通.pdf └── images │ ├── AIC.png │ ├── QQ截图20140128135238.png │ ├── QQ截图20140128152208.png │ ├── ad_lda.png │ ├── bitbucket_ssh.png │ ├── click_Trace.jpg │ ├── cnn-rnn.png │ ├── cnn_lstm.png │ ├── cnn_rnn.png │ ├── cnn_text_classify.png │ ├── convolution1.png │ ├── convolution2.png │ ├── convolution3.png │ ├── convolution5.png │ ├── convolution6.png │ ├── convolution7.png │ ├── convolution_config.png │ ├── convolution_formula.png │ ├── crf1.png │ ├── crf_hmm1.png │ ├── crf_hmm2.png │ ├── ffnnlm.png │ ├── fine_tuning.png │ ├── fine_tuning_formula.png │ ├── git_gui.png │ ├── global_weight.png │ ├── hmm1.png │ ├── image2sentence_example.png │ ├── image_classify.png │ ├── image_detection.png │ ├── image_search1.png │ ├── image_search2.png │ ├── image_semantic.png │ ├── image_semantic2.png │ ├── imagenet_result.png │ ├── lbfgs.png │ ├── lbfgs_two_loops.png │ ├── lbfgs_two_loops_vf.png │ ├── lda_gibbs_formula.png │ ├── lda_sampling.jpg │ ├── lda_sampling.png │ ├── lenet5.png │ ├── lightlda_architecture.png │ ├── local_weight.png │ ├── lr_parallel.png │ ├── lsh.png │ ├── lstm_unit.png │ ├── matrix_mul1.gif │ ├── matrix_mul2.gif │ ├── matrix_similairity.png │ ├── normlization_weight.png │ ├── okapi.png │ ├── parallelism_lda.png │ ├── r-cnn.png │ ├── rcnn-rnn.png │ ├── rnnlm1.png │ ├── rnnlm_formula.png │ ├── rnnlm_image.png │ ├── search_engine1.png │ ├── search_engine2.png │ ├── sentence2vec0.png │ ├── sentence2vec1.png │ ├── sentence2vec2.png │ ├── sentence2vec3.png │ ├── sentence2vec4.png │ ├── simple_rnn.png │ ├── svm1.png │ ├── svm2.png │ ├── taxonomy.png │ ├── training_data_acquisition.png │ ├── tranditional-imageclassify.png │ ├── wand_algorithm.jpg │ ├── word2vec.png │ └── word_segmentation.png ├── archive.html ├── assets └── themes │ └── twitter │ ├── bootstrap │ ├── css │ │ └── bootstrap.2.2.2.min.css │ └── img │ │ ├── glyphicons-halflings-white.png │ │ └── glyphicons-halflings.png │ └── css │ └── style.css ├── atom.xml ├── categories.html ├── changelog.md ├── index.md ├── index.md.bak ├── pages.html ├── push_code.sh ├── rss.xml ├── sitemap.txt └── tags.html /.gitignore: -------------------------------------------------------------------------------- 1 | _site/* 2 | _theme_packages/* 3 | 4 | Thumbs.db 5 | .DS_Store 6 | 7 | !.gitkeep 8 | 9 | .rbenv-version 10 | .rvmrc 11 | -------------------------------------------------------------------------------- /404.html: -------------------------------------------------------------------------------- 1 | Sorry this page does not exist =( 2 | -------------------------------------------------------------------------------- /CNMAE: -------------------------------------------------------------------------------- 1 | mlstudy.com 2 | -------------------------------------------------------------------------------- /History.markdown: -------------------------------------------------------------------------------- 1 | ## HEAD 2 | 3 | ### Major Enhancements 4 | 5 | ### Minor Enahncements 6 | * Add `drafts` folder support (#167) 7 | * Add `excerpt` support (#168) 8 | * Create History.markdown to help project management (#169) 9 | 10 | ### Bug Fixes 11 | 12 | ### Site Enhancements 13 | 14 | ### Compatibility updates 15 | * Update `preview` task 16 | 17 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Jekyll-Bootstrap 2 | 3 | The quickest way to start and publish your Jekyll powered blog. 100% compatible with GitHub pages 4 | 5 | ## Usage 6 | 7 | For all usage and documentation please see: 8 | 9 | ## Version 10 | 11 | 0.3.0 - stable and versioned using [semantic versioning](http://semver.org/). 12 | 13 | **NOTE:** 0.3.0 introduces a new theme which is not backwards compatible in the sense it won't _look_ like the old version. 14 | However, the actual API has not changed at all. 15 | You might want to run 0.3.0 in a branch to make sure you are ok with the theme design changes. 16 | 17 | ## Contributing 18 | 19 | 20 | To contribute to the framework please make sure to checkout your branch based on `jb-development`!! 21 | This is very important as it allows me to accept your pull request without having to publish a public version release. 22 | 23 | Small, atomic Features, bugs, etc. 24 | Use the `jb-development` branch but note it will likely change fast as pull requests are accepted. 25 | Please rebase as often as possible when working. 26 | Work on small, atomic features/bugs to avoid upstream commits affecting/breaking your development work. 27 | 28 | For Big Features or major API extensions/edits: 29 | This is the one case where I'll accept pull-requests based off the master branch. 30 | This allows you to work in isolation but it means I'll have to manually merge your work into the next public release. 31 | Translation : it might take a bit longer so please be patient! (but sincerely thank you). 32 | 33 | **Jekyll-Bootstrap Documentation Website.** 34 | 35 | The documentation website at is maintained at https://github.com/plusjade/jekyllbootstrap.com 36 | 37 | 38 | ## License 39 | 40 | [MIT](http://opensource.org/licenses/MIT) 41 | -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | require "rubygems" 2 | require 'rake' 3 | require 'yaml' 4 | require 'time' 5 | 6 | SOURCE = "." 7 | CONFIG = { 8 | 'version' => "0.3.0", 9 | 'themes' => File.join(SOURCE, "_includes", "themes"), 10 | 'layouts' => File.join(SOURCE, "_layouts"), 11 | 'posts' => File.join(SOURCE, "_posts"), 12 | 'post_ext' => "md", 13 | 'theme_package_version' => "0.1.0" 14 | } 15 | 16 | # Path configuration helper 17 | module JB 18 | class Path 19 | SOURCE = "." 20 | Paths = { 21 | :layouts => "_layouts", 22 | :themes => "_includes/themes", 23 | :theme_assets => "assets/themes", 24 | :theme_packages => "_theme_packages", 25 | :posts => "_posts" 26 | } 27 | 28 | def self.base 29 | SOURCE 30 | end 31 | 32 | # build a path relative to configured path settings. 33 | def self.build(path, opts = {}) 34 | opts[:root] ||= SOURCE 35 | path = "#{opts[:root]}/#{Paths[path.to_sym]}/#{opts[:node]}".split("/") 36 | path.compact! 37 | File.__send__ :join, path 38 | end 39 | 40 | end #Path 41 | end #JB 42 | 43 | # Usage: rake post title="A Title" [date="2012-02-09"] [tags=[tag1,tag2]] [category="category"] 44 | desc "Begin a new post in #{CONFIG['posts']}" 45 | task :post do 46 | abort("rake aborted: '#{CONFIG['posts']}' directory not found.") unless FileTest.directory?(CONFIG['posts']) 47 | title = ENV["title"] || "new-post" 48 | tags = ENV["tags"] || "[]" 49 | category = ENV["category"] || "" 50 | category = "\"#{category.gsub(/-/,' ')}\"" if !category.empty? 51 | slug = title.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '') 52 | begin 53 | date = (ENV['date'] ? Time.parse(ENV['date']) : Time.now).strftime('%Y-%m-%d') 54 | rescue => e 55 | puts "Error - date format must be YYYY-MM-DD, please check you typed it correctly!" 56 | exit -1 57 | end 58 | filename = File.join(CONFIG['posts'], "#{date}-#{slug}.#{CONFIG['post_ext']}") 59 | if File.exist?(filename) 60 | abort("rake aborted!") if ask("#{filename} already exists. Do you want to overwrite?", ['y', 'n']) == 'n' 61 | end 62 | 63 | puts "Creating new post: #{filename}" 64 | open(filename, 'w') do |post| 65 | post.puts "---" 66 | post.puts "layout: post" 67 | post.puts "title: \"#{title.gsub(/-/,' ')}\"" 68 | post.puts 'description: ""' 69 | post.puts "category: #{category}" 70 | post.puts "tags: #{tags}" 71 | post.puts "---" 72 | post.puts "{% include JB/setup %}" 73 | end 74 | end # task :post 75 | 76 | # Usage: rake page name="about.html" 77 | # You can also specify a sub-directory path. 78 | # If you don't specify a file extention we create an index.html at the path specified 79 | desc "Create a new page." 80 | task :page do 81 | name = ENV["name"] || "new-page.md" 82 | filename = File.join(SOURCE, "#{name}") 83 | filename = File.join(filename, "index.html") if File.extname(filename) == "" 84 | title = File.basename(filename, File.extname(filename)).gsub(/[\W\_]/, " ").gsub(/\b\w/){$&.upcase} 85 | if File.exist?(filename) 86 | abort("rake aborted!") if ask("#{filename} already exists. Do you want to overwrite?", ['y', 'n']) == 'n' 87 | end 88 | 89 | mkdir_p File.dirname(filename) 90 | puts "Creating new page: #{filename}" 91 | open(filename, 'w') do |post| 92 | post.puts "---" 93 | post.puts "layout: page" 94 | post.puts "title: \"#{title}\"" 95 | post.puts 'description: ""' 96 | post.puts "---" 97 | post.puts "{% include JB/setup %}" 98 | end 99 | end # task :page 100 | 101 | desc "Launch preview environment" 102 | task :preview do 103 | system "jekyll serve -w" 104 | end # task :preview 105 | 106 | # Public: Alias - Maintains backwards compatability for theme switching. 107 | task :switch_theme => "theme:switch" 108 | 109 | namespace :theme do 110 | 111 | # Public: Switch from one theme to another for your blog. 112 | # 113 | # name - String, Required. name of the theme you want to switch to. 114 | # The theme must be installed into your JB framework. 115 | # 116 | # Examples 117 | # 118 | # rake theme:switch name="the-program" 119 | # 120 | # Returns Success/failure messages. 121 | desc "Switch between Jekyll-bootstrap themes." 122 | task :switch do 123 | theme_name = ENV["name"].to_s 124 | theme_path = File.join(CONFIG['themes'], theme_name) 125 | settings_file = File.join(theme_path, "settings.yml") 126 | non_layout_files = ["settings.yml"] 127 | 128 | abort("rake aborted: name cannot be blank") if theme_name.empty? 129 | abort("rake aborted: '#{theme_path}' directory not found.") unless FileTest.directory?(theme_path) 130 | abort("rake aborted: '#{CONFIG['layouts']}' directory not found.") unless FileTest.directory?(CONFIG['layouts']) 131 | 132 | Dir.glob("#{theme_path}/*") do |filename| 133 | next if non_layout_files.include?(File.basename(filename).downcase) 134 | puts "Generating '#{theme_name}' layout: #{File.basename(filename)}" 135 | 136 | open(File.join(CONFIG['layouts'], File.basename(filename)), 'w') do |page| 137 | if File.basename(filename, ".html").downcase == "default" 138 | page.puts "---" 139 | page.puts File.read(settings_file) if File.exist?(settings_file) 140 | page.puts "---" 141 | else 142 | page.puts "---" 143 | page.puts "layout: default" 144 | page.puts "---" 145 | end 146 | page.puts "{% include JB/setup %}" 147 | page.puts "{% include themes/#{theme_name}/#{File.basename(filename)} %}" 148 | end 149 | end 150 | 151 | puts "=> Theme successfully switched!" 152 | puts "=> Reload your web-page to check it out =)" 153 | end # task :switch 154 | 155 | # Public: Install a theme using the theme packager. 156 | # Version 0.1.0 simple 1:1 file matching. 157 | # 158 | # git - String, Optional path to the git repository of the theme to be installed. 159 | # name - String, Optional name of the theme you want to install. 160 | # Passing name requires that the theme package already exist. 161 | # 162 | # Examples 163 | # 164 | # rake theme:install git="https://github.com/jekyllbootstrap/theme-twitter.git" 165 | # rake theme:install name="cool-theme" 166 | # 167 | # Returns Success/failure messages. 168 | desc "Install theme" 169 | task :install do 170 | if ENV["git"] 171 | manifest = theme_from_git_url(ENV["git"]) 172 | name = manifest["name"] 173 | else 174 | name = ENV["name"].to_s.downcase 175 | end 176 | 177 | packaged_theme_path = JB::Path.build(:theme_packages, :node => name) 178 | 179 | abort("rake aborted! 180 | => ERROR: 'name' cannot be blank") if name.empty? 181 | abort("rake aborted! 182 | => ERROR: '#{packaged_theme_path}' directory not found. 183 | => Installable themes can be added via git. You can find some here: http://github.com/jekyllbootstrap 184 | => To download+install run: `rake theme:install git='[PUBLIC-CLONE-URL]'` 185 | => example : rake theme:install git='git@github.com:jekyllbootstrap/theme-the-program.git' 186 | ") unless FileTest.directory?(packaged_theme_path) 187 | 188 | manifest = verify_manifest(packaged_theme_path) 189 | 190 | # Get relative paths to packaged theme files 191 | # Exclude directories as they'll be recursively created. Exclude meta-data files. 192 | packaged_theme_files = [] 193 | FileUtils.cd(packaged_theme_path) { 194 | Dir.glob("**/*.*") { |f| 195 | next if ( FileTest.directory?(f) || f =~ /^(manifest|readme|packager)/i ) 196 | packaged_theme_files << f 197 | } 198 | } 199 | 200 | # Mirror each file into the framework making sure to prompt if already exists. 201 | packaged_theme_files.each do |filename| 202 | file_install_path = File.join(JB::Path.base, filename) 203 | if File.exist? file_install_path and ask("#{file_install_path} already exists. Do you want to overwrite?", ['y', 'n']) == 'n' 204 | next 205 | else 206 | mkdir_p File.dirname(file_install_path) 207 | cp_r File.join(packaged_theme_path, filename), file_install_path 208 | end 209 | end 210 | 211 | puts "=> #{name} theme has been installed!" 212 | puts "=> ---" 213 | if ask("=> Want to switch themes now?", ['y', 'n']) == 'y' 214 | system("rake switch_theme name='#{name}'") 215 | end 216 | end 217 | 218 | # Public: Package a theme using the theme packager. 219 | # The theme must be structured using valid JB API. 220 | # In other words packaging is essentially the reverse of installing. 221 | # 222 | # name - String, Required name of the theme you want to package. 223 | # 224 | # Examples 225 | # 226 | # rake theme:package name="twitter" 227 | # 228 | # Returns Success/failure messages. 229 | desc "Package theme" 230 | task :package do 231 | name = ENV["name"].to_s.downcase 232 | theme_path = JB::Path.build(:themes, :node => name) 233 | asset_path = JB::Path.build(:theme_assets, :node => name) 234 | 235 | abort("rake aborted: name cannot be blank") if name.empty? 236 | abort("rake aborted: '#{theme_path}' directory not found.") unless FileTest.directory?(theme_path) 237 | abort("rake aborted: '#{asset_path}' directory not found.") unless FileTest.directory?(asset_path) 238 | 239 | ## Mirror theme's template directory (_includes) 240 | packaged_theme_path = JB::Path.build(:themes, :root => JB::Path.build(:theme_packages, :node => name)) 241 | mkdir_p packaged_theme_path 242 | cp_r theme_path, packaged_theme_path 243 | 244 | ## Mirror theme's asset directory 245 | packaged_theme_assets_path = JB::Path.build(:theme_assets, :root => JB::Path.build(:theme_packages, :node => name)) 246 | mkdir_p packaged_theme_assets_path 247 | cp_r asset_path, packaged_theme_assets_path 248 | 249 | ## Log packager version 250 | packager = {"packager" => {"version" => CONFIG["theme_package_version"].to_s } } 251 | open(JB::Path.build(:theme_packages, :node => "#{name}/packager.yml"), "w") do |page| 252 | page.puts packager.to_yaml 253 | end 254 | 255 | puts "=> '#{name}' theme is packaged and available at: #{JB::Path.build(:theme_packages, :node => name)}" 256 | end 257 | 258 | end # end namespace :theme 259 | 260 | # Internal: Download and process a theme from a git url. 261 | # Notice we don't know the name of the theme until we look it up in the manifest. 262 | # So we'll have to change the folder name once we get the name. 263 | # 264 | # url - String, Required url to git repository. 265 | # 266 | # Returns theme manifest hash 267 | def theme_from_git_url(url) 268 | tmp_path = JB::Path.build(:theme_packages, :node => "_tmp") 269 | abort("rake aborted: system call to git clone failed") if !system("git clone #{url} #{tmp_path}") 270 | manifest = verify_manifest(tmp_path) 271 | new_path = JB::Path.build(:theme_packages, :node => manifest["name"]) 272 | if File.exist?(new_path) && ask("=> #{new_path} theme package already exists. Override?", ['y', 'n']) == 'n' 273 | remove_dir(tmp_path) 274 | abort("rake aborted: '#{manifest["name"]}' already exists as theme package.") 275 | end 276 | 277 | remove_dir(new_path) if File.exist?(new_path) 278 | mv(tmp_path, new_path) 279 | manifest 280 | end 281 | 282 | # Internal: Process theme package manifest file. 283 | # 284 | # theme_path - String, Required. File path to theme package. 285 | # 286 | # Returns theme manifest hash 287 | def verify_manifest(theme_path) 288 | manifest_path = File.join(theme_path, "manifest.yml") 289 | manifest_file = File.open( manifest_path ) 290 | abort("rake aborted: repo must contain valid manifest.yml") unless File.exist? manifest_file 291 | manifest = YAML.load( manifest_file ) 292 | manifest_file.close 293 | manifest 294 | end 295 | 296 | def ask(message, valid_options) 297 | if valid_options 298 | answer = get_stdin("#{message} #{valid_options.to_s.gsub(/"/, '').gsub(/, /,'/')} ") while !valid_options.include?(answer) 299 | else 300 | answer = get_stdin(message) 301 | end 302 | answer 303 | end 304 | 305 | def get_stdin(message) 306 | print message 307 | STDIN.gets.chomp 308 | end 309 | 310 | #Load custom rake scripts 311 | Dir['_rake/*.rake'].each { |r| load r } 312 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | # This is the default format. 2 | # For more see: http://jekyllrb.com/docs/permalinks/ 3 | permalink: /:categories/:year/:month/:day/:title 4 | 5 | exclude: [".rvmrc", ".rbenv-version", "README.md", "Rakefile", "changelog.md"] 6 | pygments: true 7 | 8 | # Themes are encouraged to use these universal variables 9 | # so be sure to set them if your theme uses them. 10 | # 11 | title : zzbased's tech memos 12 | tagline: machine learning, calculation advertising, deep learning, c++, python 13 | author : 14 | name : zzbased 15 | email : zerobased@126.com 16 | github : zzbased 17 | twitter : 18 | feedburner : 19 | 20 | # The production_url is only used when full-domain names are needed 21 | # such as sitemap.txt 22 | # Most places will/should use BASE_PATH to make the urls 23 | # 24 | # If you have set a CNAME (pages.github.com) set your custom domain here. 25 | # Else if you are pushing to username.github.io, replace with your username. 26 | # Finally if you are pushing to a GitHub project page, include the project name at the end. 27 | # 28 | production_url : http://username.github.io 29 | 30 | # All Jekyll-Bootstrap specific configurations are namespaced into this hash 31 | # 32 | JB : 33 | version : 0.3.0 34 | 35 | # All links will be namespaced by BASE_PATH if defined. 36 | # Links in your website should always be prefixed with {{BASE_PATH}} 37 | # however this value will be dynamically changed depending on your deployment situation. 38 | # 39 | # CNAME (http://yourcustomdomain.com) 40 | # DO NOT SET BASE_PATH 41 | # (urls will be prefixed with "/" and work relatively) 42 | # 43 | # GitHub Pages (http://username.github.io) 44 | # DO NOT SET BASE_PATH 45 | # (urls will be prefixed with "/" and work relatively) 46 | # 47 | # GitHub Project Pages (http://username.github.io/project-name) 48 | # 49 | # A GitHub Project site exists in the `gh-pages` branch of one of your repositories. 50 | # REQUIRED! Set BASE_PATH to: http://username.github.io/project-name 51 | # 52 | # CAUTION: 53 | # - When in Localhost, your site will run from root "/" regardless of BASE_PATH 54 | # - Only the following values are falsy: ["", null, false] 55 | # - When setting BASE_PATH it must be a valid url. 56 | # This means always setting the protocol (http|https) or prefixing with "/" 57 | BASE_PATH : false 58 | 59 | # By default, the asset_path is automatically defined relative to BASE_PATH plus the enabled theme. 60 | # ex: [BASE_PATH]/assets/themes/[THEME-NAME] 61 | # 62 | # Override this by defining an absolute path to assets here. 63 | # ex: 64 | # http://s3.amazonaws.com/yoursite/themes/watermelon 65 | # /assets 66 | # 67 | ASSET_PATH : false 68 | 69 | # These paths are to the main pages Jekyll-Bootstrap ships with. 70 | # Some JB helpers refer to these paths; change them here if needed. 71 | # 72 | archive_path: /archive.html 73 | categories_path : /categories.html 74 | tags_path : /tags.html 75 | atom_path : /atom.xml 76 | rss_path : /rss.xml 77 | 78 | # Settings for comments helper 79 | # Set 'provider' to the comment provider you want to use. 80 | # Set 'provider' to false to turn commenting off globally. 81 | # 82 | comments : 83 | provider : disqus 84 | disqus : 85 | short_name : jekyllbootstrap 86 | livefyre : 87 | site_id : 123 88 | intensedebate : 89 | account : 123abc 90 | facebook : 91 | appid : 123 92 | num_posts: 5 93 | width: 580 94 | colorscheme: light 95 | 96 | # Settings for analytics helper 97 | # Set 'provider' to the analytics provider you want to use. 98 | # Set 'provider' to false to turn analytics off globally. 99 | # 100 | analytics : 101 | provider : google 102 | google : 103 | tracking_id : 'UA-123-12' 104 | getclicky : 105 | site_id : 106 | mixpanel : 107 | token : '_MIXPANEL_TOKEN_' 108 | piwik : 109 | baseURL : 'myserver.tld/piwik' # Piwik installation address (without protocol) 110 | idsite : '1' # the id of the site on Piwik 111 | 112 | # Settings for sharing helper. 113 | # Sharing is for things like tweet, plusone, like, reddit buttons etc. 114 | # Set 'provider' to the sharing provider you want to use. 115 | # Set 'provider' to false to turn sharing off globally. 116 | # 117 | sharing : 118 | provider : false 119 | 120 | # Settings for all other include helpers can be defined by creating 121 | # a hash with key named for the given helper. ex: 122 | # 123 | # pages_list : 124 | # provider : "custom" 125 | # 126 | # Setting any helper's provider to 'custom' will bypass the helper code 127 | # and include your custom code. Your custom file must be defined at: 128 | # ./_includes/custom/[HELPER] 129 | # where [HELPER] is the name of the helper you are overriding. 130 | 131 | -------------------------------------------------------------------------------- /_drafts/jekyll-introduction-draft.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | category : lessons 4 | tagline: "Supporting tagline" 5 | tags : [intro, beginner, jekyll, tutorial] 6 | --- 7 | {% include JB/setup %} 8 | 9 | 10 | This is an example of a draft. Read more here: [http://jekyllrb.com/docs/drafts/](http://jekyllrb.com/docs/drafts/) 11 | -------------------------------------------------------------------------------- /_includes/JB/analytics: -------------------------------------------------------------------------------- 1 | {% if site.safe and site.JB.analytics.provider and page.JB.analytics != false %} 2 | 3 | {% case site.JB.analytics.provider %} 4 | {% when "google" %} 5 | {% include JB/analytics-providers/google %} 6 | {% when "getclicky" %} 7 | {% include JB/analytics-providers/getclicky %} 8 | {% when "mixpanel" %} 9 | {% include JB/analytics-providers/mixpanel %} 10 | {% when "piwik" %} 11 | {% include JB/analytics-providers/piwik %} 12 | {% when "custom" %} 13 | {% include custom/analytics %} 14 | {% endcase %} 15 | 16 | {% endif %} -------------------------------------------------------------------------------- /_includes/JB/analytics-providers/getclicky: -------------------------------------------------------------------------------- 1 | 12 | 13 | -------------------------------------------------------------------------------- /_includes/JB/analytics-providers/google: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_includes/JB/analytics-providers/mixpanel: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_includes/JB/analytics-providers/piwik: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_includes/JB/categories_list: -------------------------------------------------------------------------------- 1 | {% comment %}{% endcomment %} 19 | 20 | {% if site.JB.categories_list.provider == "custom" %} 21 | {% include custom/categories_list %} 22 | {% else %} 23 | {% if categories_list.first[0] == null %} 24 | {% for category in categories_list %} 25 |
  • 26 | {{ category | join: "/" }} {{ site.categories[category].size }} 27 |
  • 28 | {% endfor %} 29 | {% else %} 30 | {% for category in categories_list %} 31 |
  • 32 | {{ category[0] | join: "/" }} {{ category[1].size }} 33 |
  • 34 | {% endfor %} 35 | {% endif %} 36 | {% endif %} 37 | {% assign categories_list = nil %} -------------------------------------------------------------------------------- /_includes/JB/comments: -------------------------------------------------------------------------------- 1 | {% if site.JB.comments.provider and page.comments != false %} 2 | 3 | {% case site.JB.comments.provider %} 4 | {% when "disqus" %} 5 | {% include JB/comments-providers/disqus %} 6 | {% when "livefyre" %} 7 | {% include JB/comments-providers/livefyre %} 8 | {% when "intensedebate" %} 9 | {% include JB/comments-providers/intensedebate %} 10 | {% when "facebook" %} 11 | {% include JB/comments-providers/facebook %} 12 | {% when "custom" %} 13 | {% include custom/comments %} 14 | {% endcase %} 15 | 16 | {% endif %} -------------------------------------------------------------------------------- /_includes/JB/comments-providers/disqus: -------------------------------------------------------------------------------- 1 |
    2 | 13 | 14 | blog comments powered by Disqus 15 | -------------------------------------------------------------------------------- /_includes/JB/comments-providers/facebook: -------------------------------------------------------------------------------- 1 |
    2 | 9 |
    -------------------------------------------------------------------------------- /_includes/JB/comments-providers/intensedebate: -------------------------------------------------------------------------------- 1 | 6 | 7 | -------------------------------------------------------------------------------- /_includes/JB/comments-providers/livefyre: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/JB/liquid_raw: -------------------------------------------------------------------------------- 1 | {% comment%}{% endcomment%} 26 | 27 | {% if site.JB.liquid_raw.provider == "custom" %} 28 | {% include custom/liquid_raw %} 29 | {% else %} 30 |
    {{text | replace:"|.", "{" | replace:".|", "}" | replace:">", ">" | replace:"<", "<" }}
    31 | {% endif %} 32 | {% assign text = nil %} -------------------------------------------------------------------------------- /_includes/JB/pages_list: -------------------------------------------------------------------------------- 1 | {% comment %}{% endcomment %} 22 | 23 | {% if site.JB.pages_list.provider == "custom" %} 24 | {% include custom/pages_list %} 25 | {% else %} 26 | {% for node in pages_list %} 27 | {% if node.title != null %} 28 | {% if group == null or group == node.group %} 29 | {% if page.url == node.url %} 30 |
  • {{node.title}}
  • 31 | {% else %} 32 |
  • {{node.title}}
  • 33 | {% endif %} 34 | {% endif %} 35 | {% endif %} 36 | {% endfor %} 37 | {% endif %} 38 | {% assign pages_list = nil %} 39 | {% assign group = nil %} -------------------------------------------------------------------------------- /_includes/JB/posts_collate: -------------------------------------------------------------------------------- 1 | {% comment %}{% endcomment %} 19 | 20 | {% if site.JB.posts_collate.provider == "custom" %} 21 | {% include custom/posts_collate %} 22 | {% else %} 23 | {% for post in posts_collate %} 24 | {% capture this_year %}{{ post.date | date: "%Y" }}{% endcapture %} 25 | {% capture this_month %}{{ post.date | date: "%B" }}{% endcapture %} 26 | {% capture next_year %}{{ post.previous.date | date: "%Y" }}{% endcapture %} 27 | {% capture next_month %}{{ post.previous.date | date: "%B" }}{% endcapture %} 28 | 29 | {% if forloop.first %} 30 |

    {{this_year}}

    31 |

    {{this_month}}

    32 | 39 | {% else %} 40 | {% if this_year != next_year %} 41 | 42 |

    {{next_year}}

    43 |

    {{next_month}}

    44 | 48 |

    {{next_month}}

    49 |