diff --git a/README.md b/README.md
index d199bf4..2e64270 100644
--- a/README.md
+++ b/README.md
@@ -5,5 +5,4 @@
- clean up styling
- add redirects for old slug to new slug
- 404 protection: https://remysharp.com/2023/09/26/no-more-404
-- allow `published: false`
- add search: https://pagefind.app/
diff --git a/app/article-data.js b/app/article-data.js
index 1d3c1a1..9f15e1a 100644
--- a/app/article-data.js
+++ b/app/article-data.js
@@ -2,42 +2,49 @@ let articles =
[
{
"slug": "theme-pact",
+ "published": true,
"title": "Theme Pact: Goal Setting Framework with no Goals",
"date": "2023-02-02",
"description": "Pulling from several sources, my framework for goal setting includes:
- Theme: a guiding light, a default decision
- PACT Goals: specific personal outputs I commit to
- Habits: systems for making sure I achieve those outputs
"
},
{
"slug": "conventional-comments",
+ "published": true,
"title": "Conventional Comments: Streamlining Feedback",
"date": "2022-03-15",
"description": "How I use Conventional Comments to make it clear (1) what kind of comment it is, (2) what specifically I want, and (3) how important it is that my comment is resolved."
},
{
"slug": "detangling-the-code-review",
+ "published": true,
"title": "Detangling the Code Review: Questions, Preferences, Suggestions, Conventions, Requirements",
"date": "2022-03-14",
"description": "Teams can have more effective code reviews if they default to approval and have a framework for delivering and managing feedback."
},
{
"slug": "detangling-the-standup",
+ "published": true,
"title": "Detangling the Standup: Status Reports, Team Planning, Context Sharing, and Community Building",
"date": "2022-01-04",
"description": "Standups are often applied without understanding the problem they are solving. This leads to:
1. Not clearly solving a specific problem
2. Not solving a problem with the best solution
3. A daily interruption to deep work
What follows is a pragmatic and ideal approach to resolving this situation. The pragmatic approach is to understand so you can excel within that system. The ideal solution tries to change the system to better serve the team."
},
{
"slug": "detangling-the-manager",
+ "published": true,
"title": "Detangling the Manager: Supervisor, Team Lead, Mentor",
"date": "2021-11-18",
"description": "The term Manager means a lot of different things to different companies. It can include Project Manager, Product Manager, Technical Lead, Team Lead, Mentor, Coach, Supervisor, as well as Individual Contributor. Most often, in my experience, a manager is responsible for at least these roles: Supervisor, Mentor, and Team Lead.
There is great value in having those roles played by separate people."
},
{
"slug": "developers-guide-a11y",
+ "published": true,
"title": "A Developer's Guide to Better Accessibility",
"date": "2017-12-07",
"description": "Melanie Sumner and I wrote about the Six Pillars of Accessibility as a structured guide for developers to move the needle on accessibility."
},
{
"slug": "how-to-start-linting-projects",
+ "published": true,
"title": "An Incremental Approach to Linting to Your Projects",
"date": "2017-08-08",
"description": "I have gone through the process of adding linting to existing, large projects a couple of times. I've learned some lessons about how to approach this so that it's not disruptive to the team doing other work. Follow these steps to get robust linting into your project without pulling team velocity to a halt!"
diff --git a/app/templates/articles.gjs b/app/templates/articles.gjs
index 69f2201..365fcef 100644
--- a/app/templates/articles.gjs
+++ b/app/templates/articles.gjs
@@ -5,9 +5,11 @@ import articles from '../article-data';
export default RouteTemplate(
{{#each articles as |article|}}
-
+ {{#if article.published}}
+
+ {{/if}}
{{/each}}
);
diff --git a/package.json b/package.json
index beae5a5..516c97d 100644
--- a/package.json
+++ b/package.json
@@ -43,6 +43,7 @@
"ember-svg-jar": "^2.4.6",
"ember-template-imports": "^3.4.2",
"ember-template-lint": "^5.11.2",
+ "ember-truth-helpers": "^4.0.3",
"loader.js": "^4.7.0",
"prember": "^2.0.0",
"qunit": "^2.19.4",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 4c37f17..1b16ff9 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -104,6 +104,9 @@ devDependencies:
ember-template-lint:
specifier: ^5.11.2
version: 5.11.2
+ ember-truth-helpers:
+ specifier: ^4.0.3
+ version: 4.0.3(ember-source@5.2.0)
loader.js:
specifier: ^4.7.0
version: 4.7.0
@@ -5556,6 +5559,24 @@ packages:
- supports-color
dev: true
+ /ember-cli-typescript@5.2.1:
+ resolution: {integrity: sha512-qqp5TAIuPHxHiGXJKL+78Euyhy0zSKQMovPh8sJpN/ZBYx0H90pONufHR3anaMcp1snVfx4B+mb9+7ijOik8ZA==}
+ engines: {node: '>= 12.*'}
+ dependencies:
+ ansi-to-html: 0.6.15
+ broccoli-stew: 3.0.0
+ debug: 4.3.4
+ execa: 4.1.0
+ fs-extra: 9.1.0
+ resolve: 1.22.4
+ rsvp: 4.8.5
+ semver: 7.5.4
+ stagehand: 1.0.1
+ walk-sync: 2.2.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/ember-cli-version-checker@3.1.3:
resolution: {integrity: sha512-PZNSvpzwWgv68hcXxyjREpj3WWb81A7rtYNQq1lLEgrWIchF8ApKJjWP3NBpHjaatwILkZAV8klair5WFlXAKg==}
engines: {node: 6.* || 8.* || >= 10.*}
@@ -5812,6 +5833,20 @@ packages:
- supports-color
dev: true
+ /ember-functions-as-helper-polyfill@2.1.2(ember-source@5.2.0):
+ resolution: {integrity: sha512-yvW6xykvZEIYzzwlrC/g9yu6LtLkkj5F+ho6U+BDxN1uREMgoMOZnji7sSILn5ITVpaJ055DPcO+utEFD7IZOA==}
+ engines: {node: '>= 14.0.0'}
+ peerDependencies:
+ ember-source: ^3.25.0 || >=4.0.0
+ dependencies:
+ ember-cli-babel: 7.26.11
+ ember-cli-typescript: 5.2.1
+ ember-cli-version-checker: 5.1.2
+ ember-source: 5.2.0(@babel/core@7.22.17)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.88.2)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/ember-inflector@4.0.2:
resolution: {integrity: sha512-+oRstEa52mm0jAFzhr51/xtEWpCEykB3SEBr7vUg8YnXUZJ5hKNBppP938q8Zzr9XfJEbzrtDSGjhKwJCJv6FQ==}
engines: {node: 10.* || 12.* || >= 14}
@@ -6078,6 +6113,18 @@ packages:
- supports-color
dev: true
+ /ember-truth-helpers@4.0.3(ember-source@5.2.0):
+ resolution: {integrity: sha512-T6Ogd3pk9FxYiZfSxdjgn3Hb3Ksqgw7CD23V9qfig9jktNdkNEHo4+3PA3cSD/+3a2kdH3KmNvKyarVuzdtEkA==}
+ peerDependencies:
+ ember-source: '>=3.28.0'
+ dependencies:
+ '@embroider/addon-shim': 1.8.6
+ ember-functions-as-helper-polyfill: 2.1.2(ember-source@5.2.0)
+ ember-source: 5.2.0(@babel/core@7.22.17)(@glimmer/component@1.1.2)(rsvp@4.8.5)(webpack@5.88.2)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
dev: true