commit c74f5fac7aee8349a210350c85176086f28620c8 Author: Ayo Ayco Date: Sat Jan 13 16:20:54 2018 +0800 initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b4efe3a --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +_site +.sass-cache +.jekyll-metadata +*~ +.*~ +*swp +.*swp + diff --git a/404.html b/404.html new file mode 100644 index 0000000..c472b4e --- /dev/null +++ b/404.html @@ -0,0 +1,24 @@ +--- +layout: default +--- + + + +
+

404

+ +

Page not found :(

+

The requested page could not be found.

+
diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..85339b4 --- /dev/null +++ b/Gemfile @@ -0,0 +1,27 @@ +source "https://rubygems.org" + +# Hello! This is where you manage which Jekyll version is used to run. +# When you want to use a different version, change it below, save the +# file and run `bundle install`. Run Jekyll with `bundle exec`, like so: +# +# bundle exec jekyll serve +# +# This will help ensure the proper Jekyll version is running. +# Happy Jekylling! +gem "jekyll", "~> 3.7.0" + +# This is the default theme for new Jekyll sites. You may change this to anything you like. +gem "minima", "~> 2.0" + +# If you want to use GitHub Pages, remove the "gem "jekyll"" above and +# uncomment the line below. To upgrade, run `bundle update github-pages`. +# gem "github-pages", group: :jekyll_plugins + +# If you have any plugins, put them here! +group :jekyll_plugins do + gem "jekyll-feed", "~> 0.6" +end + +# Windows does not include zoneinfo files, so bundle the tzinfo-data gem +gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby] + diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..4b08d7a --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,70 @@ +GEM + remote: https://rubygems.org/ + specs: + addressable (2.5.2) + public_suffix (>= 2.0.2, < 4.0) + colorator (1.1.0) + concurrent-ruby (1.0.5) + em-websocket (0.5.1) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0.6.0) + eventmachine (1.2.5) + ffi (1.9.18) + forwardable-extended (2.6.0) + http_parser.rb (0.6.0) + i18n (0.9.1) + concurrent-ruby (~> 1.0) + jekyll (3.7.0) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (~> 0.7) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 2.0) + kramdown (~> 1.14) + liquid (~> 4.0) + mercenary (~> 0.3.3) + pathutil (~> 0.9) + rouge (>= 1.7, < 4) + safe_yaml (~> 1.0) + jekyll-feed (0.9.2) + jekyll (~> 3.3) + jekyll-sass-converter (1.5.1) + sass (~> 3.4) + jekyll-watch (2.0.0) + listen (~> 3.0) + kramdown (1.16.2) + liquid (4.0.0) + listen (3.1.5) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + ruby_dep (~> 1.2) + mercenary (0.3.6) + minima (2.1.1) + jekyll (~> 3.3) + pathutil (0.16.1) + forwardable-extended (~> 2.6) + public_suffix (3.0.1) + rb-fsevent (0.10.2) + rb-inotify (0.9.10) + ffi (>= 0.5.0, < 2) + rouge (3.1.0) + ruby_dep (1.5.0) + safe_yaml (1.0.4) + sass (3.5.5) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + +PLATFORMS + ruby + +DEPENDENCIES + jekyll (~> 3.7.0) + jekyll-feed (~> 0.6) + minima (~> 2.0) + tzinfo-data + +BUNDLED WITH + 1.16.0 diff --git a/README.md b/README.md new file mode 100644 index 0000000..58285ed --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +This blog is build with Jekyll on top of the default [Minima theme](https://github.com/jekyll/minima). Mostly inspired by the [Jekyll website itself](https://jekyllrb.com). :) + +Here is the live website: [https://ayoayco.github.io/blog](https://ayoayco.github.io/blog) diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..4f544ee --- /dev/null +++ b/_config.yml @@ -0,0 +1,64 @@ +# Welcome to Jekyll! +# +# This config file is meant for settings that affect your whole blog, values +# which you are expected to set up once and rarely edit after that. If you find +# yourself editing this file very often, consider using Jekyll's data files +# feature for the data you need to update frequently. +# +# For technical reasons, this file is *NOT* reloaded automatically when you use +# 'bundle exec jekyll serve'. If you change this file, please restart the server process. + +# Site settings +# These are used to personalize your new site. If you look in the HTML files, +# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. +# You can create any custom variable you would like, and they will be accessible +# in the templates via {{ site.myvariable }}. +title: ./full.hacker +author: Ayo +attribution: "2018 © by Full Hacker" +website: fullhacker.github.io +email: fullhackerblog@gmail.com +description: >- # this means to ignore newlines until "baseurl:" + // notes on technology and life +baseurl: "/" # the subpath of your site, e.g. /blog +url: "" # the base hostname & protocol for your site, e.g. http://example.com +twitter_username: fullhackerblog +instagram_username: fullhackerblog +facebook_username: fullhackerblog +github_username: fullhacker + +# Build settings +markdown: kramdown +theme: minima +plugins: + - jekyll-feed + +defaults: +- + scope: + path: "" + type: "posts" + values: + layout: post + author: Ayo + +# this goes inside _config.yml. Change as required +navigation: +- text: Home + url: / +- text: About + url: /about/ +- text: Contact me + url: /contact-me/ + +# Exclude from processing. +# The following items will not be processed, by default. Create a custom list +# to override the default setting. +# exclude: +# - Gemfile +# - Gemfile.lock +# - node_modules +# - vendor/bundle/ +# - vendor/cache/ +# - vendor/gems/ +# - vendor/ruby/ diff --git a/_drafts/draft-one.md b/_drafts/draft-one.md new file mode 100644 index 0000000..36580a0 --- /dev/null +++ b/_drafts/draft-one.md @@ -0,0 +1,5 @@ +--- +layout: post +--- + +# Sample Draft diff --git a/_includes/disqus_comments.html b/_includes/disqus_comments.html new file mode 100644 index 0000000..87fa309 --- /dev/null +++ b/_includes/disqus_comments.html @@ -0,0 +1,20 @@ +{% if page.comments != false and jekyll.environment == "production" %} + +
+ + +{% endif %} diff --git a/_includes/footer.html b/_includes/footer.html new file mode 100644 index 0000000..463c37e --- /dev/null +++ b/_includes/footer.html @@ -0,0 +1,48 @@ + diff --git a/_includes/google-analytics.html b/_includes/google-analytics.html new file mode 100644 index 0000000..eb2a692 --- /dev/null +++ b/_includes/google-analytics.html @@ -0,0 +1,11 @@ + + diff --git a/_includes/head.html b/_includes/head.html new file mode 100644 index 0000000..f75d467 --- /dev/null +++ b/_includes/head.html @@ -0,0 +1,16 @@ + + + + + + + + {% if jekyll.environment == 'production' and site.google_analytics %} + {% include google-analytics.html %} + {% endif %} + + + diff --git a/_includes/header.html b/_includes/header.html new file mode 100644 index 0000000..8345c74 --- /dev/null +++ b/_includes/header.html @@ -0,0 +1,49 @@ + + diff --git a/_includes/icon-github.html b/_includes/icon-github.html new file mode 100644 index 0000000..cb01a35 --- /dev/null +++ b/_includes/icon-github.html @@ -0,0 +1 @@ +{% include icon-github.svg %}{{ include.username }} diff --git a/_includes/icon-github.svg b/_includes/icon-github.svg new file mode 100644 index 0000000..e6c5f6d --- /dev/null +++ b/_includes/icon-github.svg @@ -0,0 +1 @@ + diff --git a/_includes/icon-twitter.html b/_includes/icon-twitter.html new file mode 100644 index 0000000..8684b6a --- /dev/null +++ b/_includes/icon-twitter.html @@ -0,0 +1 @@ +{{ include.username }} diff --git a/_includes/icon-twitter.svg b/_includes/icon-twitter.svg new file mode 100644 index 0000000..efc0ecf --- /dev/null +++ b/_includes/icon-twitter.svg @@ -0,0 +1 @@ + diff --git a/_layouts/default.html b/_layouts/default.html new file mode 100644 index 0000000..2588093 --- /dev/null +++ b/_layouts/default.html @@ -0,0 +1,26 @@ + + + + {% include head.html %} + + + +
+ + {% include header.html %} + +
+
+
+ {{ content }} +
+
+
+ + {% include footer.html %} + +
+ + + + diff --git a/_layouts/home.html b/_layouts/home.html new file mode 100644 index 0000000..2531362 --- /dev/null +++ b/_layouts/home.html @@ -0,0 +1,28 @@ +--- +layout: default +--- + +
+ {% if page.title %} +

{{ page.title }}

+ {% endif %} + + {{ content }} + + {% if site.posts.size > 0 %} +

{{ page.list_title }}

+ + + {% endif %} + +
diff --git a/_layouts/page.html b/_layouts/page.html new file mode 100644 index 0000000..01e4b2a --- /dev/null +++ b/_layouts/page.html @@ -0,0 +1,14 @@ +--- +layout: default +--- +
+ +
+

{{ page.title | escape }}

+
+ +
+ {{ content }} +
+ +
diff --git a/_layouts/post.html b/_layouts/post.html new file mode 100644 index 0000000..e546380 --- /dev/null +++ b/_layouts/post.html @@ -0,0 +1,28 @@ +--- +layout: default +--- +
+ +
+ + +

{{ page.title | escape }}

+
+ +
+ {{ content }} +
+ + {% if site.disqus.shortname %} + {% include disqus_comments.html %} + {% endif %} + + +
diff --git a/_posts/2018-01-09-hello-world.md b/_posts/2018-01-09-hello-world.md new file mode 100644 index 0000000..e475432 --- /dev/null +++ b/_posts/2018-01-09-hello-world.md @@ -0,0 +1,12 @@ +--- +permalink: '/hello-world' +--- + +### Oh, another hello world thingy + +Yes, yet another blog. Hopefully this one sticks. + +``` javascript +// here's some code +console.log("here's some code"); +``` diff --git a/_posts/Miscellaneous/0.intro.md b/_posts/Miscellaneous/0.intro.md new file mode 100644 index 0000000..e69de29 diff --git a/_posts/Miscellaneous/mailchimp-and-lotus-notes-issue.md b/_posts/Miscellaneous/mailchimp-and-lotus-notes-issue.md new file mode 100644 index 0000000..1649b5c --- /dev/null +++ b/_posts/Miscellaneous/mailchimp-and-lotus-notes-issue.md @@ -0,0 +1,52 @@ +# Mailchimp + Lotus Notes Solution for HTML Email Campaigns + +I remember the first time I saw a web page code generated by a WYSIWYG (What You See Is What You Get)... I had an unpleasant feeling and thought, "How could people stomach this?" + +Maybe because with little to no technical know-how and with minimal time and effort, they do get what they want to see? But what if after using such a tool, with much frustration, you don't get the results you want? + +I had a client using one WYSIWYG tool for designing HTML Email campaigns and guess what... they are not getting the results they want to see. The HTML email designs are chaotic when received in their readers' computers. + + +## The Problem + +The client's readers use Lotus Notes for reading their emails. The problem is, Lotus Notes may not always display HTML emails as expected. Instead, it displays HTML emails in a proprietary rich-text format. This means that Lotus Notes, as an email reader, uses its own standards in rendering HTML emails that is quite different compared to all other popular email readers (i.e., Gmail, Outlook, etc.). + +There are HTML elements that Lotus Notes simply does not understand. To make things more complicated, different versions of Lotus Notes have different rendering standards. This means that creating an HTML email template that works for one Lotus Notes version does not guarantee it will work on others. + +This is why HTML Email designers hate Lotus Notes the most--pretty much like Internet Explorer for Web Developers. + + +## Findings on Lotus Notes HTML email rendering + +Lotus Notes has several issues with widely accepted HTML standards because of its own proprietary rich-text formatting. Here are some of these issues that can be found if you search the web: +- COLSPANS. These are attributes of table cells to tell the email client or the browser how many columns they span over. Lotus Notes cannot seem to understand this and we might need to just use multiple tables as a workaround. +- CENTER ALIGNMENT. Using `` worked great in Lotus Notes 6.5.3. But not at all in Lotus Notes 6.5.4. Also, `
` tags around the tables didn’t work in 6.5.4 either. We can make things simpler as a workaround so they'd look okay as left-aligned in 6.5.4. + + +## Other Possible Workarounds and Good Practice +Here are some helpful tips in designing HTML emails for Lotus Notes: +- Use Mail Chimp's `*|ARCHIVE|*` merge tag to automatically generate a link to the online version of your MailChimp campaign. Subscribers can click this link to view your campaign directly in their web browsers. +- Allow your subscribers to choose which version of your campaign they want to receive when they sign up to your list: HTML, Text, or Mobile. If they have difficulty viewing HTML email, they can select the Text option instead. +- Keep your designs simple so that if they fail, your email is still readable. + +## Suggestion on Campaign Creation Workflow +The WYSIWYG tool I mentioned earlier, is one that is provided by Mailchimp. This tool is great. I recommend it... if your readers' does not use Lotus Notes. + +Mailchimp’s Drag and Drop tool for creating Email Campaigns generates HTML code that tries to make the campaign look good in many popular email programs. Unfortunately, Lotus Notes does not play well with most of these programs’ HTML rendering standards. + +To make sure the Campaign will look good in Lotus Notes, we have to clean up the code that Mailchimp generates. + +Follow these steps to clean up the HTML email design: +- Save Campaign as Template. To do this, Go to Campaigns page, Edit your Campaign, then click “Save as Template”. This is necessary because Mailchimp only allows Exporting to HTML from Templates. +- Export Template to HTML. Once the Campaign is saved as a Template you can now export it into HTML code that we can clean up. Go to Templates page, click the dropdown button beside the Edit button on the Template, then select “Export as HTML” +- Clean Up the HTML Code. Once you select the “Export as HTML” option, a file will be downloaded to your computer. Open this file in a Text Editor then do the following: +- Add Lotus Notes specific elements. +- In the HTML code you downloaded, you will most probably find a line with this code: `