Skip to content

Commit c2659f9

Browse files
committed
Initial commit
0 parents  commit c2659f9

13 files changed

Lines changed: 2912 additions & 0 deletions

File tree

.github/workflows/deploy.yml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Deploy VitePress site to Pages
2+
on:
3+
push:
4+
branches: [master]
5+
6+
workflow_dispatch:
7+
8+
permissions:
9+
contents: read
10+
pages: write
11+
id-token: write
12+
13+
concurrency:
14+
group: pages
15+
cancel-in-progress: false
16+
17+
jobs:
18+
build:
19+
runs-on: ubuntu-latest
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@v5
23+
with:
24+
fetch-depth: 0
25+
- uses: oven-sh/setup-bun@v1
26+
- name: Setup Node
27+
uses: actions/setup-node@v6
28+
with:
29+
node-version: 24
30+
cache: npm
31+
- name: Setup Pages
32+
uses: actions/configure-pages@v4
33+
- name: Install dependencies
34+
run: bun install
35+
- name: Build with VitePress
36+
run: bun run docs:build
37+
- name: Upload artifact
38+
uses: actions/upload-pages-artifact@v3
39+
with:
40+
path: .vitepress/dist
41+
42+
deploy:
43+
environment:
44+
name: github-pages
45+
url: ${{ steps.deployment.outputs.page_url }}
46+
needs: build
47+
runs-on: ubuntu-latest
48+
name: Deploy
49+
steps:
50+
- name: Deploy to GitHub Pages
51+
id: deployment
52+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
node_modules
2+
.idea
3+
.vitepress/cache

.vitepress/config.mts

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
import {defineConfig} from 'vitepress'
2+
3+
export default defineConfig({
4+
title: "C3Build",
5+
head: [
6+
["link", { rel: "icon", href: "../logo.png" }],
7+
],
8+
themeConfig: {
9+
nav: [
10+
{text: 'Home', link: '/'},
11+
{text: 'Docs', link: '/docs'},
12+
],
13+
socialLinks: [
14+
{icon: 'github', link: 'https://github.com/c3build'}
15+
],
16+
logo: {
17+
src: "logo.png"
18+
},
19+
},
20+
markdown: {
21+
languages: [
22+
{
23+
name: "C3BuildFile",
24+
scopeName: "source.c3build",
25+
fileTypes: ["C3BuildFile"],
26+
aliases: ["c3build", "C3Build"],
27+
patterns: [
28+
{
29+
include: "#comments"
30+
},
31+
{
32+
include: "#strings"
33+
},
34+
{
35+
include: "#keywords"
36+
},
37+
{
38+
include: "#versionNumbers"
39+
},
40+
{
41+
include: "#identifiers"
42+
},
43+
{
44+
include: "#punctuation"
45+
}
46+
],
47+
repository: {
48+
comments: {
49+
name: "comment.line.c3build",
50+
match: /--[^\n]*/
51+
},
52+
strings: {
53+
name: "string.quoted.double.c3build",
54+
begin: /"/,
55+
end: /"/,
56+
patterns: [
57+
{
58+
name: "constant.character.escape.c3build",
59+
match: /\\./
60+
}
61+
]
62+
},
63+
versionNumbers: {
64+
name: "constant.numeric.version.c3build",
65+
match: /[0-9]+\.[0-9]+\.[0-9]+/
66+
},
67+
identifiers: {
68+
name: "variable.other.c3build",
69+
match: /[a-zA-Z][a-zA-Z_]*/
70+
},
71+
punctuation: {
72+
name: "punctuation.bracket.c3build",
73+
match: /[()]/
74+
},
75+
keywords: {
76+
patterns: [
77+
{
78+
name: "keyword.control.c3build",
79+
match: /\b(ifdef|endif|task|endtask)\b/
80+
},
81+
{
82+
name: "constant.language.c3build",
83+
match: /\b(VERSION|MIN|MAX|LIB|EXE|LINK|DIR|FILE)\b/
84+
},
85+
{
86+
name: "support.function.c3build",
87+
match: /\b(compiler|project|require|find|option|cmd|program|create|copy|print|remove|add)\b/
88+
}
89+
]
90+
}
91+
}
92+
}
93+
]
94+
}
95+
})

.vitepress/theme/index.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import {h} from 'vue'
2+
import type {Theme} from 'vitepress'
3+
import DefaultTheme from 'vitepress/theme'
4+
import './style.css'
5+
6+
export default {
7+
extends: DefaultTheme,
8+
Layout: () => {
9+
return h(DefaultTheme.Layout, null, {})
10+
},
11+
enhanceApp({app, router, siteData}) {
12+
}
13+
} satisfies Theme

