-
Notifications
You must be signed in to change notification settings - Fork 22
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
67 changed files
with
4,948 additions
and
9,774 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
<template> | ||
<footer class="vp-doc intellitect-footer"> | ||
<hr style="margin: 70px 0" /> | ||
<div class="content"> | ||
<a href="https://www.intellitect.com"> | ||
<img class="dark-only" src="/intellitect-text-white.svg" /> | ||
|
||
<img class="light-only" src="/intellitect-text-black.svg" /> | ||
</a> | ||
<p> | ||
Coalesce is a free and open-source framework created by | ||
<a href="https://intellitect.com" target="_blank" rel="noreferrer"> | ||
IntelliTect | ||
</a> | ||
to fill our desire to create better apps, faster. IntelliTect is a | ||
high-end software architecture and development consulting firm based in | ||
Spokane, Washington. | ||
</p> | ||
<p> | ||
If you're looking for help with your software project, whether it be a | ||
Coalesce application, other technologies, or even just an idea, reach | ||
out to us at | ||
<a href="mailto:[email protected]">[email protected]</a> — we'd | ||
love to start a conversation! | ||
<a | ||
href="https://intellitect.com/our-clients/" | ||
target="_blank" | ||
rel="noreferrer" | ||
> | ||
Our clients | ||
</a> | ||
range from Fortune 100 companies to local small businesses and | ||
non-profits. There is no job too big or small! | ||
</p> | ||
</div> | ||
</footer> | ||
</template> | ||
|
||
<style lang="scss"> | ||
.intellitect-footer { | ||
margin: auto; | ||
text-align: center; | ||
img { | ||
max-height: 6ex; | ||
margin: auto; | ||
} | ||
> .content { | ||
margin: auto; | ||
max-width: 800px; | ||
} | ||
&.page-footer { | ||
hr { | ||
margin-bottom: 20px !important; | ||
} | ||
font-size: 14px; | ||
* { | ||
line-height: 1.75 !important; | ||
} | ||
} | ||
} | ||
</style> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,175 @@ | ||
import { defineConfig } from "vitepress"; | ||
import { registerImportMdPlugin } from "./importMdPlugin"; | ||
|
||
import path from "path"; | ||
import fs from "fs"; | ||
import url from "url"; | ||
import matter from "gray-matter"; | ||
|
||
function autoTitle(link: string) { | ||
const fullPath = path.join( | ||
url.fileURLToPath(import.meta.url), | ||
"../../", | ||
link + (path.extname(link) ? "" : ".md") | ||
); | ||
|
||
const { data, content } = matter(fs.readFileSync(fullPath)); | ||
|
||
// Check if title exists in frontmatter | ||
if (data && data.title && typeof data.title === "string") { | ||
return { text: data.title, link }; | ||
} | ||
|
||
// If title is not in frontmatter, try to find the first H1 heading | ||
const h1Match = content.match(/^#\s+(.+)/m); | ||
if (h1Match && h1Match[1] && typeof h1Match[1] === "string") { | ||
return { text: h1Match[1], link }; | ||
} | ||
|
||
throw Error("Cannot find a title for " + link); | ||
} | ||
|
||
// https://vitepress.dev/reference/site-config | ||
export default defineConfig({ | ||
title: "Coalesce", | ||
description: "Documentation for Coalesce by IntelliTect", | ||
base: "/Coalesce/", | ||
head: [["link", { rel: "shortcut icon", href: "/Coalesce/favicon.ico" }]], | ||
markdown: { | ||
config(md) { | ||
registerImportMdPlugin(md); | ||
}, | ||
theme: "dark-plus", | ||
}, | ||
|
||
themeConfig: { | ||
logo: "/coalesce-icon-color.svg", | ||
outline: { | ||
level: [2,3] | ||
}, | ||
// https://vitepress.dev/reference/default-theme-config | ||
nav: [ | ||
{ text: "Home", link: "/" }, | ||
{ text: "Guide", link: "/introduction", activeMatch: "/.+" }, | ||
], | ||
|
||
sidebar: [ | ||
{ | ||
text: "Introduction", | ||
link: "/introduction", | ||
items: [ | ||
{ text: "Getting Started", link: "/stacks/vue/getting-started" }, | ||
], | ||
}, | ||
{ | ||
text: "Data Modeling", | ||
items: [ | ||
autoTitle("/modeling/model-types/entities"), | ||
autoTitle("/modeling/model-types/external-types"), | ||
autoTitle("/modeling/model-types/dtos"), | ||
autoTitle("/modeling/model-types/services"), | ||
], | ||
}, | ||
{ | ||
text: "Model Customization", | ||
items: [ | ||
// This is deliberately here in a prominent place because its important, | ||
// even though the path is inconsistent with these other pages. | ||
autoTitle("/topics/security"), | ||
autoTitle("/modeling/model-components/properties"), | ||
{ | ||
text: "Attributes", | ||
link: "/modeling/model-components/attributes.html", | ||
collapsed: true, | ||
items: fs | ||
.readdirSync( | ||
path.resolve( | ||
__dirname, | ||
"../modeling/model-components/attributes" | ||
) | ||
) | ||
.map((f) => | ||
autoTitle("/modeling/model-components/attributes/" + f) | ||
), | ||
}, | ||
autoTitle("/modeling/model-components/methods"), | ||
autoTitle("/modeling/model-components/data-sources"), | ||
autoTitle("/modeling/model-components/behaviors"), | ||
], | ||
}, | ||
{ | ||
text: "Frontend - Vue", | ||
link: "/stacks/vue/overview", | ||
// collapsed: false, | ||
items: [ | ||
{ text: "Metadata", link: "/stacks/vue/layers/metadata" }, | ||
{ text: "Models", link: "/stacks/vue/layers/models" }, | ||
{ text: "API Clients", link: "/stacks/vue/layers/api-clients" }, | ||
{ text: "View Models", link: "/stacks/vue/layers/viewmodels" }, | ||
], | ||
}, | ||
{ | ||
text: "Vuetify Components", | ||
collapsed: true, | ||
link: "/stacks/vue/coalesce-vue-vuetify/overview", | ||
items: [ | ||
...fs | ||
.readdirSync( | ||
path.resolve( | ||
__dirname, | ||
"../stacks/vue/coalesce-vue-vuetify/components" | ||
) | ||
) | ||
.map((f) => | ||
autoTitle("/stacks/vue/coalesce-vue-vuetify/components/" + f) | ||
), | ||
], | ||
}, | ||
{ | ||
text: "Topics", | ||
items: [ | ||
{ text: "Config: ASP.NET Core", link: "/topics/startup" }, | ||
autoTitle("/topics/audit-logging"), | ||
{ text: "Config: Code Gen", link: "/topics/coalesce-json" }, | ||
autoTitle("/concepts/include-tree"), | ||
autoTitle("/concepts/includes"), | ||
|
||
{ text: "Vue 2 to Vue 3", link: "/stacks/vue/vue2-to-vue3" }, | ||
{ | ||
text: "Generated Code", | ||
link: "/stacks/agnostic/generation", | ||
collapsed: true, | ||
items: [autoTitle("/stacks/agnostic/dtos")], | ||
}, | ||
].sort((a, b) => a.text.localeCompare(b.text)), | ||
}, | ||
{ | ||
text: "Knockout (legacy)", | ||
collapsed: true, | ||
items: [ | ||
autoTitle("/stacks/ko/overview"), | ||
autoTitle("/stacks/ko/getting-started"), | ||
autoTitle("/stacks/ko/client/view-model"), | ||
autoTitle("/stacks/ko/client/list-view-model"), | ||
autoTitle("/stacks/ko/client/external-view-model"), | ||
autoTitle("/stacks/ko/client/methods"), | ||
autoTitle("/stacks/ko/client/model-config"), | ||
autoTitle("/stacks/ko/client/bindings"), | ||
], | ||
}, | ||
], | ||
|
||
socialLinks: [ | ||
{ icon: "github", link: "https://github.com/IntelliTect/Coalesce" }, | ||
], | ||
|
||
search: { | ||
provider: "algolia", | ||
options: { | ||
appId: "SDGLJOI8GP", | ||
apiKey: "7aac3b70e2be40bd6bb55bc603e7bf46", | ||
indexName: "coalesce", | ||
}, | ||
}, | ||
}, | ||
}); |
Oops, something went wrong.