Commit Graph

116 Commits

Author SHA1 Message Date
curben 00fbcce468 refactor: unify HTTP header settings into _headers 2019-05-26 15:09:27 +09:30
curben 415952ff69 docs(open_graph): add comment 2019-05-26 00:10:44 +09:30
curben cab3baeaf8 style: standardjs lint 2019-05-25 23:58:52 +09:30
curben 7ebcc03977 fix(open_graph): use data-src attribute in img tag
* compatibility with cloudinary (see scripts/cloudinary.js)
  * helper has to be registered via a function
    - https://github.com/hexojs/hexo/issues/1462#issuecomment-277474592
    - https://github.com/hexojs/hexo/issues/743#issuecomment-168262852
    - https://hexo.io/api/helper
    - https://github.com/hexojs/hexo/blob/master/lib/plugins/helper/open_graph.js
2019-05-25 22:21:44 +09:30
curben 9daf4d98b9 docs(copy-button): clarify the source of cheerio package 2019-05-25 22:20:54 +09:30
curben cf16dd3e43 refactor: move creation of 'Copy' button from client to server
* https://github.com/cheeriojs/cheerio#append-content-content--
  * cheerio doesn't have .createElement() function
    - https://code.tutsplus.com/tutorials/jquery-14-released-the-15-new-features-you-must-know--net-8590
2019-05-25 20:14:02 +09:30
curben 3dfc57dbbe refactor: replace for loop with forEach()
https://stackoverflow.com/a/34832466/9645167
2019-05-25 17:49:36 +09:30
curben e312ed2b69 feat: add alt attribute to <img>
* https://support.google.com/webmasters/answer/114016?hl=en
  * remove version tag from cloudinary link
    * cache of previous version should be purged by now
  * img tag doesn't need to be self-closing
2019-05-23 16:46:02 +09:30
curben 15048c2d1f fix: search.svg does not load in Firefox due to CSP
* Use default-src 'self' as a workaround
https://pokeinthe.io/2016/04/09/black-icons-with-svg-and-csp/
https://bugzilla.mozilla.org/show_bug.cgi?id=1303364
https://github.com/w3c/webappsec-csp/issues/199
https://github.com/w3c/webappsec-csp/issues/198

* use 'self' instead of localhost and netlify.com
* set other directives to 'none'
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy
* font-src neeeds to be whitelisted before using fork-awesome
2019-05-22 12:39:53 +09:30
curben 4791c98a00 refactor: remove jquery and fancybox
todo https://github.com/dimsemenov/photoswipe
2019-05-22 11:13:21 +09:30
curben 08fb7897e1 fix: replace 'https' with 'https:' in CSP
https://content-security-policy.com/#source_list
2019-05-22 11:00:00 +09:30
curben 0e686c620b refactor: Use pure JS equivalent of jQuery's $.ready()
https://stackoverflow.com/a/9899701
2019-05-22 10:52:58 +09:30
curben 821ac056b7 feat: add CSP via <meta> tag
* <meta> doesn't support frame-ancestors directive
  * '*--curben.netlify.com' is invalid
  * add localhost
  * block-all-mixed-content works with localhost
2019-05-21 14:41:56 +09:30
curben 03c527b2f5 refactor: move inline search function to js file
avoid inline script for CSP
2019-05-21 14:12:30 +09:30
curben 045882e527 feat: add tooltip to search button
https://developer.mozilla.org/en-US/docs/Web/SVG/Element/title
https://developer.mozilla.org/en-US/docs/Web/SVG/Element/desc

inline svg doesn't require xmlns attribute
https://github.com/svg/svgo/blob/master/plugins/removeXMLNS.js
2019-05-21 13:37:10 +09:30
curben bc4082ac06 refactor: use image file instead of inline 2019-05-21 13:10:40 +09:30
curben 2ac754fa4d style: arrow function
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions
2019-05-21 11:22:01 +09:30
curben e7a6071d08 refactor: move inline cloudinary js into js file
to make way for CSR policy
2019-05-21 10:49:30 +09:30
curben 47e7982432 refactor: use image file instead of inline
page source looks cleaner this way
2019-05-21 10:12:35 +09:30
curben ba48027e74 refactor: switch to regular cloudinary js
* it's hosted at cdnjs, inline with other js source
    - better for HTTP/2 multiplexing if same host
  * update jquery
