Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,16 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v7
- name: Install, build, and upload site
uses: withastro/action@v6
- name: Configure Pages
uses: actions/configure-pages@v5
- name: Prepare site
run: |
mkdir _site
cp index.html styles.css favicon.svg og.png CNAME _site/
- name: Upload site
uses: actions/upload-pages-artifact@v4
with:
node-version: 24
path: _site

deploy:
if: github.event_name != 'pull_request'
Expand Down
File renamed without changes.
43 changes: 7 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,17 @@
# daniissac.com

The source for [daniissac.com](https://daniissac.com), a technical publication and project hub focused on networks, observability, technical learning, and practical tools.
The source for [daniissac.com](https://daniissac.com), a concise professional profile focused on network engineering, observability, and technical education.

## Local development
## Local preview

Requires Node.js 22.12 or newer.
The site uses plain HTML and CSS with no packages or build step.

```bash
npm install
npm run dev
python3 -m http.server 4173
```

## Content
Then open `http://127.0.0.1:4173/`.

- Writing: `src/data/writing/`
- Project overviews: `src/data/projects/`
- Shared site copy: `src/config.ts`
- Public assets: `public/`
## Deployment

## Publishing an article

Create a draft with a consistent filename, frontmatter, and network-focused outline:

```bash
npm run new:article -- "How DNS Resolution Actually Works"
```

The command prints the generated file and its local preview path. Drafts are available by direct URL during local
development, but they are excluded from production pages, RSS, the sitemap, and `llms.txt`.

1. Frame one reader question and define the practical outcome.
2. Develop the explanation around observable evidence, a useful mental model, practical checks, and known limits.
3. Keep `draft: true` while writing and preview with `npm run dev`.
4. Replace every placeholder, verify links, commands, code, citations, and image alt text.
5. Set `publishedDate` to the release date and change `draft` to `false`.
6. Run `npm test`, open a pull request, and merge after the build passes.
7. Publish a shorter LinkedIn version that links back to the site as the canonical article.

## Verification

```bash
npm test
```

The production build is written to `dist/`. GitHub Actions publishes `main` to GitHub Pages while preserving the custom domain.
GitHub Actions publishes the files from `main` to GitHub Pages while preserving the custom domain.
13 changes: 0 additions & 13 deletions astro.config.mjs

This file was deleted.

5 changes: 5 additions & 0 deletions favicon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
57 changes: 57 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="Dani Issac works across network engineering, observability, technical demonstrations, and learning design.">
<link rel="canonical" href="https://daniissac.com/">
<link rel="icon" href="/favicon.svg?v=2">
<meta property="og:title" content="Dani Issac — Network engineering and technical education">
<meta property="og:description" content="Technical work and learning experiences focused on observable network behavior.">
<meta property="og:image" content="https://daniissac.com/og.png">
<meta name="twitter:card" content="summary_large_image">
<title>Dani Issac — Network engineering and technical education</title>
<link rel="stylesheet" href="/styles.css?v=5">
</head>
<body>
<a class="skip" href="#main">Skip to content</a>

<header class="shell">
<a class="brand" href="/">
<img src="/favicon.svg?v=2" width="34" height="34" alt="">
<span>Dani Issac</span>
</a>
<nav aria-label="Primary navigation">
<a href="https://www.linkedin.com/in/daniissac">LinkedIn ↗</a>
</nav>
</header>

<main class="shell" id="main">
<section class="intro">
<p class="kicker">Network engineering · Observability · Technical education</p>
<h1>Dani Issac</h1>
<p class="standfirst">I believe network behavior is easier to learn when you can see it. At Cisco, I design technical demonstrations and learning experiences that connect protocols and telemetry to what engineers observe in practice.</p>
</section>

<section id="work" aria-labelledby="work-title">
<h2 id="work-title">Selected work</h2>
<article>
<p class="meta">Interactive learning experience</p>
<h3>Internet in Motion</h3>
<p>Follow one request from a device to a website through DNS, routing, packets, transport, and web performance. The eight-chapter experience connects each concept to behavior learners can see and change.</p>
<a class="project-link" href="https://daniissac.com/internet-in-motion/">Explore Internet in Motion ↗</a>
</article>
</section>

<section id="about" aria-labelledby="about-title">
<h2 id="about-title">About</h2>
<p>I have spent seven years at Cisco across enterprise consulting, ThousandEyes network support, observability, and technical learning.</p>
<p class="credentials"><a href="https://www.credly.com/badges/8a0e23ca-ca16-4268-a2f0-812fde6e8399/linked_in_profile">CCNP Enterprise</a> · <a href="https://www.credly.com/badges/5587d2f8-f5d9-49fa-be50-d0e97076a578/linked_in_profile">AWS Solutions Architect – Associate</a> · BTech Computer Science</p>
</section>
</main>

<footer class="shell">
<span>© 2026 Dani Issac</span>
</footer>
</body>
</html>
File renamed without changes
Loading
Loading