|  curben | 6b5feb809e | docs(page): add Disclaimer page credit https://www.termsfeed.com/blog/disclaimer-examples/ | 2019-06-12 11:27:57 +09:30 | 
				
					
						|  curben | fb36bca7f1 | refactor: use page.subtitle instead of page.excerpt * Source file (.md) looks a bit clearer this way.
* Remove unused options in openGraph.js | 2019-06-08 17:31:39 +09:30 | 
				
					
						|  curben | a5d1791b14 | feat(search): replace gitlab search with duckduckgo todo: algolia | 2019-06-07 18:39:51 +09:30 | 
				
					
						|  curben | 105de8515c | refactor(es6): arrow function | 2019-06-07 09:42:16 +09:30 | 
				
					
						|  curben | 60fa21c1ee | fix(post): Display post content without excerpt https://hexo.io/docs/variables.html | 2019-06-06 20:57:28 +09:30 | 
				
					
						|  curben | 48db9251c6 | feat(archive-page): Add post excerpt | 2019-06-06 19:45:50 +09:30 | 
				
					
						|  curben | dec7ae72f7 | feat: Add homepage link to mobile page title | 2019-06-05 13:15:51 +09:30 | 
				
					
						|  curben | bb87e3b914 | fix: display date using <span> instead of <a> * unify date_format options | 2019-06-04 13:55:43 +09:30 | 
				
					
						|  curben | ab5161bbc8 | style: parse date only, ignore time | 2019-06-04 13:35:48 +09:30 | 
				
					
						|  curben | fba0d3deab | feat(openGraph): add post's published time to meta tag * Rename function name to camel case (standardjs)
* Skip timezone conversion, but not using the date() helper
* Open Graph tag is based on Wordpress Yoast, noticed through
https://dvt.name/2019/06/03/hacking-the-casio-f-91w-to-handle-1000-psi/ | 2019-06-03 22:56:46 +09:30 | 
				
					
						|  curben | 60d62f94f3 | feat: add search function to mobile page * add a gap after search form to prevent misclick
* use addEventListener() instead of onclick()
  - https://stackoverflow.com/a/34216918 | 2019-06-01 18:51:51 +09:30 | 
				
					
						|  curben | 00fbcce468 | refactor: unify HTTP header settings into _headers | 2019-05-26 15:09:27 +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 | 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 | 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 | e7a6071d08 | refactor: move inline cloudinary js into js file to make way for CSR policy | 2019-05-21 10:49:30 +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 | 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 | 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 | 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 | 01bd1f3943 | style: remove unused left nav menu | 2018-11-08 12:27:15 +10:30 | 
				
					
						|  curben | 78032cfad4 | style: consistent class name for mobile nav | 2018-11-08 12:11:23 +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 | b338ab9459 | Add Open Graph meta tags http://ogp.me/
https://stackoverflow.com/q/6535405 | 2018-10-26 18:42:35 +10:30 | 
				
					
						|  curben | 1f0f664677 | Load typing.js after jquery | 2018-10-19 11:57:41 +10:30 | 
				
					
						|  curben | 68177361d4 | Use 'Content is available under' Instead of 'Licensed under' which sounds intimidating | 2018-10-14 22:36:29 +10:30 | 
				
					
						|  curben | 89f80789b0 | Use symbolic link instead of hard link https://www.cyberciti.biz/tips/understanding-unixlinux-symbolic-soft-and-hard-links.html
https://www.cyberciti.biz/faq/creating-soft-link-or-symbolic-link/ | 2018-10-11 17:14:47 +10:30 | 
				
					
						|  curben | 54d74b4d1b | Switch to cloudinary-jquery without file-upload function - cloudinary-core 67.1KB
- cloudinary-jquery 66.5KB
- cloudinary-jquery-file-upload 71KB | 2018-10-07 14:47:51 +10:30 | 
				
					
						|  curben | 4eca4d9ebf | Don't bundle js HTTP/2 (supported by Netlify) offers multiplexing, so bundle/concat is not required
https://stackoverflow.com/a/36519379
Revert a4226f1413 | 2018-10-05 14:12:03 +09:30 | 
				
					
						|  curben | a4226f1413 | Combine sri-fallback and typing Save one HTTP request | 2018-10-04 12:21:36 +09:30 | 
				
					
						|  curben | adf707c0fb | Add cloudinary call https://cloudinary.com/documentation/responsive_images#step_3_call_the_cloudinary_responsive_method
19e3cd1bcb | 2018-10-01 21:30:53 +09:30 | 
				
					
						|  curben | b5529674c0 | Class name should be lowercase for fontawesome Easier to toggle fontawesome feature
bd4a14dfa3 | 2018-10-01 13:44:32 +09:30 | 
				
					
						|  curben | 19e3cd1bcb | Add cloudinary tag plugin | 2018-10-01 12:20:54 +09:30 | 
				
					
						|  curben | 34c9b29f81 | Use correct directory of js and css | 2018-09-30 15:15:00 +09:30 | 
				
					
						|  curben | bd4a14dfa3 | Use fontawesome 5 svg & js framework | 2018-09-30 15:12:38 +09:30 | 
				
					
						|  curben | 8e5c6f4f0f | Update fancybox and implement sri-fallback https://github.com/cyph/sri-fallback | 2018-09-29 21:07:09 +09:30 | 
				
					
						|  curben | 73b0a203bc | Use subresource integrity for js https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity
https://hacks.mozilla.org/2015/09/subresource-integrity-in-firefox-43/
https://www.troyhunt.com/protecting-your-embedded-content-with-subresource-integrity-sri/ | 2018-09-29 19:22:06 +09:30 |