.vitepress/theme/style.css

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
:root {
2+
--vp-c-default-1: var(--vp-c-gray-1);
3+
--vp-c-default-2: var(--vp-c-gray-2);
4+
--vp-c-default-3: var(--vp-c-gray-3);
5+
--vp-c-default-soft: var(--vp-c-gray-soft);
6+
7+
--vp-c-brand-1: var(--vp-c-indigo-1);
8+
--vp-c-brand-2: var(--vp-c-indigo-2);
9+
--vp-c-brand-3: var(--vp-c-indigo-3);
10+
--vp-c-brand-soft: var(--vp-c-indigo-soft);
11+
12+
--vp-c-tip-1: var(--vp-c-brand-1);
13+
--vp-c-tip-2: var(--vp-c-brand-2);
14+
--vp-c-tip-3: var(--vp-c-brand-3);
15+
--vp-c-tip-soft: var(--vp-c-brand-soft);
16+
17+
--vp-c-warning-1: var(--vp-c-yellow-1);
18+
--vp-c-warning-2: var(--vp-c-yellow-2);
19+
--vp-c-warning-3: var(--vp-c-yellow-3);
20+
--vp-c-warning-soft: var(--vp-c-yellow-soft);
21+
22+
--vp-c-danger-1: var(--vp-c-red-1);
23+
--vp-c-danger-2: var(--vp-c-red-2);
24+
--vp-c-danger-3: var(--vp-c-red-3);
25+
--vp-c-danger-soft: var(--vp-c-red-soft);
26+
}
27+
28+
:root {
29+
--vp-button-brand-border: transparent;
30+
--vp-button-brand-text: var(--vp-c-white);
31+
--vp-button-brand-bg: var(--vp-c-brand-3);
32+
--vp-button-brand-hover-border: transparent;
33+
--vp-button-brand-hover-text: var(--vp-c-white);
34+
--vp-button-brand-hover-bg: var(--vp-c-brand-2);
35+
--vp-button-brand-active-border: transparent;
36+
--vp-button-brand-active-text: var(--vp-c-white);
37+
--vp-button-brand-active-bg: var(--vp-c-brand-1);
38+
}
39+
40+
:root {
41+
--vp-home-hero-name-color: transparent;
42+
--vp-home-hero-name-background: -webkit-linear-gradient(
43+
120deg,
44+
#ffccff 30%,
45+
#41d1ff
46+
);
47+
48+
--vp-home-hero-image-background-image: linear-gradient(
49+
-45deg,
50+
#c3a1c3 50%,
51+
#6794a6 50%
52+
);
53+
--vp-home-hero-image-filter: blur(44px);
54+
}
55+
56+
@media (min-width: 640px) {
57+
:root {
58+
--vp-home-hero-image-filter: blur(56px);
59+
}
60+
}
61+
62+
@media (min-width: 960px) {
63+
:root {
64+
--vp-home-hero-image-filter: blur(68px);
65+
}
66+
}
67+
68+
:root {
69+
--vp-custom-block-tip-border: transparent;
70+
--vp-custom-block-tip-text: var(--vp-c-text-1);
71+
--vp-custom-block-tip-bg: var(--vp-c-brand-soft);
72+
--vp-custom-block-tip-code-bg: var(--vp-c-brand-soft);
73+
}
74+
75+
.DocSearch {
76+
--docsearch-primary-color: var(--vp-c-brand-1) !important;
77+
}

components/HomeComponent.vue

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
<script setup>
2+
3+
</script>
4+
5+
<template>
6+
<div :class="$style.main">
7+
<div :class="$style.section">
8+
<div :class="$style.info">
9+
<h1>IntelliJ Plugin</h1>
10+
<p>
11+
C3Build offers a feature-rich Plugin for the IntelliJ IDEA Platform.
12+
It includes Syntax highlighting, Code completion and a Task toolbar similar to the Gradle plugin.
13+
</p>
14+
</div>
15+
<img alt="promo" src="../promo-ij.png"/>
16+
</div>
17+
<div :class="$style.section">
18+
<img alt="promo" src="../promo-ts.png"/>
19+
<div :class="$style.info">
20+
<h1>TreeSitter Grammar</h1>
21+
<p>
22+
C3Build also has a TreeSitter grammar available for use in editors like Vim/NeoVim, Emacs and more.
23+
</p>
24+
</div>
25+
</div>
26+
</div>
27+
</template>
28+
29+
<style module>
30+
.main {
31+
translate: 0 100px;
32+
display: flex;
33+
gap: 100px;
34+
flex-direction: column;
35+
}
36+
37+
.section {
38+
display: flex;
39+
gap: 20px;
40+
align-items: center;
41+
42+
.info {
43+
width: 30%;
44+
45+
p {
46+
color: gray;
47+
}
48+
}
49+
50+
img {
51+
width: 70%;
52+
}
53+
}
54+
</style>

0 commit comments

Comments
 (0)