Skip to content

Commit 2c716bf

Browse files
committed
add posts and favicon, configure site
1 parent 4020adc commit 2c716bf

30 files changed

+473
-22
lines changed

Gemfile.lock

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
GEM
2+
remote: https://rubygems.org/
3+
specs:
4+
addressable (2.8.1)
5+
public_suffix (>= 2.0.2, < 6.0)
6+
colorator (1.1.0)
7+
concurrent-ruby (1.1.10)
8+
em-websocket (0.5.3)
9+
eventmachine (>= 0.12.9)
10+
http_parser.rb (~> 0)
11+
ethon (0.16.0)
12+
ffi (>= 1.15.0)
13+
eventmachine (1.2.7)
14+
ffi (1.15.5-x64-mingw-ucrt)
15+
forwardable-extended (2.6.0)
16+
html-proofer (3.19.4)
17+
addressable (~> 2.3)
18+
mercenary (~> 0.3)
19+
nokogiri (~> 1.13)
20+
parallel (~> 1.10)
21+
rainbow (~> 3.0)
22+
typhoeus (~> 1.3)
23+
yell (~> 2.0)
24+
http_parser.rb (0.8.0)
25+
i18n (1.12.0)
26+
concurrent-ruby (~> 1.0)
27+
jekyll (4.3.1)
28+
addressable (~> 2.4)
29+
colorator (~> 1.0)
30+
em-websocket (~> 0.5)
31+
i18n (~> 1.0)
32+
jekyll-sass-converter (>= 2.0, < 4.0)
33+
jekyll-watch (~> 2.0)
34+
kramdown (~> 2.3, >= 2.3.1)
35+
kramdown-parser-gfm (~> 1.0)
36+
liquid (~> 4.0)
37+
mercenary (>= 0.3.6, < 0.5)
38+
pathutil (~> 0.9)
39+
rouge (>= 3.0, < 5.0)
40+
safe_yaml (~> 1.0)
41+
terminal-table (>= 1.8, < 4.0)
42+
webrick (~> 1.7)
43+
jekyll-archives (2.2.1)
44+
jekyll (>= 3.6, < 5.0)
45+
jekyll-paginate (1.1.0)
46+
jekyll-redirect-from (0.16.0)
47+
jekyll (>= 3.3, < 5.0)
48+
jekyll-sass-converter (2.2.0)
49+
sassc (> 2.0.1, < 3.0)
50+
jekyll-seo-tag (2.8.0)
51+
jekyll (>= 3.8, < 5.0)
52+
jekyll-sitemap (1.4.0)
53+
jekyll (>= 3.7, < 5.0)
54+
jekyll-theme-chirpy (5.3.2)
55+
jekyll (~> 4.1)
56+
jekyll-archives (~> 2.2)
57+
jekyll-paginate (~> 1.1)
58+
jekyll-redirect-from (~> 0.16)
59+
jekyll-seo-tag (~> 2.7)
60+
jekyll-sitemap (~> 1.4)
61+
jekyll-watch (2.2.1)
62+
listen (~> 3.0)
63+
kramdown (2.4.0)
64+
rexml
65+
kramdown-parser-gfm (1.1.0)
66+
kramdown (~> 2.0)
67+
liquid (4.0.3)
68+
listen (3.7.1)
69+
rb-fsevent (~> 0.10, >= 0.10.3)
70+
rb-inotify (~> 0.9, >= 0.9.10)
71+
mercenary (0.4.0)
72+
nokogiri (1.13.10-x64-mingw-ucrt)
73+
racc (~> 1.4)
74+
parallel (1.22.1)
75+
pathutil (0.16.2)
76+
forwardable-extended (~> 2.6)
77+
public_suffix (5.0.1)
78+
racc (1.6.1)
79+
rainbow (3.1.1)
80+
rb-fsevent (0.11.2)
81+
rb-inotify (0.10.1)
82+
ffi (~> 1.0)
83+
rexml (3.2.5)
84+
rouge (4.0.0)
85+
safe_yaml (1.0.5)
86+
sassc (2.4.0)
87+
ffi (~> 1.9)
88+
terminal-table (3.0.2)
89+
unicode-display_width (>= 1.1.1, < 3)
90+
thread_safe (0.3.6)
91+
typhoeus (1.4.0)
92+
ethon (>= 0.9.0)
93+
tzinfo (1.2.10)
94+
thread_safe (~> 0.1)
95+
tzinfo-data (1.2022.7)
96+
tzinfo (>= 1.0.0)
97+
unicode-display_width (2.3.0)
98+
wdm (0.1.1)
99+
webrick (1.7.0)
100+
yell (2.2.2)
101+
102+
PLATFORMS
103+
x64-mingw-ucrt
104+
105+
DEPENDENCIES
106+
html-proofer (~> 3.18)
107+
jekyll-theme-chirpy (~> 5.3, >= 5.3.2)
108+
tzinfo (~> 1.2)
109+
tzinfo-data
110+
wdm (~> 0.1.1)
111+
webrick (~> 1.7)
112+
113+
BUNDLED WITH
114+
2.3.26

