From 83220cacf907c5eb98fb2a873a3244492f54ce7c Mon Sep 17 00:00:00 2001
From: Rachel Wang <21071004+rachelwritingcode@users.noreply.github.com>
Date: Sun, 24 Apr 2022 18:16:28 -0400
Subject: [PATCH 01/78] Initial commit
---
_config.yml | 21 ++-
_data/home.yml | 50 +------
_includes/head.html | 1 +
_layouts/default.html | 17 +--
_posts/2020-07-07-overview-post.md | 84 ------------
_posts/2020-07-08-language-tests.md | 51 -------
...-title-and-very-very-very-short-content.md | 5 -
...7-09-post-example-with-headings-and-toc.md | 26 ----
_posts/2021-01-08-code.md | 122 -----------------
_posts/2021-03-04-soopr.md | 17 ---
_posts/2022-04-23-JavaScript30.md | 14 ++
_posts/2022-04-24-JavaScript30 Day 1.md | 124 ++++++++++++++++++
about.md | 9 +-
favicon.ico | Bin 1406 -> 0 bytes
index.md | 12 +-
15 files changed, 180 insertions(+), 373 deletions(-)
delete mode 100644 _posts/2020-07-07-overview-post.md
delete mode 100644 _posts/2020-07-08-language-tests.md
delete mode 100644 _posts/2020-07-08-very-very-very-long-title-and-very-very-very-short-content.md
delete mode 100644 _posts/2020-07-09-post-example-with-headings-and-toc.md
delete mode 100644 _posts/2021-01-08-code.md
delete mode 100644 _posts/2021-03-04-soopr.md
create mode 100644 _posts/2022-04-23-JavaScript30.md
create mode 100644 _posts/2022-04-24-JavaScript30 Day 1.md
delete mode 100644 favicon.ico
diff --git a/_config.yml b/_config.yml
index f39b0d445..fb8417f5d 100644
--- a/_config.yml
+++ b/_config.yml
@@ -1,40 +1,37 @@
-title: Moonwalk
-author: Abhinav Saxena
-url: https://www.abhinavsaxena.com/moonwalk # root address of the site
+title: Rachel Wang
+author: Rachel Wang
+url: # root address of the site
description: > # description of the site (multiple lines allowed)
- Moonwalk is a fast and elegant Jekyll theme with a clean dark mode. It comes with horizontal list (for navbar and footer), card list (for portfolio), and a generic vertical list. It is very easy to modify in case you want to build over it - please see _layouts/home.html to do that.
permalink: /:slug
-favicon: "./logo.png" # relative path to site's favicon
+favicon: "" # relative path to site's favicon
twitter:
- username: abhinav # update or delete this
- card: summary_large_image
+ username: rachelwritecode# update or delete this
#theme: moonwalk # if you are using GitHub Pages, change it to remote_theme: abhinavs/moonwalk
remote_theme: abhinavs/moonwalk
theme_config:
- appearance: "dark" # can be "light", "dark" or "auto"
+ appearance: "light" # can be "light", "dark" or "auto"
appearance_toggle: true # if appearance can be switched by user
- back_home_text: "home.." # customize text for homepage link in post layout
+ back_home_text: "return to home" # customize text for homepage link in post layout
date_format: "%Y-%m-%d" # customize how date is formatted
show_description: true # show blog description
show_navbar: true # show horizontal navbar
show_footer: true # show footer links in home page,add in _data/home.yml
show_copyright: true # show copyright notice in footer
# following keys are using to create home layout
- show_projects: true # show projects as cards, add in _data/home.yml
+ show_projects: false # show projects as cards, add in _data/home.yml
show_blog: true # show blog posts added in _posts
- show_old_projects: true # show old projects as cards, add in _data/home.yml
+ show_old_projects: false # show old projects as cards, add in _data/home.yml
show_misc_list: false # show generic vertical list for misc details, add _data/home.yml
# options for "home" page
home:
title_projects: Portfolio
title_misc_list: Details
title_blog: Blog
- title_old_projects: Old Projects
soopr:
publish_token: "" # sign up at https://www.soopr.co to get your publish token and personalize share and reaction options
diff --git a/_data/home.yml b/_data/home.yml
index 0ef30fc60..a4c056f9f 100644
--- a/_data/home.yml
+++ b/_data/home.yml
@@ -5,66 +5,28 @@ navbar_entries:
- title: blog
url: blog
- - title: website
- url: https://www.abhinav.co
-
project_entries:
- - title: Project 1
- url: overview-post
- desc: This is an example project, configured in _data/home.yml
-
- - title: Project 2
- url: overview-post
- desc: Projects are shown in card layout
-
- - title: Project 3
- url: overview-post
- desc: You can control visibility from _config.yml file
- - title: Project 4
+ - title: Project 1
url: overview-post
desc: This project uses highlight markup, configured in _data/home.yml
highlight: WIP
- - title: Project 5
+ - title: Project 2
url: overview-post
desc: Moonwalk also has horizontal list (used in header and footer)
highlight: WIP
- - title: Project 6
- url: overview-post
- desc: It also has a scalable vertical list (in case you need it)
-
-old_project_entries:
- - title: Soopr
- url: https://www.soopr.co
- desc: Delight your readers - add beautiful share and like buttons easily to your websites
- highlight: NEW
-
- - title: Cookie
- url: https://github.com/abhinavs/cookie
- desc: An open source landing website with supporting pages and integrated blog
-
- - title: Moonwalk
- url: https://github.com/abhinavs/moonwalk
- desc: A fast and minimalist Jekyll blog theme with clean dark mode
-
- - title: Humangous
- url: https://www.humangous.co
- desc: The better people know you, the better they collaborate
footer_entries:
- - title: abhinav's homepage
- url: https://www.abhinav.co
-
- title: twitter
- url: https://twitter.com/abhinav
+ url: https://twitter.com/rachelwritecode
- title: github
- url: https://github.com/abhinavs
+ url: https://github.com/rachelwritingcode
- - title: feed
- url: feed.xml
+ - title: linkedin
+ url: https://www.linkedin.com/in/rachelwritingcode/
misc_entries:
- title: this is an example vertical list
diff --git a/_includes/head.html b/_includes/head.html
index e22dba44c..be37e3ab8 100644
--- a/_includes/head.html
+++ b/_includes/head.html
@@ -2,6 +2,7 @@
+
diff --git a/_posts/2020-07-07-overview-post.md b/_posts/2020-07-07-overview-post.md
deleted file mode 100644
index 3ff73e547..000000000
--- a/_posts/2020-07-07-overview-post.md
+++ /dev/null
@@ -1,84 +0,0 @@
----
-layout: post
-author: Abhinav Saxena
----
-
-Lorem ipsum[^1] dolor sit amet, consectetur adipiscing elit. Pellentesque vel lacinia neque. Praesent nulla quam, ullamcorper in sollicitudin ac, molestie sed justo. Cras aliquam, sapien id consectetur accumsan, augue magna faucibus ex, ut ultricies turpis tortor vel ante. In at rutrum tellus.
-
-# Sample heading 1
-## Sample heading 2
-### Sample heading 3
-#### Sample heading 4
-##### Sample heading 5
-###### Sample heading 6
-
-Mauris viverra dictum ultricies. Vestibulum quis ipsum euismod, facilisis metus sed, varius ipsum. Donec scelerisque lacus libero, eu dignissim sem venenatis at. Etiam id nisl ut lorem gravida euismod.
-
-## Lists
-
-Unordered:
-
-- Fusce non velit cursus ligula mattis convallis vel at metus[^2].
-- Sed pharetra tellus massa, non elementum eros vulputate non.
-- Suspendisse potenti.
-
-Ordered:
-
-1. Quisque arcu felis, laoreet vel accumsan sit amet, fermentum at nunc.
-2. Sed massa quam, auctor in eros quis, porttitor tincidunt orci.
-3. Nulla convallis id sapien ornare viverra.
-4. Nam a est eget ligula pellentesque posuere.
-
-## Blockquote
-
-The following is a blockquote:
-
-> Suspendisse tempus dolor nec risus sodales posuere. Proin dui dui, mollis a consectetur molestie, lobortis vitae tellus.
-
-## Thematic breaks ()
-
-Mauris viverra dictum ultricies[^3]. Vestibulum quis ipsum euismod, facilisis metus sed, varius ipsum. Donec scelerisque lacus libero, eu dignissim sem venenatis at. Etiam id nisl ut lorem gravida euismod. **You can put some text inside the horizontal rule like so.**
-
----
-{: data-content="hr with text"}
-
-Mauris viverra dictum ultricies. Vestibulum quis ipsum euismod, facilisis metus sed, varius ipsum. Donec scelerisque lacus libero, eu dignissim sem venenatis at. Etiam id nisl ut lorem gravida euismod. **Or you can just have an clean horizontal rule.**
-
----
-
-Mauris viverra dictum ultricies. Vestibulum quis ipsum euismod, facilisis metus sed, varius ipsum. Donec scelerisque lacus libero, eu dignissim sem venenatis at. Etiam id nisl ut lorem gravida euismod. Or you can just have an clean horizontal rule.
-
-## Code
-
-Now some code:
-
-```
-const ultimateTruth = 'follow middlepath';
-console.log(ultimateTruth);
-```
-
-And here is some `inline code`!
-
-## Tables
-
-Now a table:
-
-| Tables | Are | Cool |
-| ------------- |:-------------:| -----:|
-| col 3 is | right-aligned | $1600 |
-| col 2 is | centered | $12 |
-| zebra stripes | are neat | $1 |
-
-## Images
-
-
-
-This is an image[^4]
-
----
-{: data-content="footnotes"}
-
-[^1]: this is a footnote. You should reach here if you click on the corresponding superscript number.
-[^2]: hey there, don't forget to read all the footnotes!
-[^3]: this is another footnote.
-[^4]: this is a very very long footnote to test if a very very long footnote brings some problems or not; hope that there are no problems but you know sometimes problems arise from nowhere.
diff --git a/_posts/2020-07-08-language-tests.md b/_posts/2020-07-08-language-tests.md
deleted file mode 100644
index b7e5172be..000000000
--- a/_posts/2020-07-08-language-tests.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-layout: post
-title: "Language Tests"
----
-
-Note: Text is from [moving](https://github.com/huangyz0918/moving), which is another good Jekyll theme.
-
-### 1. 日本語テスト
-
-This is a Japanese test post to show you how japanese is displayed.
-
-私は昨日ついにその助力家というのの上よりするたなけれ。
-最も今をお話団はちょうどこの前後なかろでくらいに困りがいるたをは帰着考えたなかって、そうにもするでうたらない。
-がたを知っないはずも同時に九月をいよいよたありた。
-
-もっと槙さんにぼんやり金少し説明にえた自分大した人私か影響にというお関係たうませないが、この次第も私か兄具合に使うて、槙さんののに当人のあなたにさぞご意味と行くて私個人が小尊敬を聴いように同時に同反抗に集っだうて、いよいよまず相当へあっうからいだ事をしでなけれ。
-
-> それでそれでもご時日をしはずはたったいやと突き抜けるますて、その元がは行ったてという獄を尽すていけですた。
-
-この中道具の日その学校はあなたごろがすまなりかとネルソンさんの考えるですん、辺の事実ないというご盲従ありたですと、爺さんのためが薬缶が結果までの箸の当時してならて、多少の十月にためからそういう上からとにかくしましないと触れべきものたで、ないうですと多少お人達したのでたた。
-
-From [すぐ使えるダミーテキスト - 日本語 Lorem ipsum.](http://lipsum.sugutsukaeru.jp/index.cgi)
-
-
-### 2. 繁体中文测试
-
-This is a chinese test post to show you how chinese is displayed.
-
-善我王上魚、產生資西員合兒臉趣論。畫衣生這著爸毛親可時,安程幾?合學作。觀經而作建。都非子作這!法如言子你關!手師也。
-
-以也座論頭室業放。要車時地變此親不老高小是統習直麼調未,行年香一?
-
-就竟在,是我童示讓利分和異種百路關母信過明驗有個歷洋中前合著區亮風值新底車有正結,進快保的行戰從:弟除文辦條國備當來際年每小腳識世可的的外的廣下歌洲保輪市果底天影;全氣具些回童但倒影發狀在示,數上學大法很,如要我……月品大供這起服滿老?應學傳者國:山式排只不之然清同關;細車是!停屋常間又,資畫領生,相們制在?公別的人寫教資夠。資再我我!只臉夫藝量不路政吃息緊回力之;兒足灣電空時局我怎初安。意今一子區首者微陸現際安除發連由子由而走學體區園我車當會,經時取頭,嚴了新科同?很夫營動通打,出和導一樂,查旅他。坐是收外子發物北看蘭戰坐車身做可來。道就學務。
-
-國新故。
-
-> 工步他始能詩的,裝進分星海演意學值例道……於財型目古香亮自和這乎?化經溫詩。只賽嚴大一主價世哥受的沒有中年即病行金拉麼河。主小路了種就小為廣不?
-
-From [亂數假文產生器 - Chinese Lorem Ipsum.](http://www.richyli.com/tool/loremipsum/)
-
-
-
-### 3. 简体中文测试
-
-效育声去本义然空,各值太法心想,场强实地。 题铁习点儿表管少间千,只何政亲织文意部,千影画派证男须。 手反取长风治增非等直难群,连取及天他己事头级,影数弦适把气快目人。 专议以省通引而千个,格则口段度样水热马,地教少务改磨。 包思外心半院应她算斯,市外会快记路又火学,劳如肃它准众丧边。
-
- > 团算部住县单总边素格军所,合音府教看和广光采率位转,位用品根确针百。 证其标元角工方海接交他,论象切万世认一响义,治然身本风弦带题。 向我次路持加北,她不反心。 说总元军例市决,现始即算证养,规走还壳。
-
-因林可相儿应满军,热影省条律因资再,整肃赤心将届。 局广写两量备验还,南教事争工民的,备进研上布。 素身电活非直,速这区交示从,百层达。 资量那毛什京身,白这快。 半打容三手开常价或,手严量般象式效,名可重芽门适。 来设什一我么,光界美么或,住身式准。 造酸改表委验众办地百养,商物战众本列听度名院,制压录丽快与千机内。 住需当四议决得命南然照按民置,当住命形金决否矿单外。 气象理离开新集增际,三划方工义很年关,拉许准孝口。 构片出干计由备美打养,持育总指承入无己。
-
-From [假文生成器, lorem ipsum Chinese](http://www.cancms.com/content/dummytext)
\ No newline at end of file
diff --git a/_posts/2020-07-08-very-very-very-long-title-and-very-very-very-short-content.md b/_posts/2020-07-08-very-very-very-long-title-and-very-very-very-short-content.md
deleted file mode 100644
index 9d7b30159..000000000
--- a/_posts/2020-07-08-very-very-very-long-title-and-very-very-very-short-content.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-layout: post
----
-
-Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vel lacinia neque. Praesent nulla quam, ullamcorper in sollicitudin ac, molestie sed justo. Cras aliquam, sapien id consectetur accumsan, augue magna faucibus ex, ut ultricies turpis tortor vel ante. In at rutrum tellus. Nullam vestibulum metus eu purus malesuada, volutpat mattis leo facilisis.
\ No newline at end of file
diff --git a/_posts/2020-07-09-post-example-with-headings-and-toc.md b/_posts/2020-07-09-post-example-with-headings-and-toc.md
deleted file mode 100644
index bd689f475..000000000
--- a/_posts/2020-07-09-post-example-with-headings-and-toc.md
+++ /dev/null
@@ -1,26 +0,0 @@
----
-layout: post
----
-
-Mauris viverra dictum ultricies. Vestibulum quis ipsum euismod, facilisis metus sed, varius ipsum. Donec scelerisque lacus libero, eu dignissim sem venenatis at. Nunc a egestas tortor, sed feugiat leo.
-
-## Table of contents
-- [Table of contents](#table-of-contents)
-- [The start](#the-start)
-- [The middle](#the-middle)
-- [The end](#the-end)
-
-Mauris viverra dictum ultricies. Vestibulum quis ipsum euismod, facilisis metus sed, varius ipsum. Donec scelerisque lacus libero, eu dignissim sem venenatis at. Nunc a egestas tortor, sed feugiat leo. Vestibulum porta tincidunt tellus, vitae ornare tortor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed nunc neque, tempor in iaculis non, faucibus et metus. Etiam id nisl ut lorem gravida euismod.
-
-## [The start](#the-start)
-
-Fusce non velit cursus ligula mattis convallis vel at metus. Sed pharetra tellus massa, non elementum eros vulputate non. Suspendisse potenti. Quisque arcu felis, laoreet vel accumsan sit amet, fermentum at nunc. Sed massa quam, auctor in eros quis, porttitor tincidunt orci. Nulla convallis id sapien ornare viverra. Cras nec est lacinia ligula porta tincidunt. Nam a est eget ligula pellentesque posuere. Maecenas quis enim ac risus accumsan scelerisque. Aliquam vitae libero sapien. Etiam convallis, metus nec suscipit condimentum, quam massa congue velit, sit amet sollicitudin nisi tortor a lectus. Cras a arcu enim. Suspendisse hendrerit euismod est ac gravida. Donec vitae elit tristique, suscipit eros at, aliquam augue. In ac faucibus dui. Sed tempor lacus tristique elit sagittis, vitae tempor massa convallis.
-
-## [The middle](#the-middle)
-
-Proin quis velit et eros auctor laoreet. Aenean eget nibh odio. Suspendisse mollis enim pretium, fermentum urna vitae, egestas purus. Donec convallis tincidunt purus, scelerisque fermentum eros sagittis vel. Aliquam ac aliquet risus, tempus iaculis est. Fusce molestie mauris non interdum hendrerit. Curabitur ullamcorper, eros vitae interdum volutpat, lacus magna lacinia turpis, at accumsan dui tortor vel lectus. Aenean risus massa, semper non lectus rutrum, facilisis imperdiet mi. Praesent sed quam quis purus auctor ornare et sed augue. Vestibulum non quam quis ligula luctus placerat sed sit amet erat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Fusce auctor, sem eu volutpat dignissim, turpis nibh malesuada arcu, in consequat elit mauris quis sem. Nam tristique sit amet enim vel accumsan. Sed id nibh commodo, dictum sem id, semper quam.
-
-## The end
-
-Donec ex lectus, tempus non lacinia quis, pretium non ipsum. Praesent est nunc, rutrum vel tellus eu, tristique laoreet purus. In rutrum orci sit amet ex ornare, sit amet finibus lacus laoreet. Etiam ac facilisis purus, eget porttitor odio. Suspendisse tempus dolor nec risus sodales posuere. Proin dui dui, mollis a consectetur molestie, lobortis vitae tellus. Vivamus at purus sed urna sollicitudin mattis. Mauris lacinia libero in lobortis pulvinar. Nullam sit amet condimentum justo. Donec orci justo, pharetra ut dolor non, interdum finibus orci. Proin vitae ante a dui sodales commodo ac id elit. Nunc vel accumsan nunc, sit amet congue nunc. Aliquam in lacinia velit. Integer lobortis luctus eros, in fermentum metus aliquet a. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
-
diff --git a/_posts/2021-01-08-code.md b/_posts/2021-01-08-code.md
deleted file mode 100644
index 32538a23e..000000000
--- a/_posts/2021-01-08-code.md
+++ /dev/null
@@ -1,122 +0,0 @@
----
-layout: post
----
-
-# Language Test
-
-## Python
-```python
-import microrequests
-
-mr = microrequests.init()
-# mr is requests' session object and you can use it in similar manner
-res = mr.get("http://httpbin.org/get")
-print(res.text)
-```
-
-## Ruby
-```ruby
-require 'gmail'
-require 'time'
-require 'yaml'
-require 'erb'
-
-if ARGV.length != 2
- puts "Syntax: #{__FILE__} gmail-username gmail-password"
- exit
-end
-
-config = YAML.load_file("#{File.dirname(__FILE__)}/config.yaml")
-body = ERB.new(config['body'])
-
-gmail = Gmail.connect(ARGV[0], ARGV[1])
-
-# variable 'name' is important given it is used in body as well
-for name, email_id in config['to'] do
- puts "sending to #{email_id}"
- email = gmail.compose do
- to email_id
- from config['from']
- subject config['subject']
- body body.result(binding)
- end
- email.deliver!
-end
-
-gmail.logout
-```
-
-## Javascript
-```javascript
-const path = require('path');
-const { merge } = require('webpack-merge');
-const common = require('./webpack.common.js');
-
-module.exports = merge(common, {
- mode: 'development',
- devtool: 'inline-source-map',
- devServer: {
- writeToDisk: true,
- contentBase: path.join(__dirname, 'dist'),
- publicPath: path.join(__dirname, 'dist'),
- compress: true,
- port: 8000,
- },
-});
-```
-
-## Elixir
-```elixir
-defmodule MyAppWeb.BearerAuth do
-
- import Plug.Conn
- alias MyApp.Account
-
- def init(options) do
- options
- end
-
- def call(conn, _options) do
- case get_bearer_auth_token(conn) do
- nil ->
- conn |> unauthorized()
- :error ->
- conn |> unauthorized()
- auth_token ->
- account =
- Account.get_from_token(auth_token)
- if account do
- assign(conn, :current_account, account)
- else
- conn |> unauthorized()
- end
- end
- end
-
- defp get_bearer_auth_token(conn) do
- with ["Bearer " <> auth_token] <- get_req_header(conn, "authorization") do
- auth_token
- else
- _ -> :error
- end
- end
-
- defp unauthorized(conn) do
- conn
- |> resp(401, "Unauthorized")
- |> halt()
- end
-end
-
-```
-
-## CSS
-```css
-.highlight, pre code, blockquote {
- border-radius: 0.5em;
-}
-blockquote {
- background-color: var(--bg-secondary);
- border: 1px var(--border) solid;
-}
-```
diff --git a/_posts/2021-03-04-soopr.md b/_posts/2021-03-04-soopr.md
deleted file mode 100644
index 7ac7151bd..000000000
--- a/_posts/2021-03-04-soopr.md
+++ /dev/null
@@ -1,17 +0,0 @@
----
-layout: post
----
-
-[Soopr][soopr-website] is the easiest way for you to add share & reaction buttons to your blog and website, integrate an URL shortener and simple to understand analytics service. Soopr lets you manage all of these using a powerful dashboard.
-
-Moonwalk uses Soopr for share and like buttons and it is already integrated. By default, Moonwalk shows `circular` Twitter, Facebook and Copy buttons in `base` size. To add `like` button, please signup for free on [Soopr][soopr-website]
-
-Once you have signed up on Soopr, get a publish token for your website and edit `_config.yml` file and add it under `soopr` key and restart the server.
-```yml
-soopr:
- publish-token: "ADD_YOUR_PUBLISH_TOKEN_HERE"
-```
-
-Check out the [Soopr Website][soopr-website] for more info on how to get the most out of Soopr.
-
-[soopr-website]: https://www.soopr.co
diff --git a/_posts/2022-04-23-JavaScript30.md b/_posts/2022-04-23-JavaScript30.md
new file mode 100644
index 000000000..c48fbe81e
--- /dev/null
+++ b/_posts/2022-04-23-JavaScript30.md
@@ -0,0 +1,14 @@
+---
+title: JavaScript 30 Challenge
+layout: post
+author: Rachel Wang
+---
+### ⚡ #JavaScript30: Back to Basics!
+
+I'm going back to basics and tackling JavaScript with the [#JavaScript30](https://javascript30.com/) challenge. I'm super excited to revisit and strengthen my existing JavaScript skills. I've written bits of Node and JavaScript on and off throughout the years and this time I'd like to sit down and do a proper deep dive into the foundational concepts of JavaScript.
+
+
+Along with #JavaScript30, I'm reading [JavaScript for impatient programmers](https://exploringjs.com/impatient-js/) and will be writing posts about what I learned. I'm new to blogging and will take inspiration from [Seth Godin's](https://seths.blog/) blogging style, short and concise. I really look forward to building some fun projects in vanilla JavaScript and learning new things!
+
+
+
diff --git a/_posts/2022-04-24-JavaScript30 Day 1.md b/_posts/2022-04-24-JavaScript30 Day 1.md
new file mode 100644
index 000000000..66374caef
--- /dev/null
+++ b/_posts/2022-04-24-JavaScript30 Day 1.md
@@ -0,0 +1,124 @@
+---
+title: JavaScript 30 Day 1
+layout: post
+author: Rachel Wang
+---
+
+#### ⚡ Day 1 Code Snippets from #JavaScript30, You Ready? Here we go!
+
+From the Day 1 exercise, I had to jog my memory on Template Literals, Events and Array object. The following snippets are examples from the exercise as well as explanations I found on the web.
+
+### Template Literals
+
+- Template literals are literals delimited with backtick `(`)` characters.
+
+In the exercise we see the querySelector populated with ${e.keyCode} a template literal expression.
+
+```
+const audio = document.querySelector(`audio[data-key="${e.keyCode}"]`);
+```
+
+### Template literals allow the following:
+---
+
+#### Multi-line strings
+
+```
+// Multi-line strings
+console.log(`string text line 1
+string text line 2
+string text line 3`);
+```
+
+#### String interpolation
+
+Avoid the concatenation operator by using placeholders of the form `${expression}` to perform substitutions for embedded expressions.
+
+```
+let firstName = "Tony";
+let lastName = "Stark";
+let text = `Welcome ${firstName}, ${lastName}!`;
+
+let nickel = 5;
+let dime = 10;
+console.log(`Fifteen cents is ${nickel + dime} and
+not ${2 * nickel + dime}.`);
+
+
+// Output
+// "Fifteen cents is 15 and
+// not 20."
+
+```
+
+#### Tagged Templates
+
+- Parse template literals with a function. First argument of a tag function `function uppercase` contains an array of string values `strings` and the remaining arguments `...values` are related to the expressions.
+- In the example below, we'll see the values of variables `name` & `occupation` are changed to uppercase and the remaining strings that are not referenced as expressions are left alone.
+
+```
+function uppercase(strings, ...values) {
+ let newStr = '';
+ for (let i = 0; i < strings.length; i++) {
+ if (i > 0) {
+ newStr += values[i-1].toUpperCase();
+ }
+ newStr += strings[i];
+ }
+ return newStr;
+}
+
+let name = 'Tony Stark';
+let occupation = 'Being an Avenger';
+let sentence = uppercase`Hi! I'm ${ name } and I'm busy at ${ occupation }.`;
+console.log(sentence);
+
+// OUTPUT
+// Hi! I'm TONY STARK and I'm busy at BEING AN AVENGER.
+
+```
+
+[Reference](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals)
+
+---
+
+#### Events
+
+- Events are fired inside the browser window and attached to a specific item that resides in it.
+- To react to an event, you attach an event handler/event listener to it (JS code that runs when event fires).
+- When JavaScript code is defined to run in response to an event, it is registering an event handler.
+
+```
+// listen if key is pressed (keydown) then the function playSound event handler/listener
+// will handle the event when the keydown event is fired.
+window.addEventListener('keydown', playSound);
+
+//e event
+function playSound(e){
+ const audio = document.querySelector(`audio[data-key="${e.keyCode}"]`);
+ const key = document.querySelector(`.key[data-key="${e.keyCode}"]`);
+ if (!audio) return;
+
+ key.classList.add('playing');
+ audio.currentTime = 0;
+ audio.play();
+}
+```
+
+---
+
+#### Array Object - forEach
+
+- forEach() method executes a provided function once for each array element.
+- In the example, for each key pressed, the event listener function will run when the key press event is fired.
+
+```
+const keys = Array.from(document.querySelectorAll('.key'));
+keys.forEach(key => key.addEventListener('transitionend', removeTransition))
+window.addEventListener('keydown', playSound);
+```
+[Reference](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)
+
+---
+
+Wow! That was quite a bit of learning! Glad we've learned so much after Day 1 exercises. See you in the next one! 🎉
\ No newline at end of file
diff --git a/about.md b/about.md
index dafcbe23f..edcf0db1e 100644
--- a/about.md
+++ b/about.md
@@ -3,6 +3,9 @@ layout: post
title: About
---
-This is an example page!
-
-Actually, it has the same layout of a post...
\ No newline at end of file
+
Where can you find me online?
+
+
+
+
+
\ No newline at end of file
diff --git a/favicon.ico b/favicon.ico
deleted file mode 100644
index c07df76f6700bde499badec76566e67974a5819b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1406
zcmZQzU<5(|0R}M0U}azs1F|%L7$l?s#Ec9aKoZP=&`9k6|Nk>wS{}x5YeyNwv3_-i
zQ!^|XPS3JoxUngl;YhbU!@qz382xAFP%eBFoMORs<4)GBEidQxNiCb3taq74m~QoNzuwIm|qEQD(3Juylh+09A7c
cvj9mR2p?Dif&mv)ABYlRMB*Sbp=!yd0KG#sfdBvi
diff --git a/index.md b/index.md
index bf0c84b7c..95f275e9f 100644
--- a/index.md
+++ b/index.md
@@ -1,3 +1,13 @@
---
layout: home
----
\ No newline at end of file
+---
+
+
-
-## Features
-* Light & dark mode with theme switcher
-* Vertical list, horizontal list, card list
-* Landing page with navbar, footer, portfolio
-* Fast (very minimal CSS) - 100/100 on performance, accessibility, best practices and SEO, please see [Lighthouse Report](https://raw.githubusercontent.com/abhinavs/moonwalk/master/_screenshots/lighthouse-report.png) for more details
-* Responsive and mobile friendly
-* SEO optimized (uses [Jekyll Soopr SEO Tag](https://github.com/jekyll/jekyll-soopr-seo-tag))
-* RSS feed (uses [Jekyll Feed](https://github.com/jekyll/jekyll-feed))
-* Easy to extend
-* Fully compatible with [GitHub Pages](https://pages.github.com/) (see [GitHub Pages installation](#github-pages-installation))
-* Auto-generated share images for social media (using [Soopr](https://www.soopr.co))
-* Share & like buttons (using [Soopr](https://www.soopr.co))
-
-
-#### Lighthouse
-
-
-
-## Quick Installation
-1. [Fork this repository](https://github.com/abhinavs/moonwalk/fork).
-2. `cd moonwalk`
-3. `bin/bootstrap`
-4. [Optional] Sign up on Soopr, and add your `publish_token` in `_config.yml` file.
-
-If you are installing Moonwalk on Windows, please note that you might have to use Ruby 3.0.x instead of Ruby 3.1.x - you can see Windows specific installation instructions [here](https://github.com/abhinavs/moonwalk/blob/master/moonwalk_on_windows.md)
-
-## Starting Server
-`bin/start` - development server will start at http://127.0.0.1:4000
-
-## Deployment
-Moonwalk can be easily deployed on all the cloud providers (AWS etc.), and on static website hosting services like Netlify & Vercel. You can also use this button to do one click deploy
-
-
-[](https://app.netlify.com/start/deploy?repository=https://github.com/abhinavs/moonwalk)
-
-If you want to use Moonwalk as a gem or use Github Pages, please see [this page](https://github.com/abhinavs/moonwalk/blob/master/github_pages.md)
-
-## Customizing
-
-You can edit `_config.yml` file to customize your blog. You can change things such as the name of the blog, the author, the appearance of the theme (light, dark or auto), how dates are formatted, etc. Customizable fields should be straightforward to understand. Still, `_config.yml` contains some comments to help you understand what each field does.
-
-For further customization (e.g. layout, CSS) see the [official Jekyll's documentation](https://jekyllrb.com/docs/themes/#overriding-theme-defaults) on customizing gem-based themes.
-
-### Customize the menu
-
-In order to add/edit/delete entries in the home page, you can copy the `home.yml` file inside `_data` folder. Through that file you can define the structure of the menu and add data for navbar, footer, portfolio or simply remove all of that and use simple blog layout. Take a look at the default configuration to get an idea of how it works and read on for a more comprehensive explaination.
-
-The `home.yml` file accepts the following fields:
-
-1. Vertical list
- - `entries` define a new unordered list that will contain menu entries
- - each entry is marked by a `-` at the beginning of the line
- - each entry has the following attributes:
- - `title`, which defines the text to render for that menu entry
- - `url`, which can either be a URL or `false`. If it is `false`, the entry will be rendered as plain text; otherwise the entry will be rendered as a link pointing to the specified URL. Note that the URL can either be relative or absolute.
- - `post_list`, which can be `true` or `false`. If it is true, the entry will have all posts in the site as subentries. This is used to render your post list.
- - `entries`, yes, you can have entries inside entries. In this way you can create nested sublists!
-2. Card list - cards are used to showcase portfolio projects. Please see `project_entries` in `_data/home.yml` file
- - each entry is marked by a `-` at the beginning of the line
- - each entry has the following attributes:
- - `title` defines the header of the card
- - `desc` is the body of the card
- - `url` is a relative or absolute link which this card can point to.
- - `highlight` in case you want to highlight something, keep the text short though
-3. Horizontal list - moonwalk uses horizontal lists to create navbar and footer. Please see `navbar_entries` and `footer_entries` in `data/home.yml` file
- - each entry is marked by a `-` at the beginning of the line
- - each entry has the following attributes:
- - `title` defines the header of the card
- - `url` is a relative or absolute link which this card can point to.
-
-
-### Pro tips
-1. Moonwalk has 3 in-built layouts:
- - post - for content
- - blog - for listing blog posts
- - home - for landing page
- you can change your `index.md` file to use either home or blog layout.
-
-2. It is extremely easy to tweak the color scheme.
- - for light mode, customize these css variables
-```css
-html {
- --bg: #fff;
- --bg-secondary: #f8f9fa;
- --headings: #000;
- --text: #333;
- --links: blue;
- --highlight: #ffecb2; // light yellow
-}
-```
- - for dark mode customize these css variables
-```css
-@mixin dark-appearance {
- html, body {
- --bg: #1f242A;
- --bg-secondary: #323945;
- --headings: #3D9970;
- --text: #adb5bd;
- --links: #91a7ff;
- --highlight: #ffd8a8;
- --highlight: #ffd43b;
- };
-}
-```
-3. Sign up for free on [Soopr](https://www.soopr.co) and add your `publish_token` in `_config.yml` file - with this, each page gets short URL, like button and auto generated share image for social media.
-
-
-
-## Contributing
-
-Bug reports and pull requests are welcome on GitHub at https://github.com/abhinavs/moonwalk.
-
-## Development
-
-To set up your environment to develop this theme, run `bundle install`.
-
-Your theme is setup just like a normal Jekyll site! To test your theme, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.
-
-When your theme is released, only the files in `_layouts`, `_includes`, `_sass` and `assets` tracked with Git will be bundled.
-To add a custom directory to your theme-gem, please edit the regexp in `moonwalk.gemspec` accordingly.
-
-## Acknowledgement
-This theme's original base is [no style please!](https://github.com/riggraz/no-style-please) theme created by [Riccardo Graziosi](https://riggraz.dev/) - many thanks to him for creating a wonderful theme with nearly no css.
-
-## License
-
-The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
-
-## Other Projects
-If you like Moonwalk, do check out my other projects
-* [cookie](https://github.com/abhinavs/cookie) - a free landing website boilerplate using Jekyll and Tailwind CSS
-* [scoop](https://github.com/abhinavs/scoop) - a Sinatra boilerplate project using Corneal, ActiveRecord, Capistrano, Puma & Nginx
-* [soopr](https://www.soopr.co) - a tool that supports you in content marketing
-* [apicagent](https://www.apicagent.com) - a FREE API that extracts device details from user-agent string
-* [pincodr](https://pincodr.apiclabs.com) - a FREE API for Indian pincodes
-* [humangous](https://www.humangous.co) - create public and private 'working with you' guides
-* [blockr](https://www.abhinav.co/blockr) - a CLI tool to help you easily block and unblock websites
-* [microrequests](https://www.abhinav.co/microrequests) - a Python library to help you consume microservice efficiently
-
-✨⚡You can read more about me on my [blog](https://www.abhinav.co/about/) or follow me on Twitter - [@abhinav](https://twitter.com/abhinav)
-
-✨⚡If you like my work, you can [buy me a coffee](https://buymeacoffee.com/abhinavs)
From a9d5f6426936f3a4a122982f9aa3025a49896cca Mon Sep 17 00:00:00 2001
From: Rachel Wang <21071004+rachelwritingcode@users.noreply.github.com>
Date: Sun, 24 Apr 2022 18:56:29 -0400
Subject: [PATCH 04/78] Update dark mode styling
---
_data/home.yml | 68 ++++++++++++++---------------
_sass/moonwalk.scss | 4 +-
_screenshots/lighthouse-report.png | Bin 538982 -> 0 bytes
_screenshots/moonwalk-mono.png | Bin 664344 -> 0 bytes
_screenshots/moonwalk.png | Bin 197200 -> 0 bytes
_screenshots/twitter_card.png | Bin 213258 -> 0 bytes
github_pages.md | 15 -------
moonwalk_on_windows.md | 9 ----
8 files changed, 35 insertions(+), 61 deletions(-)
delete mode 100644 _screenshots/lighthouse-report.png
delete mode 100644 _screenshots/moonwalk-mono.png
delete mode 100644 _screenshots/moonwalk.png
delete mode 100644 _screenshots/twitter_card.png
delete mode 100644 github_pages.md
delete mode 100644 moonwalk_on_windows.md
diff --git a/_data/home.yml b/_data/home.yml
index a4c056f9f..66acd2afa 100644
--- a/_data/home.yml
+++ b/_data/home.yml
@@ -5,18 +5,16 @@ navbar_entries:
- title: blog
url: blog
-project_entries:
-
- - title: Project 1
- url: overview-post
- desc: This project uses highlight markup, configured in _data/home.yml
- highlight: WIP
-
- - title: Project 2
- url: overview-post
- desc: Moonwalk also has horizontal list (used in header and footer)
- highlight: WIP
+# project_entries:
+# - title: Project 1
+# url: overview-post
+# desc: This project uses highlight markup, configured in _data/home.yml
+# highlight: WIP
+# - title: Project 2
+# url: overview-post
+# desc: Moonwalk also has horizontal list (used in header and footer)
+# highlight: WIP
footer_entries:
- title: twitter
@@ -28,36 +26,36 @@ footer_entries:
- title: linkedin
url: https://www.linkedin.com/in/rachelwritingcode/
-misc_entries:
- - title: this is an example vertical list
- url: false
+# misc_entries:
+# - title: this is an example vertical list
+# url: false
- - title: you can show or hide using a boolean flag in _config.yml
- url: false
+# - title: you can show or hide using a boolean flag in _config.yml
+# url: false
- - title: and you can add data in _data/home.yml
- url: false
+# - title: and you can add data in _data/home.yml
+# url: false
- - title: Blog posts
- post_list: true
- url: false
+# - title: Blog posts
+# post_list: true
+# url: false
- - title: moonwalk on the Internet
- url: false
- entries:
- - title: on Github
- url: https://github.com/abhinavs/moonwalk
+ # - title: moonwalk on the Internet
+ # url: false
+ # entries:
+ # - title: on Github
+ # url: https://github.com/abhinavs/moonwalk
- - title: originally built for abhinav's homepage
- url: https://www.abhinav.co
+ # - title: originally built for abhinav's homepage
+ # url: https://www.abhinav.co
- - title: this list is scalable and can be nested
- url: false
- entries:
- - title: this is nested inside a nested list
- url: false
+ # - title: this list is scalable and can be nested
+ # url: false
+ # entries:
+ # - title: this is nested inside a nested list
+ # url: false
- - title: it is easy to use, see _data/home.yml to see how to configure it.
- url: false
+ # - title: it is easy to use, see _data/home.yml to see how to configure it.
+ # url: false
diff --git a/_sass/moonwalk.scss b/_sass/moonwalk.scss
index 62a04b973..ba3ddf5f5 100644
--- a/_sass/moonwalk.scss
+++ b/_sass/moonwalk.scss
@@ -76,8 +76,8 @@ html {
// -------------- THEME SWITCHER -------------- //
@mixin dark-appearance {
html, body {
- --headings: #74c0fc;
- --links: #91A7FF;
+ --headings: #ffffff;
+ --links: #ffd60a;
--highlight: #41C7C7;
--bg: #1f242A;
--bg-secondary: #323945;
diff --git a/_screenshots/lighthouse-report.png b/_screenshots/lighthouse-report.png
deleted file mode 100644
index dba82ddc6f50f59eebee6b523b24b66d3959c707..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 538982
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