Skip to content

Commit c7d9e83

Browse files
authored
feat: add open source projects section to homepage (#76)
* feat: add open source projects section to homepage * fix: audit issues
1 parent e57ab62 commit c7d9e83

File tree

6 files changed

+76
-54
lines changed

6 files changed

+76
-54
lines changed

package.json

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@
5757
"devDependencies": {
5858
"@eslint/js": "^9.19.0",
5959
"@playwright/test": "^1.54.2",
60-
"@semantic-release/changelog": "^6.0.3",
6160
"@semantic-release/git": "^10.0.1",
6261
"@types/istanbul-lib-coverage": "^2.0.6",
6362
"@types/istanbul-lib-report": "^3.0.3",
@@ -96,6 +95,8 @@
9695
},
9796
"pnpm": {
9897
"overrides": {
98+
"lodash": "4.18.1",
99+
"lodash-es": "4.18.1",
99100
"@astrojs/vercel>esbuild": "0.25.0",
100101
"mdast-util-to-hast": "13.2.1",
101102
"@mapbox/node-pre-gyp>tar": "7.5.11",
@@ -111,17 +112,10 @@
111112
"test-exclude>minimatch": "9.0.7",
112113
"flatted": "3.4.2",
113114
"yaml-language-server>ajv": "8.18.0",
114-
"semantic-release>lodash-es": "4.17.23",
115-
"@semantic-release/changelog>lodash": "4.17.23",
116-
"@semantic-release/git>lodash": "4.17.23",
117115
"conventional-changelog-writer>handlebars": "4.7.9",
118116
"minimatch@3.1.4>brace-expansion": "1.1.13",
119117
"picomatch@^2.3.1": "2.3.2",
120118
"picomatch@^4.0.0": "4.0.4",
121-
"mermaid>lodash-es": "4.17.23",
122-
"chevrotain>lodash-es": "4.17.23",
123-
"@chevrotain/cst-dts-gen>lodash-es": "4.17.23",
124-
"@chevrotain/gast>lodash-es": "4.17.23",
125119
"mermaid>dompurify": "3.3.2",
126120
"yaml": "2.8.3"
127121
}

pnpm-lock.yaml

Lines changed: 20 additions & 45 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

public/icons/add-notes.gif

3.58 MB
Loading
4.88 KB
Loading

src/content/docs/index.mdx

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ editUrl: false
1111
publishDate: 2024-09-09
1212
---
1313

14-
import { Card, CardGrid, LinkCard } from '@astrojs/starlight/components';
14+
import { Card } from '@astrojs/starlight/components';
1515
import CardContentCourse from '~/components/CardContent.astro';
1616
import LocalCourseCarousel from '~/components/LocaleCourseCarousel.astro';
1717
import Hero from '~/components/Hero/Hero.astro';
@@ -50,4 +50,40 @@ import HomeFooter from '~/components/HomeFooter.astro';
5050
<br/>
5151
<LocalCourseCarousel title="Node.JS" courseLink="nodejs"/>
5252

53+
## Open Source Projects
54+
55+
Academeez is not only open-sourcing programming education, but also building interesting open source, MIT-licensed projects that are free to use.
56+
Click a project to learn more.
57+
If you find a project interesting, feel free to star it and contribute code.
58+
59+
<div style="width: 100%;">
60+
<Card>
61+
<a
62+
href="https://github.com/ywarezk/vscode-code-highlight"
63+
style="display: block; width: 100%; color: inherit; text-decoration: none; border: 1px solid var(--sl-color-gray-5); border-radius: 0.75rem; padding: 1rem; transition: transform 150ms ease, box-shadow 150ms ease, border-color 150ms ease;"
64+
onmouseenter="this.style.transform='translateY(-2px)'; this.style.borderColor='var(--sl-color-accent-high)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.12)'"
65+
onmouseleave="this.style.transform='translateY(0)'; this.style.borderColor='var(--sl-color-gray-5)'; this.style.boxShadow='none'"
66+
>
67+
<div style="display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem;">
68+
<img
69+
src="/icons/vscode-code-highlight.png"
70+
alt="vscode-code-highlight logo"
71+
style="width: 44px; height: 44px; object-fit: contain;"
72+
/>
73+
<h3 style="margin: 0;">vscode-code-highlight</h3>
74+
</div>
75+
<p style="margin: 0;">
76+
A VS Code extension for highlighting code and adding notes, including a summary slideshow that presents marked snippets with their comments. It is ideal for developers who want to give lectures and document coding projects with focused code walkthroughs.
77+
</p>
78+
<img
79+
src="/icons/add-notes.gif"
80+
alt="vscode-code-highlight demo"
81+
loading="lazy"
82+
decoding="async"
83+
style="display: block; width: 100%; margin-top: 0.9rem; border-radius: 0.6rem; border: 1px solid var(--sl-color-gray-5);"
84+
/>
85+
</a>
86+
</Card>
87+
</div>
88+
5389
<HomeFooter />

tests/homepage.spec.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,21 @@ test.describe('homepage', () => {
1616
const count = await thumbs.count();
1717
expect(count).toBeGreaterThan(0);
1818
});
19+
20+
test('open source project card links to vscode-code-highlight GitHub repo', async ({ page }) => {
21+
await page.goto('/');
22+
23+
const projectLink = page.getByRole('link', { name: /vscode-code-highlight/i });
24+
await expect(projectLink).toBeVisible();
25+
26+
const [response] = await Promise.all([
27+
page.waitForEvent('response', (res) =>
28+
res.url().startsWith('https://github.com/ywarezk/vscode-code-highlight')
29+
),
30+
projectLink.click(),
31+
]);
32+
33+
expect(response.status()).toBeLessThan(400);
34+
expect(page.url()).toContain('https://github.com/ywarezk/vscode-code-highlight');
35+
});
1936
});

0 commit comments

Comments
 (0)