Skip to content

Commit 11d570e

Browse files
committed
scaffold in project
1 parent 9503b01 commit 11d570e

File tree

2 files changed

+34
-12
lines changed

2 files changed

+34
-12
lines changed

src/command/create/artifacts/project.ts

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,31 @@ import "../../../project/types/register.ts";
2727

2828
const kProjectTypes = projectTypes();
2929
const kProjectTypeAliases = projectTypeAliases();
30-
const kProjectTypesAndAliases = [...kProjectTypes, ...kProjectTypeAliases];
30+
const kProjectTypesAndAliases = [
31+
...kProjectTypes,
32+
...kProjectTypeAliases,
33+
];
3134

3235
const kType = "type";
3336
const kSubdirectory = "subdirectory";
3437

3538
const kBlogTypeAlias = "blog";
39+
const kConfluenceAlias = "confluence";
3640

3741
const kTypeProj = "project";
3842

39-
const kProjectCreateTypes = [...kProjectTypes, kBlogTypeAlias];
40-
const kProjectTypeOrder = ["default", "website", kBlogTypeAlias, "book"];
43+
const kProjectCreateTypes = [
44+
...kProjectTypes,
45+
kBlogTypeAlias,
46+
kConfluenceAlias,
47+
];
48+
const kProjectTypeOrder = [
49+
"default",
50+
"website",
51+
kBlogTypeAlias,
52+
"book",
53+
kConfluenceAlias,
54+
];
4155

4256
export const projectArtifactCreator: ArtifactCreator = {
4357
displayName: "Project",
@@ -83,6 +97,11 @@ function resolveTemplate(type: string) {
8397
type: "website",
8498
template: "blog",
8599
};
100+
} else if (type === "confluence") {
101+
return {
102+
type: "default",
103+
template: kConfluenceAlias,
104+
};
86105
} else {
87106
return {
88107
type,

src/project/types/project-default.ts

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,20 +13,23 @@ import { kJupyterEngine } from "../../execute/types.ts";
1313
import { ProjectCreate, ProjectScaffoldFile, ProjectType } from "./types.ts";
1414

1515
export const kDefaultProjectFileContents = "{ project: { type: 'default' } }";
16+
export const kConfluence = "confluence";
1617

1718
export const defaultProjectType: ProjectType = {
1819
type: "default",
20+
templates: [kConfluence],
1921

20-
formatLibDirs:
21-
() => [
22-
"bootstrap",
23-
"quarto-html",
24-
"quarto-ojs",
25-
"quarto-diagram",
26-
"quarto-contrib",
27-
],
22+
formatLibDirs: () => [
23+
"bootstrap",
24+
"quarto-html",
25+
"quarto-ojs",
26+
"quarto-diagram",
27+
"quarto-contrib",
28+
],
29+
30+
create: (title: string, _template?: string): ProjectCreate => {
31+
// TODO: Conditionalize based upon `template` above
2832

29-
create: (title: string): ProjectCreate => {
3033
const resourceDir = resourcePath(join("projects", "default"));
3134
return {
3235
configTemplate: join(resourceDir, "templates", "_quarto.ejs.yml"),

0 commit comments

Comments
 (0)