2019-05-19 12:07:34 +09:30
curben 5b9d9494e6 fix: date and time display
* Add starting year to copyright
  * Remove unneeded creation time from posts
2019-05-19 11:35:03 +09:30
curben a777e860f8 fix: remove extra curly bracket
due to incomplete d6c36abab9
2019-04-22 18:50:53 +09:30
curben d6c36abab9 refactor: switch to Fork-Awesome 2019-04-15 14:16:07 +09:30
curben 55f5f11c2f style: convert var to let/const
ES6 syntax
2019-04-10 20:18:45 +09:30
curben 43bf50dac5 refactor: switch to more modern sri-fallback
https://github.com/JackuB/subresource-integrity-fallback
2019-04-10 19:59:56 +09:30
curben d314bff200 chore: update libs 2019-04-10 14:45:02 +09:30
curben ced318927f feat: switch to night theme
fix: compatibility with Dark Reader addon
2019-04-08 11:44:22 +09:30
curben-bot 02ac7d26a7 chore(deps): update dependency precss to v4 2018-11-25 04:48:31 +00:00
curben 19bb4b3d91 fix: mobile nav appears out of border in .article
don't underline certain <a> tags
2018-11-12 20:43:32 +10:30
curben ffe99717de fix: overlap the mobile nav onto other elements 2018-11-12 18:27:38 +10:30
curben 176974cd87 feat: add rounded corner to search bar 2018-11-12 11:06:36 +10:30
curben 7bbf3f4183 fix: don't underline the search icon 2018-11-11 21:29:16 +10:30
curben 7d15668c04 fix: html encoding and quote characters
html-minifier doesn't differentiate double and single quote.
backquote means URL doesn't need to be encoded or escaped.
possible IE11 issue, IE11 doesn't support ES6 anyway
https://kangax.github.io/compat-table/es6/

useful website for a47ab6: https://css-tricks.com/centering-css-complete-guide/
2018-11-11 20:57:27 +10:30
curben b7c7e9f27a fix: html encoding 2018-11-11 20:27:38 +10:30
curben a47ab65b54 feat: implement search bar
a crude search bar by piggybacking on gitlab search.
future enhancement is implement Algolia.
2018-11-11 16:55:13 +10:30
curben 8614f62257 fix: consistent header margin and font-size 2018-11-11 14:23:10 +10:30
curben 565714d32d fix: nav should be left text-aligned
similar to fb, patreon, github and gitlab.
2018-11-09 15:39:00 +10:30
curben 01bd1f3943 style: remove unused left nav menu 2018-11-08 12:27:15 +10:30
curben 0c98384e57 style: beautify css
https://codepen.io/jasondavis/pen/JoxMXa
2018-11-08 12:15:46 +10:30
curben 78032cfad4 style: consistent class name for mobile nav 2018-11-08 12:11:23 +10:30
curben dec7a55ba5 feat: add border around mobile nav menu 2018-11-07 10:52:08 +10:30
curben db788d8df9 fix: add css workaround for IE 2018-11-06 18:49:42 +10:30
curben 913f9572d7 refactor: re-implement nav menu without javascript
inspired by https://github.com/paulcarl/skelepico-theme
2018-11-06 17:22:44 +10:30
curben 624d449a3e style: use ES6 syntax and standard style 2018-11-01 12:15:03 +10:30
curben 316aa03bd8 feat: add updated date
post.updated variable is not used because it's the time 'hexo generate' is executed,
post.updated includes non-content update.
2018-11-01 11:35:02 +10:30
curben 9f4b85d636 chore: update dependencies
close !7-11
2018-10-28 18:24:55 +10:30
curben b338ab9459 Add Open Graph meta tags
http://ogp.me/
https://stackoverflow.com/q/6535405
2018-10-26 18:42:35 +10:30
curben 07afb16715 Use js standard style
https://standardjs.com/
2018-10-25 19:33:38 +10:30
curben e1c4bf489f Add license 2018-10-25 14:50:01 +10:30
curben 2cd6e3e6a5 Highlight button when hover over it 2018-10-20 19:04:52 +10:30