Commit Graph

86 Commits

Author SHA1 Message Date
curben b9db47fe8c fix(microformat): prepend class name only to <a> tag 2019-06-28 17:49:12 +09:30
curben 2d097644fd fix(microformat): update syntax to h-entry of microformats2
* http://microformats.org/wiki/h-entry
* replaces hAtom
2019-06-28 00:41:35 +09:30
curben 8ce99181a4 fix(schema): use valid "dateModified"
* https://schema.org/dateModified
2019-06-27 23:45:35 +09:30
curben 2a242f59a6 fix(schema): use "articleBody" for post content
* Revert 5d216d3
* https://schema.org/BlogPosting
* "text" is more suitable for itemtype="https://schema.org/Blog"
* https://schema.org/Blog is more suitable for homepage (list of posts)
* ref https://github.com/philwareham/schema-microdata-examples/blob/master/blog.html
2019-06-27 23:44:46 +09:30
curben 5f83dddf71 fix(schema): add "headline" to post title
* https://webmasters.stackexchange.com/a/98469
2019-06-27 22:39:54 +09:30
curben 5d216d3edf fix(schema): use "text" for post content
* articleBody is only applicable for (news) Article
* https://schema.org/Blog
* https://schema.org/Article
2019-06-27 22:22:29 +09:30
curben 843a8fe74f fix(schema): add license
* https://blogs.pjjk.net/phil/licence-information-in-schema-org-and-lrmi/
2019-06-27 22:09:36 +09:30
curben 132e96f69a fix(microformats): add 'published' class only to posts 2019-06-26 20:24:29 +09:30
curben b8f987934b feat(microformats): add rel-license
* http://microformats.org/wiki/rel-license
2019-06-26 20:12:07 +09:30
curben 17c823bfbd feat(microformats): add hAtom class names
* http://microformats.org/wiki/hatom
2019-06-26 17:19:14 +09:30
curben bdafe4a208 feat(microformats): add tag
* http://microformats.org/wiki/rel-tag
2019-06-26 16:56:24 +09:30
curben ec434af4ea style: reduce tab spacing 2019-06-26 16:26:23 +09:30
curben 6b9395cebc fix(sitemap): add sitemap location to <head> and robots.txt
* https://github.com/h5bp/html5-boilerplate/pull/1918
2019-06-26 16:24:19 +09:30
curben e9c907e480 style(search): 'Powered by' instead of 'Search using' 2019-06-23 17:10:15 +09:30
curben 2b63f11742 fix(tags): tag url in lowercase, display in titlecase
* netlify uses lowercase url
2019-06-21 11:28:05 +09:30
curben aa3d94aa4b feat: add link() helper
* Based on link_to() helper, without unneeded attribute and option
* https://hexo.io/docs/helpers#link-to
2019-06-15 20:42:07 +09:30
curben 36201c2ada fix(footer): add gitlab source link 2019-06-15 20:29:07 +09:30
curben e130371288 feat(layout): Add page number to blog <title> 2019-06-13 13:38:30 +09:30
curben e4b065288c fix(layout): set website's and blog's <title> 2019-06-13 13:35:49 +09:30
curben 1eaf01b8ed style: replace 'using' with 'with' 2019-06-13 10:18:25 +09:30
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 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