_config.yml

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,36 +14,35 @@ lang: en
1414

1515

1616
# Change to your timezone › http://www.timezoneconverter.com/cgi-bin/findzone/findzone
17-
timezone:
17+
timezone: America/New_York
1818

1919
# jekyll-seo-tag settings › https://github.com/jekyll/jekyll-seo-tag/blob/master/docs/usage.md
2020
# ↓ --------------------------
2121

22-
title: Chirpy # the main title
22+
title: BinaryPatrick # the main title
2323

24-
tagline: A text-focused Jekyll theme # it will display as the sub-title
24+
tagline: A development blog # it will display as the sub-title
2525

2626
description: >- # used by seo meta and the atom feed
27-
A minimal, responsive, and powerful Jekyll theme for presenting professional writing.
27+
A tutorial and notes driven blog for coding, development, and projects
2828
2929
# fill in the protocol & hostname for your site, e.g., 'https://username.github.io'
30-
url: ''
30+
url: 'https://patrickmoore.dev'
3131

3232
github:
33-
username: github_username # change to your github username
34-
33+
username: binarypatrick # change to your github username
3534
twitter:
36-
username: twitter_username # change to your twitter username
35+
username: binarypatrick # change to your twitter username
3736

3837
social:
3938
# Change to your full name.
4039
# It will be displayed as the default author of the posts and the copyright owner in the Footer
41-
name: your_full_name
42-
email: example@domain.com # change to your email address
40+
name: BinaryPatrick
41+
# email: example@domain.com # change to your email address
4342
links:
4443
# The first element serves as the copyright owner's link
45-
- https://twitter.com/username # change to your twitter homepage
46-
- https://github.com/username # change to your github homepage
44+
- https://twitter.com/binarypatrick # change to your twitter homepage
45+
- https://github.com/binarypatrick # change to your github homepage
4746
# Uncomment below to add more social links
4847
# - https://www.facebook.com/username
4948
# - https://www.linkedin.com/in/username
@@ -71,17 +70,17 @@ google_analytics:
7170
# light - Use the light color scheme
7271
# dark - Use the dark color scheme
7372
#
74-
theme_mode: # [light|dark]
73+
theme_mode: dark # [light|dark]
7574

7675
# The CDN endpoint for images.
7776
# Notice that once it is assigned, the CDN url
7877
# will be added to all image (site avatar & posts' images) paths starting with '/'
7978
#
8079
# e.g. 'https://cdn.com'
81-
img_cdn:
80+
img_cdn: ''
8281

8382
# the avatar on sidebar, support local or CORS resources
84-
avatar:
83+
avatar: 'https://pbs.twimg.com/profile_images/932787957894975488/X9_au0oQ_400x400.jpg'
8584

