Style headings and quote
This commit is contained in:
parent
e2caed41b9
commit
9500c309d1
@ -187,14 +187,16 @@ body { font-family: 'Source Sans 3', sans-serif; }
|
|||||||
line-height: 1.75;
|
line-height: 1.75;
|
||||||
}
|
}
|
||||||
|
|
||||||
.blogex-post-body h2 { font-size: 1.5rem; font-weight: 600; margin-top: 2rem; margin-bottom: 0.5rem; }
|
.blogex-post-body h1 { font-family: 'Fraunces', serif; font-size: 1.75rem; font-weight: 700; margin-top: 2.5rem; margin-bottom: 0.5rem; }
|
||||||
.blogex-post-body h3 { font-size: 1.25rem; font-weight: 600; margin-top: 1.5rem; margin-bottom: 0.5rem; }
|
.blogex-post-body h2 { font-family: 'Fraunces', serif; font-size: 1.5rem; font-weight: 600; margin-top: 2rem; margin-bottom: 0.5rem; }
|
||||||
|
.blogex-post-body h3 { font-family: 'Fraunces', serif; font-size: 1.25rem; font-weight: 600; margin-top: 1.5rem; margin-bottom: 0.5rem; }
|
||||||
.blogex-post-body p { margin-top: 1rem; }
|
.blogex-post-body p { margin-top: 1rem; }
|
||||||
.blogex-post-body ul { list-style: disc; padding-left: 1.5rem; margin-top: 0.5rem; }
|
.blogex-post-body ul { list-style: disc; padding-left: 1.5rem; margin-top: 0.5rem; }
|
||||||
.blogex-post-body ol { list-style: decimal; padding-left: 1.5rem; margin-top: 0.5rem; }
|
.blogex-post-body ol { list-style: decimal; padding-left: 1.5rem; margin-top: 0.5rem; }
|
||||||
.blogex-post-body pre { background: oklch(var(--color-base-200)); padding: 1rem; border-radius: 0.5rem; overflow-x: auto; margin-top: 1rem; }
|
.blogex-post-body pre { background: oklch(var(--color-base-200)); padding: 1rem; border-radius: 0.5rem; overflow-x: auto; margin-top: 1rem; }
|
||||||
.blogex-post-body code { font-size: 0.875em; }
|
.blogex-post-body code { font-size: 0.875em; }
|
||||||
.blogex-post-body a { color: oklch(var(--color-primary)); text-decoration: underline; }
|
.blogex-post-body a { color: oklch(var(--color-primary)); text-decoration: underline; }
|
||||||
|
.blogex-post-body blockquote { border-left: 3px solid oklch(var(--color-primary)); padding-left: 1rem; margin-top: 1rem; margin-bottom: 1rem; font-style: italic; opacity: 0.85; }
|
||||||
|
|
||||||
.blogex-tag-list {
|
.blogex-tag-list {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@ -26,9 +26,8 @@ I like "The Art of Action" - detailed, yet practical. So I had a chat with a fro
|
|||||||
|
|
||||||
This was my initial prompt. Full chat transcript in the Further Reading section.
|
This was my initial prompt. Full chat transcript in the Further Reading section.
|
||||||
|
|
||||||
#+begin_quote
|
|
||||||
https://www.chrismdp.com/stop-prompting-start-briefing/ suggests an art of action style backbriefing loop for daily work. I would like to use a local model with pi, the shitty coding agent, instead of claude code. I have trouble publishing blogposts. I have many drafts, marked as CandidateBlogPost in an org-roam directory. I wonder if I could make some kind of pi extension or skill that finds candidate blogposts, helps identify ones that are almost finished, with a suggesion on what to do next for the top 3 almost finished, and suggestions for others on what to add. Probably prioritize recency. I could run that as a cron job in the morning, and create a new daily entry (I use daily entries for org-roam) to get me starte.d Goal would be not to have AI write my posts, but help me finish in pomodori instead of days.
|
> https://www.chrismdp.com/stop-prompting-start-briefing/ suggests an art of action style backbriefing loop for daily work. I would like to use a local model with pi, the shitty coding agent, instead of claude code. I have trouble publishing blogposts. I have many drafts, marked as CandidateBlogPost in an org-roam directory. I wonder if I could make some kind of pi extension or skill that finds candidate blogposts, helps identify ones that are almost finished, with a suggesion on what to do next for the top 3 almost finished, and suggestions for others on what to add. Probably prioritize recency. I could run that as a cron job in the morning, and create a new daily entry (I use daily entries for org-roam) to get me starte.d Goal would be not to have AI write my posts, but help me finish in pomodori instead of days.
|
||||||
#+end_quote
|
|
||||||
|
|
||||||
What I found interesting was that, maybe because I mentioned the links were in an sqlite database, claude desktop spontaneously suggested to create a bash script as part of the skill. I used to have a meta-skill to separate the deterministic parts of agent skills into scripts, but that does not seem to be necessary anymore. I prune my agent setups continuously, only keeping what is needed.
|
What I found interesting was that, maybe because I mentioned the links were in an sqlite database, claude desktop spontaneously suggested to create a bash script as part of the skill. I used to have a meta-skill to separate the deterministic parts of agent skills into scripts, but that does not seem to be necessary anymore. I prune my agent setups continuously, only keeping what is needed.
|
||||||
|
|
||||||
|
|||||||
@ -1,61 +0,0 @@
|
|||||||
# Refactoring Plan for Firehose Blog Controller Tests
|
|
||||||
|
|
||||||
## Context
|
|
||||||
Based on context.md, we have a Phoenix blog controller with repetitive validation tests that need refactoring.
|
|
||||||
|
|
||||||
## Goals
|
|
||||||
1. Extract test helpers to reduce code duplication
|
|
||||||
2. Standardize test naming conventions
|
|
||||||
3. Reorganize tests to follow defensive programming flow
|
|
||||||
4. Add missing negative test coverage
|
|
||||||
5. Create separate contexts for different refactorings
|
|
||||||
|
|
||||||
## Recommended Planner Agents
|
|
||||||
|
|
||||||
### 1. TestHelperExtractor Agent
|
|
||||||
**Purpose**: Handle Smell 1 (Repetitive Validation Tests) and Smell 4 (Redundant Layout Assertions)
|
|
||||||
|
|
||||||
**Tasks**:
|
|
||||||
- Extract page validation test logic into `test_page_fallback/2` helper
|
|
||||||
- Create `assert_has_app_layout/1` helper for layout assertions
|
|
||||||
- Move helpers to support module or test case
|
|
||||||
|
|
||||||
**Context Isolation**: This can run in a separate test context without affecting controller logic.
|
|
||||||
|
|
||||||
### 2. TestOrganizer Agent
|
|
||||||
**Purpose**: Handle Smell 5 (Test Order) and Smell 3 (Inconsistent Naming)
|
|
||||||
|
|
||||||
**Tasks**:
|
|
||||||
- Reorder test blocks: validation first, then success cases, then edge cases
|
|
||||||
- Standardize all test descriptions to follow pattern: "GET /blog/:type/:slug returns [result]"
|
|
||||||
- Rename describe blocks to follow semantic order
|
|
||||||
|
|
||||||
**Context Isolation**: Pure test organization, no production code changes.
|
|
||||||
|
|
||||||
### 3. CoverageExpander Agent
|
|
||||||
**Purpose**: Handle Smell 2 (Missing Negative Tests) and Smell 8 (Edge Cases)
|
|
||||||
|
|
||||||
**Tasks**:
|
|
||||||
- Add test for unknown blog_id (`/blog/invalid`)
|
|
||||||
- Add test for empty page parameter (`?page=`)
|
|
||||||
- Add test for very large page numbers
|
|
||||||
- Add test for invalid blog halt behavior (Smell 6)
|
|
||||||
|
|
||||||
**Context Isolation**: Adds new tests without modifying existing logic.
|
|
||||||
|
|
||||||
### 4. ResponseHelperCreator Agent
|
|
||||||
**Purpose**: Handle Smell 7 (Mixed Response Types)
|
|
||||||
|
|
||||||
**Tasks**:
|
|
||||||
- Create `assert_html/2` and `assert_json/2` helpers
|
|
||||||
- Ensure proper content-type verification
|
|
||||||
- Update existing tests to use new helpers
|
|
||||||
|
|
||||||
## Execution Strategy
|
|
||||||
Run each agent in isolated contexts:
|
|
||||||
1. TestHelperExtractor → creates helper functions
|
|
||||||
2. ResponseHelperCreator → builds response assertions
|
|
||||||
3. TestOrganizer → reorganizes existing structure
|
|
||||||
4. CoverageExpander → adds new test cases
|
|
||||||
|
|
||||||
This keeps the main thread clean and allows focused changes per agent.
|
|
||||||
Loading…
x
Reference in New Issue
Block a user