8685
# boolean type, the global switch for ToC in posts.
8786
toc: true
@@ -109,7 +108,7 @@ comments:
109108
# Self-hosted static assets, optional › https://github.com/cotes2020/chirpy-static-assets
110109
assets:
111110
self_host:
112-
enabled: # boolean, keep empty means false
111+
enabled: # boolean, keep empty means false
113112
# specify the Jekyll environment, empty means both
114113
# only works if `assets.self_host.enabled` is 'true'
115114
env: # [development|production]

_data/contact.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@
66
-
77
type: twitter
88
icon: 'fab fa-twitter'
9-
-
10-
type: email
11-
icon: 'fas fa-envelope'
12-
noblank: true # open link in current tab
139
-
1410
type: rss
1511
icon: 'fas fa-rss'
1612
noblank: true
1713

1814
# Uncomment and complete the url below to enable more contact options
1915
# -
16+
# type: email
17+
# icon: 'fas fa-envelope'
18+
# noblank: true # open link in current tab
19+
# -
2020
# type: mastodon
2121
# icon: 'fab fa-mastodon' # icons powered by <https://fontawesome.com/>
2222
# url: '' # Fill with your mastodon account page

_posts/2020-07-16-hello-world.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
layout: post
3+
title: 'Hello World!'
4+
date: 2020-07-16 -0500
5+
category: 'General'
6+
tags: 'general'
7+
---
8+
9+
Finally, I have a blog set up.
10+
11+
Hello World
12+
13+
I decided to use [Jekyll](https://jekyllrb.com/) and [GitHub Pages](https://pages.github.com/) to host this blog. It's very easy and mostly automated, and it allows me to focus on content, rather than the hosting and layout. I've created a simple theme for that reason.
14+
15+
<!--more-->
16+
17+
I definitely recommend checking out [**barryclark/jekyll-now**](https://github.com/barryclark/jekyll-now) to get started if you're interested in doing the same.
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
---
2+
layout: post
3+
title: 'Adding build versions in Angular'
4+
date: 2021-03-04 19:30:00 -0500
5+
edit: 2021-03-05 10:30:00 -0500
6+
category: 'CI/CD'
7+
tags: ['angular', 'pipeline', 'ops']
8+
---
9+
10+
Have you ever found yourself wondering which version of an SPA is running when you pull up your site? This was a problem I wanted to answer in my Angular SPA. Utilizing the `npm version` command in my build pipeline, I was able to include my pipeline build number in my app, significantly decreased troubleshooting time and version confusion.
11+
12+
<!--more-->
13+
14+
## Some considerations
15+
16+
Keep in mind, your build version numbers will need to be compliant with [normalized SEMVER2](https://github.com/NuGet/Home/wiki/SemVer-2.0.0-support#spec) to be valid for NPM.
17+
18+
### 1) Adding node types to Angular
19+
20+
In your `tsconfig.app.json` file, add `node` to the `types` array. If there is not a already `types` array, add it under `compilerOptions` in the json root.
21+
22+
```json
23+
{
24+
"compilerOptions": {
25+
"types": ["node"]
26+
}
27+
}
28+
```
29+
30+
### 2) Adding environment variables
31+
32+
Find your `environment` constant in `src/environments`. You should see two files, one for prod, `environment.prod.ts`, and one for not-prod, `environment.ts`. In production, I keep it simple and add the `appVersion` variable without any changes.
33+
34+
```js
35+
export const environment = {
36+
appVersion: require('../../package.json').version,
37+
production: true,
38+
base: 'area',
39+
};
40+
```
41+
42+
In the non-production environment though, I like to add a dev tag.
43+
44+
```js
45+
// comment
46+
appVersion: require('../../package.json').version + '--dev';
47+
```
48+
49+
This helps me remember if I'm in a non production environment, because there is nothing worse than troubleshooting a problem in the wrong environment.
50+
51+
### 3) Adding the version to an Angular component
52+
53+
Likewise this is easier than it sounds. Now that the node types and version variable are available, they just need to be accessed and displayed somewhere in the app. I prefer to add this to the bootstrapped component, which is usually `AppComponent`. This best way I've found to do this is with a host binding.
54+
55+
**Note**: _You do not need to specify `prod` vs `non-prod` in your environment import. When Angular builds, it will use the production environment if the `--prod` build flag is used._
56+
57+
```js
58+
import { Component, HostBinding } from '@angular/core';
59+
import { environment } from 'src/environments/environment';
60+
61+
@Component({
62+
...
63+
})
64+
export class AppComponent {
65+
@HostBinding('attr.app-version') appVersionAttr = environment.appVersion;
66+
}
67+
```
68+
69+
### 4) Adding `npm version` to your pipeline
70+
71+
If your pipeline stack offers automatically created version numbers, just make sure they are compliant with [normalized SEMVER2](https://github.com/NuGet/Home/wiki/SemVer-2.0.0-support#spec). Once you have add a task in your pipeline to run the npm command
72+
73+
```bash
74+
npm version $(build.buildNumber)
75+
```
76+
77+
The build variable above is for [Azure Devops](https://docs.microsoft.com/en-us/azure/devops/?view=azure-devops) specifically. Your pipeline stack may differ.
78+
79+
## Last Thoughts
80+
81+
Now that you've added a version number, build, build, build and check then check your work. You should see an html attribute on whatever html element you added the host binding to. For me it looks like this:
82+
83+
```html
84+
<app-root app-version="3.1.28-master"></app-root>
85+
```
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
layout: post
3+
title: 'Creating a super Outlook SPAM Rule'
4+
date: 2021-03-23 22:40:00 -0500
5+
category: 'General'
6+
tags: ['outlook', 'spam']
7+
---
8+
9+
After signing up for several virtual conferences in 2020, I noticed my work inbox was becoming inundated with junk email. Now this being my work email, I don't use it for any personal correspondence, and frankly never respond to anyone outside of my work's domain. Using Outlook online's email rules, I was able to eliminate all SPAM from my inbox in one easy move.
10+
11+
<!--more-->
12+
13+
## Notes
14+
15+
So, I'll start off saying here my situation may be unique. I only care about email from people inside my organization. If that's not the case for you, this definitely won't work for you. I'll also say I have a lot of other rules that run ahead of this rule to pick up any external email that I might care about. Like notifications from Azure or external monitoring notifications. Those are important and have their own rules governing how they're handled.
16+
17+
## Into the Clouds!
18+
19+
These rules work best when created in the online version of the Outlook client. If they are created on a specific, local client, they will only run when that client is running. When created in the _cloud_ they will always run. My organization uses [Office 365](https://outlook.office365.com/mail/inbox) so I headed there.
20+
21+
## Find your rules
22+
23+
For me, the easiest way to pull up email rules is to click on the settings icon (gear/cog) in the top right. From there I click `View all Outlook settings` near the bottom of the panel that appears. This will pull up another menu. With `Mail` selected, I click `rules` from the options on the left. If you have other rules set up already, you should see them here.
24+
25+
## SPAM be gone
26+
27+
From here click `Add new rule`. A create rule screen will appear and you can start setting up the rule. I named my rule "Not from {organization} is Junk". Under condition choose `Apply to all messages`. This may seem wrong at first, but it will make more sense in a second.
28+
29+
![Rules](/assets/img/outlook-spam-rules.png)
30+
31+
Add the action to `Move to` the `Junk Email` folder, and for an added nicety, Add anohter action to set `Mark as read` too.
32+
33+
Lastly, and most importantly, set the exception. The rules here can be tailored to meet your needs, but for me, `Sender address includes` and then my {@organization.com} did the trick.
34+
35+
## Finally
36+
37+
Now my inbox is much leaner. Occasionally I will check the junk folder just to see if I miseed anything, but so far I haven't.

0 commit comments

Comments
 (0)