mirror of
https://github.com/AderKonstantin/aderktech-chronark.com-.git
synced 2025-06-08 05:38:41 +03:00
wip
This commit is contained in:
parent
af71bca88b
commit
3bd8276524
@ -1,96 +0,0 @@
|
||||
// contentlayer.config.js
|
||||
import { defineDocumentType, makeSource } from "contentlayer/source-files";
|
||||
import remarkGfm from "remark-gfm";
|
||||
import rehypePrettyCode from "rehype-pretty-code";
|
||||
import rehypeSlug from "rehype-slug";
|
||||
import rehypeAutolinkHeadings from "rehype-autolink-headings";
|
||||
var computedFields = {
|
||||
path: {
|
||||
type: "string",
|
||||
resolve: (doc) => `/${doc._raw.flattenedPath}`,
|
||||
},
|
||||
slug: {
|
||||
type: "string",
|
||||
resolve: (doc) => doc._raw.flattenedPath.split("/").slice(1).join("/"),
|
||||
},
|
||||
};
|
||||
var Project = defineDocumentType(() => ({
|
||||
name: "Project",
|
||||
filePathPattern: "./projects/**/*.mdx",
|
||||
contentType: "mdx",
|
||||
fields: {
|
||||
title: {
|
||||
type: "string",
|
||||
required: true,
|
||||
},
|
||||
description: {
|
||||
type: "string",
|
||||
},
|
||||
date: {
|
||||
type: "date",
|
||||
required: true,
|
||||
},
|
||||
url: {
|
||||
type: "string",
|
||||
required: true,
|
||||
},
|
||||
repository: {
|
||||
type: "string",
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
computedFields,
|
||||
}));
|
||||
var Page = defineDocumentType(() => ({
|
||||
name: "Page",
|
||||
filePathPattern: "pages/**/*.mdx",
|
||||
contentType: "mdx",
|
||||
fields: {
|
||||
title: {
|
||||
type: "string",
|
||||
required: true,
|
||||
},
|
||||
description: {
|
||||
type: "string",
|
||||
},
|
||||
},
|
||||
computedFields,
|
||||
}));
|
||||
var contentlayer_config_default = makeSource({
|
||||
contentDirPath: "./content",
|
||||
documentTypes: [Page, Project, Author, Tech],
|
||||
mdx: {
|
||||
remarkPlugins: [remarkGfm],
|
||||
rehypePlugins: [
|
||||
rehypeSlug,
|
||||
[
|
||||
rehypePrettyCode,
|
||||
{
|
||||
theme: "github-dark",
|
||||
onVisitLine(node) {
|
||||
if (node.children.length === 0) {
|
||||
node.children = [{ type: "text", value: " " }];
|
||||
}
|
||||
},
|
||||
onVisitHighlightedLine(node) {
|
||||
node.properties.className.push("line--highlighted");
|
||||
},
|
||||
onVisitHighlightedWord(node) {
|
||||
node.properties.className = ["word--highlighted"];
|
||||
},
|
||||
},
|
||||
],
|
||||
[
|
||||
rehypeAutolinkHeadings,
|
||||
{
|
||||
properties: {
|
||||
className: ["subheading-anchor"],
|
||||
ariaLabel: "Link to section",
|
||||
},
|
||||
},
|
||||
],
|
||||
],
|
||||
},
|
||||
});
|
||||
export { Page, Project, contentlayer_config_default as default };
|
||||
//# sourceMappingURL=compiled-contentlayer-config-45X2WG6B.mjs.map
|
@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../../contentlayer.config.js"],
|
||||
"sourcesContent": ["import { defineDocumentType, makeSource } from \"contentlayer/source-files\";\nimport remarkGfm from \"remark-gfm\";\nimport rehypePrettyCode from \"rehype-pretty-code\";\nimport rehypeSlug from \"rehype-slug\";\nimport rehypeAutolinkHeadings from \"rehype-autolink-headings\";\n\n/** @type {import('contentlayer/source-files').ComputedFields} */\nconst computedFields = {\n\tpath: {\n\t\ttype: \"string\",\n\t\tresolve: (doc) => `/${doc._raw.flattenedPath}`,\n\t},\n\tslug: {\n\t\ttype: \"string\",\n\t\tresolve: (doc) => doc._raw.flattenedPath.split(\"/\").slice(1).join(\"/\"),\n\t},\n};\n\nexport const Project = defineDocumentType(() => ({\n\tname: \"Project\",\n\tfilePathPattern: \"./projects/**/*.mdx\",\n\tcontentType: \"mdx\",\n\n\tfields: {\n\t\ttitle: {\n\t\t\ttype: \"string\",\n\t\t\trequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: \"string\",\n\t\t},\n\t\tdate: {\n\t\t\ttype: \"date\",\n\t\t\trequired: true,\n\t\t},\n\t\turl: {\n\t\t\ttype: \"string\",\n\t\t\trequired: true,\n\t\t},\n\t\trepository: {\n\t\t\ttype: \"string\",\n\t\t\trequired: true,\n\t\t},\n\t},\n\tcomputedFields,\n}));\n\nexport const Page = defineDocumentType(() => ({\n\tname: \"Page\",\n\tfilePathPattern: \"pages/**/*.mdx\",\n\tcontentType: \"mdx\",\n\tfields: {\n\t\ttitle: {\n\t\t\ttype: \"string\",\n\t\t\trequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: \"string\",\n\t\t},\n\t},\n\tcomputedFields,\n}));\n\nexport default makeSource({\n\tcontentDirPath: \"./content\",\n\tdocumentTypes: [Page, Project, Author, Tech],\n\tmdx: {\n\t\tremarkPlugins: [remarkGfm],\n\t\trehypePlugins: [\n\t\t\trehypeSlug,\n\t\t\t[\n\t\t\t\trehypePrettyCode,\n\t\t\t\t{\n\t\t\t\t\ttheme: \"github-dark\",\n\t\t\t\t\tonVisitLine(node) {\n\t\t\t\t\t\t// Prevent lines from collapsing in `display: grid` mode, and allow empty\n\t\t\t\t\t\t// lines to be copy/pasted\n\t\t\t\t\t\tif (node.children.length === 0) {\n\t\t\t\t\t\t\tnode.children = [{ type: \"text\", value: \" \" }];\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tonVisitHighlightedLine(node) {\n\t\t\t\t\t\tnode.properties.className.push(\"line--highlighted\");\n\t\t\t\t\t},\n\t\t\t\t\tonVisitHighlightedWord(node) {\n\t\t\t\t\t\tnode.properties.className = [\"word--highlighted\"];\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\t[\n\t\t\t\trehypeAutolinkHeadings,\n\t\t\t\t{\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tclassName: [\"subheading-anchor\"],\n\t\t\t\t\t\tariaLabel: \"Link to section\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t],\n\t},\n});\n"],
|
||||
"mappings": ";AAAA,SAAS,oBAAoB,kBAAkB;AAC/C,OAAO,eAAe;AACtB,OAAO,sBAAsB;AAC7B,OAAO,gBAAgB;AACvB,OAAO,4BAA4B;AAGnC,IAAM,iBAAiB;AAAA,EACtB,MAAM;AAAA,IACL,MAAM;AAAA,IACN,SAAS,CAAC,QAAQ,IAAI,IAAI,KAAK;AAAA,EAChC;AAAA,EACA,MAAM;AAAA,IACL,MAAM;AAAA,IACN,SAAS,CAAC,QAAQ,IAAI,KAAK,cAAc,MAAM,GAAG,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG;AAAA,EACtE;AACD;AAEO,IAAM,UAAU,mBAAmB,OAAO;AAAA,EAChD,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,aAAa;AAAA,EAEb,QAAQ;AAAA,IACP,OAAO;AAAA,MACN,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACZ,MAAM;AAAA,IACP;AAAA,IACA,MAAM;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACA,KAAK;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACA,YAAY;AAAA,MACX,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,EACD;AAAA,EACA;AACD,EAAE;AAEK,IAAM,OAAO,mBAAmB,OAAO;AAAA,EAC7C,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,QAAQ;AAAA,IACP,OAAO;AAAA,MACN,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACZ,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EACA;AACD,EAAE;AAEF,IAAO,8BAAQ,WAAW;AAAA,EACzB,gBAAgB;AAAA,EAChB,eAAe,CAAC,MAAM,SAAS,QAAQ,IAAI;AAAA,EAC3C,KAAK;AAAA,IACJ,eAAe,CAAC,SAAS;AAAA,IACzB,eAAe;AAAA,MACd;AAAA,MACA;AAAA,QACC;AAAA,QACA;AAAA,UACC,OAAO;AAAA,UACP,YAAY,MAAM;AAGjB,gBAAI,KAAK,SAAS,WAAW,GAAG;AAC/B,mBAAK,WAAW,CAAC,EAAE,MAAM,QAAQ,OAAO,IAAI,CAAC;AAAA,YAC9C;AAAA,UACD;AAAA,UACA,uBAAuB,MAAM;AAC5B,iBAAK,WAAW,UAAU,KAAK,mBAAmB;AAAA,UACnD;AAAA,UACA,uBAAuB,MAAM;AAC5B,iBAAK,WAAW,YAAY,CAAC,mBAAmB;AAAA,UACjD;AAAA,QACD;AAAA,MACD;AAAA,MACA;AAAA,QACC;AAAA,QACA;AAAA,UACC,YAAY;AAAA,YACX,WAAW,CAAC,mBAAmB;AAAA,YAC/B,WAAW;AAAA,UACZ;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD,CAAC;",
|
||||
"names": []
|
||||
}
|
@ -1,97 +0,0 @@
|
||||
// contentlayer.config.js
|
||||
import { defineDocumentType, makeSource } from "contentlayer/source-files";
|
||||
import remarkGfm from "remark-gfm";
|
||||
import rehypePrettyCode from "rehype-pretty-code";
|
||||
import rehypeSlug from "rehype-slug";
|
||||
import rehypeAutolinkHeadings from "rehype-autolink-headings";
|
||||
var computedFields = {
|
||||
path: {
|
||||
type: "string",
|
||||
resolve: (doc) => `/${doc._raw.flattenedPath}`,
|
||||
},
|
||||
slug: {
|
||||
type: "string",
|
||||
resolve: (doc) => doc._raw.flattenedPath.split("/").slice(1).join("/"),
|
||||
},
|
||||
};
|
||||
var Project = defineDocumentType(() => ({
|
||||
name: "Project",
|
||||
filePathPattern: "./projects/**/*.mdx",
|
||||
contentType: "mdx",
|
||||
fields: {
|
||||
published: {
|
||||
type: "boolean",
|
||||
},
|
||||
title: {
|
||||
type: "string",
|
||||
required: true,
|
||||
},
|
||||
description: {
|
||||
type: "string",
|
||||
required: true,
|
||||
},
|
||||
date: {
|
||||
type: "date",
|
||||
},
|
||||
url: {
|
||||
type: "string",
|
||||
},
|
||||
repository: {
|
||||
type: "string",
|
||||
},
|
||||
},
|
||||
computedFields,
|
||||
}));
|
||||
var Page = defineDocumentType(() => ({
|
||||
name: "Page",
|
||||
filePathPattern: "pages/**/*.mdx",
|
||||
contentType: "mdx",
|
||||
fields: {
|
||||
title: {
|
||||
type: "string",
|
||||
required: true,
|
||||
},
|
||||
description: {
|
||||
type: "string",
|
||||
},
|
||||
},
|
||||
computedFields,
|
||||
}));
|
||||
var contentlayer_config_default = makeSource({
|
||||
contentDirPath: "./content",
|
||||
documentTypes: [Page, Project],
|
||||
mdx: {
|
||||
remarkPlugins: [remarkGfm],
|
||||
rehypePlugins: [
|
||||
rehypeSlug,
|
||||
[
|
||||
rehypePrettyCode,
|
||||
{
|
||||
theme: "github-dark",
|
||||
onVisitLine(node) {
|
||||
if (node.children.length === 0) {
|
||||
node.children = [{ type: "text", value: " " }];
|
||||
}
|
||||
},
|
||||
onVisitHighlightedLine(node) {
|
||||
node.properties.className.push("line--highlighted");
|
||||
},
|
||||
onVisitHighlightedWord(node) {
|
||||
node.properties.className = ["word--highlighted"];
|
||||
},
|
||||
},
|
||||
],
|
||||
[
|
||||
rehypeAutolinkHeadings,
|
||||
{
|
||||
properties: {
|
||||
className: ["subheading-anchor"],
|
||||
ariaLabel: "Link to section",
|
||||
},
|
||||
},
|
||||
],
|
||||
],
|
||||
},
|
||||
});
|
||||
export { Page, Project, contentlayer_config_default as default };
|
||||
//# sourceMappingURL=compiled-contentlayer-config-AAEZAM7W.mjs.map
|
@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../../contentlayer.config.js"],
|
||||
"sourcesContent": ["import { defineDocumentType, makeSource } from \"contentlayer/source-files\";\nimport remarkGfm from \"remark-gfm\";\nimport rehypePrettyCode from \"rehype-pretty-code\";\nimport rehypeSlug from \"rehype-slug\";\nimport rehypeAutolinkHeadings from \"rehype-autolink-headings\";\n\n/** @type {import('contentlayer/source-files').ComputedFields} */\nconst computedFields = {\n\tpath: {\n\t\ttype: \"string\",\n\t\tresolve: (doc) => `/${doc._raw.flattenedPath}`,\n\t},\n\tslug: {\n\t\ttype: \"string\",\n\t\tresolve: (doc) => doc._raw.flattenedPath.split(\"/\").slice(1).join(\"/\"),\n\t},\n};\n\nexport const Project = defineDocumentType(() => ({\n\tname: \"Project\",\n\tfilePathPattern: \"./projects/**/*.mdx\",\n\tcontentType: \"mdx\",\n\n\tfields: {\n\t\tpublished: {\n\t\t\ttype: \"boolean\",\n\t\t},\n\t\ttitle: {\n\t\t\ttype: \"string\",\n\t\t\trequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: \"string\",\n\t\t\trequired: true,\n\t\t},\n\t\tdate: {\n\t\t\ttype: \"date\",\n\t\t},\n\t\turl: {\n\t\t\ttype: \"string\",\n\t\t},\n\t\trepository: {\n\t\t\ttype: \"string\",\n\t\t},\n\t},\n\tcomputedFields,\n}));\n\nexport const Page = defineDocumentType(() => ({\n\tname: \"Page\",\n\tfilePathPattern: \"pages/**/*.mdx\",\n\tcontentType: \"mdx\",\n\tfields: {\n\t\ttitle: {\n\t\t\ttype: \"string\",\n\t\t\trequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: \"string\",\n\t\t},\n\t},\n\tcomputedFields,\n}));\n\nexport default makeSource({\n\tcontentDirPath: \"./content\",\n\tdocumentTypes: [Page, Project],\n\tmdx: {\n\t\tremarkPlugins: [remarkGfm],\n\t\trehypePlugins: [\n\t\t\trehypeSlug,\n\t\t\t[\n\t\t\t\trehypePrettyCode,\n\t\t\t\t{\n\t\t\t\t\ttheme: \"github-dark\",\n\t\t\t\t\tonVisitLine(node) {\n\t\t\t\t\t\t// Prevent lines from collapsing in `display: grid` mode, and allow empty\n\t\t\t\t\t\t// lines to be copy/pasted\n\t\t\t\t\t\tif (node.children.length === 0) {\n\t\t\t\t\t\t\tnode.children = [{ type: \"text\", value: \" \" }];\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tonVisitHighlightedLine(node) {\n\t\t\t\t\t\tnode.properties.className.push(\"line--highlighted\");\n\t\t\t\t\t},\n\t\t\t\t\tonVisitHighlightedWord(node) {\n\t\t\t\t\t\tnode.properties.className = [\"word--highlighted\"];\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\t[\n\t\t\t\trehypeAutolinkHeadings,\n\t\t\t\t{\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tclassName: [\"subheading-anchor\"],\n\t\t\t\t\t\tariaLabel: \"Link to section\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t],\n\t},\n});\n"],
|
||||
"mappings": ";AAAA,SAAS,oBAAoB,kBAAkB;AAC/C,OAAO,eAAe;AACtB,OAAO,sBAAsB;AAC7B,OAAO,gBAAgB;AACvB,OAAO,4BAA4B;AAGnC,IAAM,iBAAiB;AAAA,EACtB,MAAM;AAAA,IACL,MAAM;AAAA,IACN,SAAS,CAAC,QAAQ,IAAI,IAAI,KAAK;AAAA,EAChC;AAAA,EACA,MAAM;AAAA,IACL,MAAM;AAAA,IACN,SAAS,CAAC,QAAQ,IAAI,KAAK,cAAc,MAAM,GAAG,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG;AAAA,EACtE;AACD;AAEO,IAAM,UAAU,mBAAmB,OAAO;AAAA,EAChD,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,aAAa;AAAA,EAEb,QAAQ;AAAA,IACP,WAAW;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,OAAO;AAAA,MACN,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACZ,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACA,MAAM;AAAA,MACL,MAAM;AAAA,IACP;AAAA,IACA,KAAK;AAAA,MACJ,MAAM;AAAA,IACP;AAAA,IACA,YAAY;AAAA,MACX,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EACA;AACD,EAAE;AAEK,IAAM,OAAO,mBAAmB,OAAO;AAAA,EAC7C,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,QAAQ;AAAA,IACP,OAAO;AAAA,MACN,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACZ,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EACA;AACD,EAAE;AAEF,IAAO,8BAAQ,WAAW;AAAA,EACzB,gBAAgB;AAAA,EAChB,eAAe,CAAC,MAAM,OAAO;AAAA,EAC7B,KAAK;AAAA,IACJ,eAAe,CAAC,SAAS;AAAA,IACzB,eAAe;AAAA,MACd;AAAA,MACA;AAAA,QACC;AAAA,QACA;AAAA,UACC,OAAO;AAAA,UACP,YAAY,MAAM;AAGjB,gBAAI,KAAK,SAAS,WAAW,GAAG;AAC/B,mBAAK,WAAW,CAAC,EAAE,MAAM,QAAQ,OAAO,IAAI,CAAC;AAAA,YAC9C;AAAA,UACD;AAAA,UACA,uBAAuB,MAAM;AAC5B,iBAAK,WAAW,UAAU,KAAK,mBAAmB;AAAA,UACnD;AAAA,UACA,uBAAuB,MAAM;AAC5B,iBAAK,WAAW,YAAY,CAAC,mBAAmB;AAAA,UACjD;AAAA,QACD;AAAA,MACD;AAAA,MACA;AAAA,QACC;AAAA,QACA;AAAA,UACC,YAAY;AAAA,YACX,WAAW,CAAC,mBAAmB;AAAA,YAC/B,WAAW;AAAA,UACZ;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD,CAAC;",
|
||||
"names": []
|
||||
}
|
@ -1,97 +0,0 @@
|
||||
// contentlayer.config.js
|
||||
import { defineDocumentType, makeSource } from "contentlayer/source-files";
|
||||
import remarkGfm from "remark-gfm";
|
||||
import rehypePrettyCode from "rehype-pretty-code";
|
||||
import rehypeSlug from "rehype-slug";
|
||||
import rehypeAutolinkHeadings from "rehype-autolink-headings";
|
||||
var computedFields = {
|
||||
path: {
|
||||
type: "string",
|
||||
resolve: (doc) => `/${doc._raw.flattenedPath}`,
|
||||
},
|
||||
slug: {
|
||||
type: "string",
|
||||
resolve: (doc) => doc._raw.flattenedPath.split("/").slice(1).join("/"),
|
||||
},
|
||||
};
|
||||
var Project = defineDocumentType(() => ({
|
||||
name: "Project",
|
||||
filePathPattern: "./projects/**/*.mdx",
|
||||
contentType: "mdx",
|
||||
fields: {
|
||||
published: {
|
||||
type: "boolean",
|
||||
},
|
||||
title: {
|
||||
type: "string",
|
||||
required: true,
|
||||
},
|
||||
description: {
|
||||
type: "string",
|
||||
required: true,
|
||||
},
|
||||
date: {
|
||||
type: "date",
|
||||
},
|
||||
url: {
|
||||
type: "string",
|
||||
},
|
||||
repository: {
|
||||
type: "string",
|
||||
},
|
||||
},
|
||||
computedFields,
|
||||
}));
|
||||
var Page = defineDocumentType(() => ({
|
||||
name: "Page",
|
||||
filePathPattern: "pages/**/*.mdx",
|
||||
contentType: "mdx",
|
||||
fields: {
|
||||
title: {
|
||||
type: "string",
|
||||
required: true,
|
||||
},
|
||||
description: {
|
||||
type: "string",
|
||||
},
|
||||
},
|
||||
computedFields,
|
||||
}));
|
||||
var contentlayer_config_default = makeSource({
|
||||
contentDirPath: "./content",
|
||||
documentTypes: [Page, Project],
|
||||
mdx: {
|
||||
remarkPlugins: [remarkGfm],
|
||||
rehypePlugins: [
|
||||
rehypeSlug,
|
||||
[
|
||||
rehypePrettyCode,
|
||||
{
|
||||
theme: "github-dark",
|
||||
onVisitLine(node) {
|
||||
if (node.children.length === 0) {
|
||||
node.children = [{ type: "text", value: " " }];
|
||||
}
|
||||
},
|
||||
onVisitHighlightedLine(node) {
|
||||
node.properties.className.push("line--highlighted");
|
||||
},
|
||||
onVisitHighlightedWord(node) {
|
||||
node.properties.className = ["word--highlighted"];
|
||||
},
|
||||
},
|
||||
],
|
||||
[
|
||||
rehypeAutolinkHeadings,
|
||||
{
|
||||
properties: {
|
||||
className: ["subheading-anchor"],
|
||||
ariaLabel: "Link to section",
|
||||
},
|
||||
},
|
||||
],
|
||||
],
|
||||
},
|
||||
});
|
||||
export { Page, Project, contentlayer_config_default as default };
|
||||
//# sourceMappingURL=compiled-contentlayer-config-RHAHPX7F.mjs.map
|
@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../../contentlayer.config.js"],
|
||||
"sourcesContent": ["import { defineDocumentType, makeSource } from \"contentlayer/source-files\";\nimport remarkGfm from \"remark-gfm\";\nimport rehypePrettyCode from \"rehype-pretty-code\";\nimport rehypeSlug from \"rehype-slug\";\nimport rehypeAutolinkHeadings from \"rehype-autolink-headings\";\n\n/** @type {import('contentlayer/source-files').ComputedFields} */\nconst computedFields = {\n\tpath: {\n\t\ttype: \"string\",\n\t\tresolve: (doc) => `/${doc._raw.flattenedPath}`,\n\t},\n\tslug: {\n\t\ttype: \"string\",\n\t\tresolve: (doc) => doc._raw.flattenedPath.split(\"/\").slice(1).join(\"/\"),\n\t},\n};\n\nexport const Project = defineDocumentType(() => ({\n\tname: \"Project\",\n\tfilePathPattern: \"./projects/**/*.mdx\",\n\tcontentType: \"mdx\",\n\n\tfields: {\n\t\tpublished:{\n\t\t\ttype: \"boolean\",\n\t\t},\n\t\ttitle: {\n\t\t\ttype: \"string\",\n\t\t\trequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: \"string\",\n\t\t\trequired: true,\n\t\t},\n\t\tdate: {\n\t\t\ttype: \"date\",\n\t\t},\n\t\turl: {\n\t\t\ttype: \"string\",\n\t\t},\n\t\trepository: {\n\t\t\ttype: \"string\",\n\t\t},\n\t},\n\tcomputedFields,\n}));\n\nexport const Page = defineDocumentType(() => ({\n\tname: \"Page\",\n\tfilePathPattern: \"pages/**/*.mdx\",\n\tcontentType: \"mdx\",\n\tfields: {\n\t\ttitle: {\n\t\t\ttype: \"string\",\n\t\t\trequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: \"string\",\n\t\t},\n\t},\n\tcomputedFields,\n}));\n\nexport default makeSource({\n\tcontentDirPath: \"./content\",\n\tdocumentTypes: [Page, Project],\n\tmdx: {\n\t\tremarkPlugins: [remarkGfm],\n\t\trehypePlugins: [\n\t\t\trehypeSlug,\n\t\t\t[\n\t\t\t\trehypePrettyCode,\n\t\t\t\t{\n\t\t\t\t\ttheme: \"github-dark\",\n\t\t\t\t\tonVisitLine(node) {\n\t\t\t\t\t\t// Prevent lines from collapsing in `display: grid` mode, and allow empty\n\t\t\t\t\t\t// lines to be copy/pasted\n\t\t\t\t\t\tif (node.children.length === 0) {\n\t\t\t\t\t\t\tnode.children = [{ type: \"text\", value: \" \" }];\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tonVisitHighlightedLine(node) {\n\t\t\t\t\t\tnode.properties.className.push(\"line--highlighted\");\n\t\t\t\t\t},\n\t\t\t\t\tonVisitHighlightedWord(node) {\n\t\t\t\t\t\tnode.properties.className = [\"word--highlighted\"];\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\t[\n\t\t\t\trehypeAutolinkHeadings,\n\t\t\t\t{\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tclassName: [\"subheading-anchor\"],\n\t\t\t\t\t\tariaLabel: \"Link to section\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t],\n\t},\n});\n"],
|
||||
"mappings": ";AAAA,SAAS,oBAAoB,kBAAkB;AAC/C,OAAO,eAAe;AACtB,OAAO,sBAAsB;AAC7B,OAAO,gBAAgB;AACvB,OAAO,4BAA4B;AAGnC,IAAM,iBAAiB;AAAA,EACtB,MAAM;AAAA,IACL,MAAM;AAAA,IACN,SAAS,CAAC,QAAQ,IAAI,IAAI,KAAK;AAAA,EAChC;AAAA,EACA,MAAM;AAAA,IACL,MAAM;AAAA,IACN,SAAS,CAAC,QAAQ,IAAI,KAAK,cAAc,MAAM,GAAG,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG;AAAA,EACtE;AACD;AAEO,IAAM,UAAU,mBAAmB,OAAO;AAAA,EAChD,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,aAAa;AAAA,EAEb,QAAQ;AAAA,IACP,WAAU;AAAA,MACT,MAAM;AAAA,IACP;AAAA,IACA,OAAO;AAAA,MACN,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACZ,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACA,MAAM;AAAA,MACL,MAAM;AAAA,IACP;AAAA,IACA,KAAK;AAAA,MACJ,MAAM;AAAA,IACP;AAAA,IACA,YAAY;AAAA,MACX,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EACA;AACD,EAAE;AAEK,IAAM,OAAO,mBAAmB,OAAO;AAAA,EAC7C,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,QAAQ;AAAA,IACP,OAAO;AAAA,MACN,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACZ,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EACA;AACD,EAAE;AAEF,IAAO,8BAAQ,WAAW;AAAA,EACzB,gBAAgB;AAAA,EAChB,eAAe,CAAC,MAAM,OAAO;AAAA,EAC7B,KAAK;AAAA,IACJ,eAAe,CAAC,SAAS;AAAA,IACzB,eAAe;AAAA,MACd;AAAA,MACA;AAAA,QACC;AAAA,QACA;AAAA,UACC,OAAO;AAAA,UACP,YAAY,MAAM;AAGjB,gBAAI,KAAK,SAAS,WAAW,GAAG;AAC/B,mBAAK,WAAW,CAAC,EAAE,MAAM,QAAQ,OAAO,IAAI,CAAC;AAAA,YAC9C;AAAA,UACD;AAAA,UACA,uBAAuB,MAAM;AAC5B,iBAAK,WAAW,UAAU,KAAK,mBAAmB;AAAA,UACnD;AAAA,UACA,uBAAuB,MAAM;AAC5B,iBAAK,WAAW,YAAY,CAAC,mBAAmB;AAAA,UACjD;AAAA,QACD;AAAA,MACD;AAAA,MACA;AAAA,QACC;AAAA,QACA;AAAA,UACC,YAAY;AAAA,YACX,WAAW,CAAC,mBAAmB;AAAA,YAC/B,WAAW;AAAA,UACZ;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD,CAAC;",
|
||||
"names": []
|
||||
}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
[]
|
@ -1,3 +0,0 @@
|
||||
// NOTE This file is auto-generated by Contentlayer
|
||||
|
||||
export const allPages = [];
|
File diff suppressed because one or more lines are too long
@ -1,65 +0,0 @@
|
||||
// NOTE This file is auto-generated by Contentlayer
|
||||
|
||||
import projects__accessMdx from "./projects__access.mdx.json" assert {
|
||||
type: "json",
|
||||
};
|
||||
import projects__envshareMdx from "./projects__envshare.mdx.json" assert {
|
||||
type: "json",
|
||||
};
|
||||
import projects__planetfallMdx from "./projects__planetfall.mdx.json" assert {
|
||||
type: "json",
|
||||
};
|
||||
import projects__qstashMdx from "./projects__qstash.mdx.json" assert {
|
||||
type: "json",
|
||||
};
|
||||
import projects__terraformProviderVercelMdx from "./projects__terraform-provider-vercel.mdx.json" assert {
|
||||
type: "json",
|
||||
};
|
||||
import projects__upstashAuthAnalyticsMdx from "./projects__upstash-auth-analytics.mdx.json" assert {
|
||||
type: "json",
|
||||
};
|
||||
import projects__upstashCliMdx from "./projects__upstash-cli.mdx.json" assert {
|
||||
type: "json",
|
||||
};
|
||||
import projects__upstashCoreAnalyticsMdx from "./projects__upstash-core-analytics.mdx.json" assert {
|
||||
type: "json",
|
||||
};
|
||||
import projects__upstashEdgeFlagsMdx from "./projects__upstash-edge-flags.mdx.json" assert {
|
||||
type: "json",
|
||||
};
|
||||
import projects__upstashKafkaMdx from "./projects__upstash-kafka.mdx.json" assert {
|
||||
type: "json",
|
||||
};
|
||||
import projects__upstashQstashSdkMdx from "./projects__upstash-qstash-sdk.mdx.json" assert {
|
||||
type: "json",
|
||||
};
|
||||
import projects__upstashRatelimitMdx from "./projects__upstash-ratelimit.mdx.json" assert {
|
||||
type: "json",
|
||||
};
|
||||
import projects__upstashReactUiMdx from "./projects__upstash-react-ui.mdx.json" assert {
|
||||
type: "json",
|
||||
};
|
||||
import projects__upstashRedisMdx from "./projects__upstash-redis.mdx.json" assert {
|
||||
type: "json",
|
||||
};
|
||||
import projects__upstashWebAnalyticsMdx from "./projects__upstash-web-analytics.mdx.json" assert {
|
||||
type: "json",
|
||||
};
|
||||
|
||||
export const allProjects = [
|
||||
projects__accessMdx,
|
||||
projects__envshareMdx,
|
||||
projects__planetfallMdx,
|
||||
projects__qstashMdx,
|
||||
projects__terraformProviderVercelMdx,
|
||||
projects__upstashAuthAnalyticsMdx,
|
||||
projects__upstashCliMdx,
|
||||
projects__upstashCoreAnalyticsMdx,
|
||||
projects__upstashEdgeFlagsMdx,
|
||||
projects__upstashKafkaMdx,
|
||||
projects__upstashQstashSdkMdx,
|
||||
projects__upstashRatelimitMdx,
|
||||
projects__upstashReactUiMdx,
|
||||
projects__upstashRedisMdx,
|
||||
projects__upstashWebAnalyticsMdx,
|
||||
];
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,23 +0,0 @@
|
||||
{
|
||||
"published": true,
|
||||
"title": "@upstash/edge-flags",
|
||||
"description": "Featues flags for your edge functions.",
|
||||
"date": "2022-12-12T00:00:00.000Z",
|
||||
"url": "https://upstash.com/edge-flags",
|
||||
"repository": "upstash/edge-flags",
|
||||
"body": {
|
||||
"raw": "\n\nWhether you want to ship without breaking things, run A/B tests or just want to test in production,\nfeature flags are a great way to dynamically change the behaviour of your app without redeploying. We're excited to announce the public\nbeta release of our new feature flagging library: [@upstash/edge-flags](https://github.com/upstash/edge-flags).\n\n*Edge Flags*, as the name implies, is a feature flag solution built to run at the edge. It is using [Upstash Redis](https://upstash.com/), a globally replicated serverless Redis service, to store configuration and is \ndesigned to work with [Next.js](https://nextjs.org) and [Vercel](https://vercel.com). We want to support other frameworks in the future, so if you have a suggestion, please let us know!\n\nWith the ability to toggle features on and off at the edge, you can quickly respond\nto user feedback and optimize the user experience. Whether you are looking to\nperform A/B testing, gradually roll out a new feature, or simply have the\nability to turn things off in case of an issue, our feature flagging library has\nyou covered.\n\n\n\n## Reference\n\nCheck out the full announcement on [upstash.com](https://upstash.com/blog/edge-flags-beta) for more details.",
|
||||
"code": "var Component=(()=>{var c=Object.create;var r=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var f=Object.getPrototypeOf,p=Object.prototype.hasOwnProperty;var m=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),y=(t,e)=>{for(var a in e)r(t,a,{get:e[a],enumerable:!0})},i=(t,e,a,o)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let s of d(e))!p.call(t,s)&&s!==a&&r(t,s,{get:()=>e[s],enumerable:!(o=g(e,s))||o.enumerable});return t};var b=(t,e,a)=>(a=t!=null?c(f(t)):{},i(e||!t||!t.__esModule?r(a,\"default\",{value:t,enumerable:!0}):a,t)),w=t=>i(r({},\"__esModule\",{value:!0}),t);var l=m((W,h)=>{h.exports=_jsx_runtime});var v={};y(v,{default:()=>k,frontmatter:()=>x});var n=b(l()),x={title:\"@upstash/edge-flags\",description:\"Featues flags for your edge functions.\",date:\"2022-12-12\",url:\"https://upstash.com/edge-flags\",repository:\"upstash/edge-flags\",published:!0};function u(t){let e=Object.assign({p:\"p\",a:\"a\",em:\"em\",h2:\"h2\",span:\"span\"},t.components);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(e.p,{children:[`Whether you want to ship without breaking things, run A/B tests or just want to test in production,\nfeature flags are a great way to dynamically change the behaviour of your app without redeploying. We're excited to announce the public\nbeta release of our new feature flagging library: `,(0,n.jsx)(e.a,{href:\"https://github.com/upstash/edge-flags\",children:\"@upstash/edge-flags\"}),\".\"]}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.em,{children:\"Edge Flags\"}),\", as the name implies, is a feature flag solution built to run at the edge. It is using \",(0,n.jsx)(e.a,{href:\"https://upstash.com/\",children:\"Upstash Redis\"}),`, a globally replicated serverless Redis service, to store configuration and is\ndesigned to work with `,(0,n.jsx)(e.a,{href:\"https://nextjs.org\",children:\"Next.js\"}),\" and \",(0,n.jsx)(e.a,{href:\"https://vercel.com\",children:\"Vercel\"}),\". We want to support other frameworks in the future, so if you have a suggestion, please let us know!\"]}),`\n`,(0,n.jsx)(e.p,{children:`With the ability to toggle features on and off at the edge, you can quickly respond\nto user feedback and optimize the user experience. Whether you are looking to\nperform A/B testing, gradually roll out a new feature, or simply have the\nability to turn things off in case of an issue, our feature flagging library has\nyou covered.`}),`\n`,(0,n.jsxs)(e.h2,{id:\"reference\",children:[(0,n.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#reference\",children:(0,n.jsx)(e.span,{className:\"icon icon-link\"})}),\"Reference\"]}),`\n`,(0,n.jsxs)(e.p,{children:[\"Check out the full announcement on \",(0,n.jsx)(e.a,{href:\"https://upstash.com/blog/edge-flags-beta\",children:\"upstash.com\"}),\" for more details.\"]})]})}function j(t={}){let{wrapper:e}=t.components||{};return e?(0,n.jsx)(e,Object.assign({},t,{children:(0,n.jsx)(u,t)})):u(t)}var k=j;return w(v);})();\n;return Component;"
|
||||
},
|
||||
"_id": "projects/upstash-edge-flags.mdx",
|
||||
"_raw": {
|
||||
"sourceFilePath": "projects/upstash-edge-flags.mdx",
|
||||
"sourceFileName": "upstash-edge-flags.mdx",
|
||||
"sourceFileDir": "projects",
|
||||
"contentType": "mdx",
|
||||
"flattenedPath": "projects/upstash-edge-flags"
|
||||
},
|
||||
"type": "Project",
|
||||
"path": "/projects/upstash-edge-flags",
|
||||
"slug": "upstash-edge-flags"
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -1,23 +0,0 @@
|
||||
{
|
||||
"published": true,
|
||||
"title": "@upstash/qstash",
|
||||
"description": "A typescript client and consumer for QStash.",
|
||||
"date": "2022-07-18T00:00:00.000Z",
|
||||
"url": "https://upstash.com/qstash",
|
||||
"repository": "upstash/sdk-qstash-ts",
|
||||
"body": {
|
||||
"raw": "\n\n@upstash/qstash is the official client and consumer for [QStash](https://chronark.com/projects/qstash).\n\nQStash is the message broker between your serverless apps. You send an HTTP\nrequest to QStash, that includes a destination, a payload and optional settings.\nWe durably store your message and will deliver it to the destination API via\nHTTP. In case the destination is not ready to receive the message, we will retry\nthe message later, to guarentee at-least-once delivery.\n\n```bash\nnpm install @upstash/qstash\n```\n",
|
||||
"code": "var Component=(()=>{var h=Object.create;var r=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var m=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var g=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),f=(t,e)=>{for(var a in e)r(t,a,{get:e[a],enumerable:!0})},i=(t,e,a,o)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of u(e))!y.call(t,n)&&n!==a&&r(t,n,{get:()=>e[n],enumerable:!(o=p(e,n))||o.enumerable});return t};var x=(t,e,a)=>(a=t!=null?h(m(t)):{},i(e||!t||!t.__esModule?r(a,\"default\",{value:t,enumerable:!0}):a,t)),b=t=>i(r({},\"__esModule\",{value:!0}),t);var c=g((_,l)=>{l.exports=_jsx_runtime});var q={};f(q,{default:()=>E,frontmatter:()=>j});var s=x(c()),j={title:\"@upstash/qstash\",description:\"A typescript client and consumer for QStash.\",date:\"2022-07-18\",url:\"https://upstash.com/qstash\",repository:\"upstash/sdk-qstash-ts\",published:!0};function d(t){let e=Object.assign({p:\"p\",a:\"a\",div:\"div\",pre:\"pre\",code:\"code\",span:\"span\"},t.components);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(e.p,{children:[\"@upstash/qstash is the official client and consumer for \",(0,s.jsx)(e.a,{href:\"https://chronark.com/projects/qstash\",children:\"QStash\"}),\".\"]}),`\n`,(0,s.jsx)(e.p,{children:`QStash is the message broker between your serverless apps. You send an HTTP\nrequest to QStash, that includes a destination, a payload and optional settings.\nWe durably store your message and will deliver it to the destination API via\nHTTP. In case the destination is not ready to receive the message, we will retry\nthe message later, to guarentee at-least-once delivery.`}),`\n`,(0,s.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,s.jsx)(e.pre,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,s.jsx)(e.code,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,s.jsxs)(e.span,{className:\"line\",children:[(0,s.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"npm\"}),(0,s.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,s.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"install\"}),(0,s.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,s.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"@upstash/qstash\"})]})})})})]})}function v(t={}){let{wrapper:e}=t.components||{};return e?(0,s.jsx)(e,Object.assign({},t,{children:(0,s.jsx)(d,t)})):d(t)}var E=v;return b(q);})();\n;return Component;"
|
||||
},
|
||||
"_id": "projects/upstash-qstash-sdk.mdx",
|
||||
"_raw": {
|
||||
"sourceFilePath": "projects/upstash-qstash-sdk.mdx",
|
||||
"sourceFileName": "upstash-qstash-sdk.mdx",
|
||||
"sourceFileDir": "projects",
|
||||
"contentType": "mdx",
|
||||
"flattenedPath": "projects/upstash-qstash-sdk"
|
||||
},
|
||||
"type": "Project",
|
||||
"path": "/projects/upstash-qstash-sdk",
|
||||
"slug": "upstash-qstash-sdk"
|
||||
}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
10
.contentlayer/generated/index.d.ts
vendored
10
.contentlayer/generated/index.d.ts
vendored
@ -1,10 +0,0 @@
|
||||
// NOTE This file is auto-generated by Contentlayer
|
||||
|
||||
import { Page, Project, DocumentTypes } from "./types";
|
||||
|
||||
export * from "./types";
|
||||
|
||||
export declare const allPages: Page[];
|
||||
export declare const allProjects: Project[];
|
||||
|
||||
export declare const allDocuments: DocumentTypes[];
|
@ -1,12 +0,0 @@
|
||||
// NOTE This file is auto-generated by Contentlayer
|
||||
|
||||
export { isType } from "contentlayer/client";
|
||||
|
||||
// NOTE During development Contentlayer imports from `.mjs` files to improve HMR speeds.
|
||||
// During (production) builds Contentlayer it imports from `.json` files to improve build performance.
|
||||
import allPages from "./Page/_index.json" assert { type: "json" };
|
||||
import allProjects from "./Project/_index.json" assert { type: "json" };
|
||||
|
||||
export { allPages, allProjects };
|
||||
|
||||
export const allDocuments = [...allPages, ...allProjects];
|
78
.contentlayer/generated/types.d.ts
vendored
78
.contentlayer/generated/types.d.ts
vendored
@ -1,78 +0,0 @@
|
||||
// NOTE This file is auto-generated by Contentlayer
|
||||
|
||||
import type {
|
||||
Markdown,
|
||||
MDX,
|
||||
ImageFieldData,
|
||||
IsoDateTimeString,
|
||||
} from "contentlayer/core";
|
||||
import * as Local from "contentlayer/source-files";
|
||||
|
||||
export { isType } from "contentlayer/client";
|
||||
|
||||
export type { Markdown, MDX, ImageFieldData, IsoDateTimeString };
|
||||
|
||||
/** Document types */
|
||||
export type Page = {
|
||||
/** File path relative to `contentDirPath` */
|
||||
_id: string;
|
||||
_raw: Local.RawDocumentData;
|
||||
type: "Page";
|
||||
title: string;
|
||||
description?: string | undefined;
|
||||
/** MDX file body */
|
||||
body: MDX;
|
||||
path: string;
|
||||
slug: string;
|
||||
};
|
||||
|
||||
export type Project = {
|
||||
/** File path relative to `contentDirPath` */
|
||||
_id: string;
|
||||
_raw: Local.RawDocumentData;
|
||||
type: "Project";
|
||||
published?: boolean | undefined;
|
||||
title: string;
|
||||
description: string;
|
||||
date?: IsoDateTimeString | undefined;
|
||||
url?: string | undefined;
|
||||
repository?: string | undefined;
|
||||
/** MDX file body */
|
||||
body: MDX;
|
||||
path: string;
|
||||
slug: string;
|
||||
};
|
||||
|
||||
/** Nested types */
|
||||
|
||||
/** Helper types */
|
||||
|
||||
export type AllTypes = DocumentTypes | NestedTypes;
|
||||
export type AllTypeNames = DocumentTypeNames | NestedTypeNames;
|
||||
|
||||
export type DocumentTypes = Page | Project;
|
||||
export type DocumentTypeNames = "Page" | "Project";
|
||||
|
||||
export type NestedTypes = never;
|
||||
export type NestedTypeNames = never;
|
||||
|
||||
export interface ContentlayerGenTypes {
|
||||
documentTypes: DocumentTypes;
|
||||
documentTypeMap: DocumentTypeMap;
|
||||
documentTypeNames: DocumentTypeNames;
|
||||
nestedTypes: NestedTypes;
|
||||
nestedTypeMap: NestedTypeMap;
|
||||
nestedTypeNames: NestedTypeNames;
|
||||
allTypeNames: AllTypeNames;
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface ContentlayerGen extends ContentlayerGenTypes {}
|
||||
}
|
||||
|
||||
export type DocumentTypeMap = {
|
||||
Page: Page;
|
||||
Project: Project;
|
||||
};
|
||||
|
||||
export type NestedTypeMap = {};
|
@ -1,17 +0,0 @@
|
||||
{
|
||||
"name": "dot-contentlayer",
|
||||
"description": "This package is auto-generated by Contentlayer",
|
||||
"version": "0.0.0-AAEZAM7W",
|
||||
"exports": {
|
||||
"./generated": {
|
||||
"import": "./generated/index.mjs"
|
||||
}
|
||||
},
|
||||
"typesVersions": {
|
||||
"*": {
|
||||
"generated": [
|
||||
"./generated"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -34,3 +34,4 @@ yarn-error.log*
|
||||
# typescript
|
||||
*.tsbuildinfo
|
||||
next-env.d.ts
|
||||
|
||||
|
43
README.md
43
README.md
@ -1,39 +1,8 @@
|
||||
This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
|
||||
<div align="center">
|
||||
<a href="https://chronark.com"><h1 align="center">chronark.com</h1></a>
|
||||
<h5>My stuff</h5>
|
||||
</div>
|
||||
|
||||
## Getting Started
|
||||
<br/>
|
||||
|
||||
First, run the development server:
|
||||
|
||||
```bash
|
||||
npm run dev
|
||||
# or
|
||||
yarn dev
|
||||
# or
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
|
||||
|
||||
You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
|
||||
|
||||
[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.ts`.
|
||||
|
||||
The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.
|
||||
|
||||
This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.
|
||||
|
||||
## Learn More
|
||||
|
||||
To learn more about Next.js, take a look at the following resources:
|
||||
|
||||
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
|
||||
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
|
||||
|
||||
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
|
||||
|
||||
## Deploy on Vercel
|
||||
|
||||
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
|
||||
|
||||
Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
|
||||
# chronark.com
|
||||
My personal website, built with [Next.js](https://nextjs.org/), [Tailwind CSS](https://tailwindcss.com/), and deployed to [Vercel](https://vercel.com/).
|
@ -1,5 +1,6 @@
|
||||
import "../global.css";
|
||||
import { Inter, Hanken_Grotesk } from "@next/font/google";
|
||||
import { Inter } from "@next/font/google";
|
||||
import LocalFont from "@next/font/local";
|
||||
import { Metadata } from "next";
|
||||
|
||||
export const metadata: Metadata = {
|
||||
@ -48,10 +49,9 @@ const inter = Inter({
|
||||
variable: "--font-inter",
|
||||
});
|
||||
|
||||
const grotesk = Hanken_Grotesk({
|
||||
subsets: ["latin"],
|
||||
variable: "--font-grotesk",
|
||||
fallback: ["sans-serif"],
|
||||
const calSans = LocalFont({
|
||||
src: "../public/fonts/CalSans-SemiBold.ttf",
|
||||
variable: "--font-calsans",
|
||||
});
|
||||
|
||||
export default function RootLayout({
|
||||
@ -60,7 +60,7 @@ export default function RootLayout({
|
||||
children: React.ReactNode;
|
||||
}) {
|
||||
return (
|
||||
<html lang="en" className={[inter.variable, grotesk.variable].join(" ")}>
|
||||
<html lang="en" className={[inter.variable, calSans.variable].join(" ")}>
|
||||
<body
|
||||
className={`bg-black ${
|
||||
process.env.NODE_ENV === "development" ? "debug-screens" : undefined
|
||||
|
@ -1,271 +0,0 @@
|
||||
.main {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 6rem;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
.description {
|
||||
display: inherit;
|
||||
justify-content: inherit;
|
||||
align-items: inherit;
|
||||
font-size: 0.85rem;
|
||||
max-width: var(--max-width);
|
||||
width: 100%;
|
||||
z-index: 2;
|
||||
font-family: var(--font-mono);
|
||||
}
|
||||
|
||||
.description a {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
.description p {
|
||||
position: relative;
|
||||
margin: 0;
|
||||
padding: 1rem;
|
||||
background-color: rgba(var(--callout-rgb), 0.5);
|
||||
border: 1px solid rgba(var(--callout-border-rgb), 0.3);
|
||||
border-radius: var(--border-radius);
|
||||
}
|
||||
|
||||
.code {
|
||||
font-weight: 700;
|
||||
font-family: var(--font-mono);
|
||||
}
|
||||
|
||||
.grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, minmax(33%, auto));
|
||||
width: var(--max-width);
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.card {
|
||||
padding: 1rem 1.2rem;
|
||||
border-radius: var(--border-radius);
|
||||
background: rgba(var(--card-rgb), 0);
|
||||
border: 1px solid rgba(var(--card-border-rgb), 0);
|
||||
transition: background 200ms, border 200ms;
|
||||
}
|
||||
|
||||
.card span {
|
||||
display: inline-block;
|
||||
transition: transform 200ms;
|
||||
}
|
||||
|
||||
.card h2 {
|
||||
font-weight: 600;
|
||||
margin-bottom: 0.7rem;
|
||||
}
|
||||
|
||||
.card p {
|
||||
margin: 0;
|
||||
opacity: 0.6;
|
||||
font-size: 0.9rem;
|
||||
line-height: 1.5;
|
||||
max-width: 34ch;
|
||||
}
|
||||
|
||||
.center {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
padding: 4rem 0;
|
||||
}
|
||||
|
||||
.center::before {
|
||||
background: var(--secondary-glow);
|
||||
border-radius: 50%;
|
||||
width: 480px;
|
||||
height: 360px;
|
||||
margin-left: -400px;
|
||||
}
|
||||
|
||||
.center::after {
|
||||
background: var(--primary-glow);
|
||||
width: 240px;
|
||||
height: 180px;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.center::before,
|
||||
.center::after {
|
||||
content: '';
|
||||
left: 50%;
|
||||
position: absolute;
|
||||
filter: blur(45px);
|
||||
transform: translateZ(0);
|
||||
}
|
||||
|
||||
.logo,
|
||||
.thirteen {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.thirteen {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 75px;
|
||||
height: 75px;
|
||||
padding: 25px 10px;
|
||||
margin-left: 16px;
|
||||
transform: translateZ(0);
|
||||
border-radius: var(--border-radius);
|
||||
overflow: hidden;
|
||||
box-shadow: 0px 2px 8px -1px #0000001a;
|
||||
}
|
||||
|
||||
.thirteen::before,
|
||||
.thirteen::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
/* Conic Gradient Animation */
|
||||
.thirteen::before {
|
||||
animation: 6s rotate linear infinite;
|
||||
width: 200%;
|
||||
height: 200%;
|
||||
background: var(--tile-border);
|
||||
}
|
||||
|
||||
/* Inner Square */
|
||||
.thirteen::after {
|
||||
inset: 0;
|
||||
padding: 1px;
|
||||
border-radius: var(--border-radius);
|
||||
background: linear-gradient(
|
||||
to bottom right,
|
||||
rgba(var(--tile-start-rgb), 1),
|
||||
rgba(var(--tile-end-rgb), 1)
|
||||
);
|
||||
background-clip: content-box;
|
||||
}
|
||||
|
||||
/* Enable hover only on non-touch devices */
|
||||
@media (hover: hover) and (pointer: fine) {
|
||||
.card:hover {
|
||||
background: rgba(var(--card-rgb), 0.1);
|
||||
border: 1px solid rgba(var(--card-border-rgb), 0.15);
|
||||
}
|
||||
|
||||
.card:hover span {
|
||||
transform: translateX(4px);
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion) {
|
||||
.thirteen::before {
|
||||
animation: none;
|
||||
}
|
||||
|
||||
.card:hover span {
|
||||
transform: none;
|
||||
}
|
||||
}
|
||||
|
||||
/* Mobile and Tablet */
|
||||
@media (max-width: 1023px) {
|
||||
.content {
|
||||
padding: 4rem;
|
||||
}
|
||||
|
||||
.grid {
|
||||
grid-template-columns: 1fr;
|
||||
margin-bottom: 120px;
|
||||
max-width: 320px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.card {
|
||||
padding: 1rem 2.5rem;
|
||||
}
|
||||
|
||||
.card h2 {
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.center {
|
||||
padding: 8rem 0 6rem;
|
||||
}
|
||||
|
||||
.center::before {
|
||||
transform: none;
|
||||
height: 300px;
|
||||
}
|
||||
|
||||
.description {
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
|
||||
.description a {
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
.description p,
|
||||
.description div {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.description p {
|
||||
align-items: center;
|
||||
inset: 0 0 auto;
|
||||
padding: 2rem 1rem 1.4rem;
|
||||
border-radius: 0;
|
||||
border: none;
|
||||
border-bottom: 1px solid rgba(var(--callout-border-rgb), 0.25);
|
||||
background: linear-gradient(
|
||||
to bottom,
|
||||
rgba(var(--background-start-rgb), 1),
|
||||
rgba(var(--callout-rgb), 0.5)
|
||||
);
|
||||
background-clip: padding-box;
|
||||
backdrop-filter: blur(24px);
|
||||
}
|
||||
|
||||
.description div {
|
||||
align-items: flex-end;
|
||||
pointer-events: none;
|
||||
inset: auto 0 0;
|
||||
padding: 2rem;
|
||||
height: 200px;
|
||||
background: linear-gradient(
|
||||
to bottom,
|
||||
transparent 0%,
|
||||
rgb(var(--background-end-rgb)) 40%
|
||||
);
|
||||
z-index: 1;
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
.vercelLogo {
|
||||
filter: invert(1);
|
||||
}
|
||||
|
||||
.logo,
|
||||
.thirteen img {
|
||||
filter: invert(1) drop-shadow(0 0 0.3rem #ffffff70);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes rotate {
|
||||
from {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
to {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
}
|
12
app/page.tsx
12
app/page.tsx
@ -8,7 +8,7 @@ const navigation = [
|
||||
|
||||
export default function Home() {
|
||||
return (
|
||||
<div className="flex flex-col items-center justify-center w-screen h-screen overflow-hidden bg-gradient-to-tl from-black via-zinc-400/10 to-black">
|
||||
<div className="flex flex-col items-center justify-center w-screen h-screen overflow-hidden bg-gradient-to-tl from-black via-zinc-600/20 to-black">
|
||||
<nav className="my-16 animate-fade-in">
|
||||
<ul className="flex items-center justify-center gap-4">
|
||||
{navigation.map((item) => (
|
||||
@ -23,14 +23,16 @@ export default function Home() {
|
||||
</ul>
|
||||
</nav>
|
||||
<div className="hidden w-screen h-px animate-glow md:block animate-fade-left bg-gradient-to-r from-zinc-300/0 via-zinc-300/50 to-zinc-300/0" />
|
||||
<h1 className="z-10 text-4xl font-black text-transparent duration-1000 cursor-default text-edge-outline animate-title hover:text-zinc-50 font-display sm:text-6xl md:text-9xl whitespace-nowrap bg-clip-text bg-zinc-200 ">
|
||||
CHRONARK
|
||||
|
||||
<h1 className="z-10 text-4xl text-transparent duration-1000 cursor-default text-edge-outline animate-title font-display sm:text-6xl md:text-9xl whitespace-nowrap bg-clip-text bg-white ">
|
||||
chronark
|
||||
</h1>
|
||||
|
||||
<div className="hidden w-screen h-px animate-glow md:block animate-fade-right bg-gradient-to-r from-zinc-300/0 via-zinc-300/50 to-zinc-300/0" />
|
||||
<div className="my-16 text-center animate-fade-in">
|
||||
<h2 className="text-sm text-zinc-500 ">
|
||||
Hi, i'm building serverless and open source solutions at{" "}
|
||||
Hi, my name is Andreas, I'm building serverless and open source
|
||||
solutions at{" "}
|
||||
<Link
|
||||
href="https://upstash.com"
|
||||
className="underline duration-500 hover:text-zinc-300"
|
||||
@ -39,7 +41,7 @@ export default function Home() {
|
||||
</Link>
|
||||
|
||||
<br />
|
||||
and working on my startup{" "}
|
||||
and working on{" "}
|
||||
<Link
|
||||
href="https://planetfall.io"
|
||||
className="underline duration-500 hover:text-zinc-300"
|
||||
|
@ -89,7 +89,7 @@ export const Header: React.FC<Props> = ({ project }) => {
|
||||
<div className="container mx-auto relative isolate overflow-hidden py-24 sm:py-32">
|
||||
<div className="mx-auto max-w-7xl px-6 lg:px-8 text-center flex flex-col items-center">
|
||||
<div className="mx-auto max-w-2xl lg:mx-0">
|
||||
<h1 className="text-4xl font-bold tracking-tight text-white sm:text-6xl">
|
||||
<h1 className="text-4xl font-bold tracking-tight text-white sm:text-6xl font-display">
|
||||
{project.title}
|
||||
</h1>
|
||||
<p className="mt-6 text-lg leading-8 text-zinc-300">
|
||||
|
@ -28,15 +28,13 @@ export default async function PostPage({ params }: Props) {
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="min-h-screen">
|
||||
<div className="bg-zinc-50 min-h-screen">
|
||||
<Header project={project} />
|
||||
<ReportView slug={project.slug} />
|
||||
|
||||
<main className="bg-zinc-50">
|
||||
<article className="px-4 py-12 mx-auto prose prose-zinc prose-quoteless">
|
||||
<Mdx code={project.body.code} />
|
||||
</article>
|
||||
</main>
|
||||
<article className="px-4 py-12 mx-auto prose prose-zinc prose-quoteless">
|
||||
<Mdx code={project.body.code} />
|
||||
</article>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
@ -56,7 +56,7 @@ export default function ProjectsPage() {
|
||||
</div>
|
||||
<h2
|
||||
id="featured-post"
|
||||
className="mt-4 text-3xl font-bold tracking-tight text-zinc-100 group-hover:text-white sm:text-4xl font-display"
|
||||
className="mt-4 text-3xl font-bold text-zinc-100 group-hover:text-white sm:text-4xl font-display"
|
||||
>
|
||||
{featured.title}
|
||||
</h2>
|
||||
|
14
content/projects/chronark.com.mdx
Normal file
14
content/projects/chronark.com.mdx
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
title: chronark.com
|
||||
description: The website you're looking at
|
||||
repository: chronark/chronark.com
|
||||
url: https://chronark.com
|
||||
date: 2023-03-28
|
||||
published: true
|
||||
---
|
||||
|
||||
|
||||
Like so many others, I just wanted a place to collect some projects I worked on. Maybe I'll add a blog, maybe I won't. I'm not sure yet.
|
||||
|
||||
If you like the design, check out the Repository on GitHub.
|
||||
|
@ -8,5 +8,8 @@ published: true
|
||||
---
|
||||
|
||||
|
||||
[](https://planetfall.io)
|
||||
|
||||
Planetfall is a SaaS platform that provides global latency monitoring and synthetic monitoring for APIs. With over 60 regions to monitor from, customers can gain insights into the true performance of their API by checking latency from around the world.
|
||||
Planetfall offers custom timeouts, threshold notifications, and real-time alerts for potential performance issues. Additionally, customers can create custom status pages to share with their customers, which can display availability and latency for every region. Planetfall offers a free tier that includes 100k checks per month and scales as customers grow. Overall, Planetfall helps customers stay in control of their API's performance, improve communication with their customers, and build trust.
|
||||
Planetfall offers custom timeouts, threshold notifications, and real-time alerts for potential performance issues. Additionally, customers can create custom status pages to share with their customers, which can display availability and latency for every region. Planetfall offers a free tier that includes 100k checks per month and scales as customers grow. Overall, Planetfall helps customers stay in control of their API's performance, improve communication with their customers, and build trust.
|
||||
|
||||
|
@ -16,6 +16,7 @@
|
||||
"@types/react-dom": "18.0.11",
|
||||
"@upstash/redis": "^1.20.1",
|
||||
"@vercel/analytics": "^0.1.10",
|
||||
"cal-sans": "^1.0.1",
|
||||
"contentlayer": "^0.3.0",
|
||||
"framer-motion": "^10.9.1",
|
||||
"lucide-react": "^0.127.0",
|
||||
|
@ -27,7 +27,7 @@ export default async function incr(req: NextRequest): Promise<NextResponse> {
|
||||
if (identifier) {
|
||||
// deduplicate the ip for each slug
|
||||
const isNew = await redis.set(
|
||||
["deduplicate", identifier,slug].join(":"),
|
||||
["deduplicate", identifier, slug].join(":"),
|
||||
true,
|
||||
{
|
||||
nx: true,
|
||||
|
6
pnpm-lock.yaml
generated
6
pnpm-lock.yaml
generated
@ -12,6 +12,7 @@ specifiers:
|
||||
'@upstash/redis': ^1.20.1
|
||||
'@vercel/analytics': ^0.1.10
|
||||
autoprefixer: ^10.4.13
|
||||
cal-sans: ^1.0.1
|
||||
contentlayer: ^0.3.0
|
||||
framer-motion: ^10.9.1
|
||||
lucide-react: ^0.127.0
|
||||
@ -40,6 +41,7 @@ dependencies:
|
||||
'@types/react-dom': 18.0.11
|
||||
'@upstash/redis': 1.20.1
|
||||
'@vercel/analytics': 0.1.11_react@18.2.0
|
||||
cal-sans: 1.0.1
|
||||
contentlayer: 0.3.0_e24fifms7lyt2dudodzemqbuwu
|
||||
framer-motion: 10.9.1_biqbaboplfbrettd7655fr4n2y
|
||||
lucide-react: 0.127.0_react@18.2.0
|
||||
@ -1233,6 +1235,10 @@ packages:
|
||||
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
|
||||
dev: false
|
||||
|
||||
/cal-sans/1.0.1:
|
||||
resolution: {integrity: sha512-XwN3/7jez8WmFVcNnNqO2K9lh133KiIcURCyGFnSM+ZmNZ8zIcOTNfr3SpenLAkRceYsq+fQNX/PL4C1rIkEPQ==}
|
||||
dev: false
|
||||
|
||||
/camel-case/4.1.2:
|
||||
resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
|
||||
dependencies:
|
||||
|
BIN
public/fonts/CalSans-SemiBold.ttf
Normal file
BIN
public/fonts/CalSans-SemiBold.ttf
Normal file
Binary file not shown.
BIN
public/planetfall.png
Normal file
BIN
public/planetfall.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 645 KiB |
Binary file not shown.
Before Width: | Height: | Size: 25 KiB |
@ -20,7 +20,7 @@ module.exports = {
|
||||
},
|
||||
fontFamily: {
|
||||
sans: ["var(--font-inter)", ...defaultTheme.fontFamily.sans],
|
||||
display: ["var(--font-grotesk)"],
|
||||
display: ["var(--font-calsans)"],
|
||||
},
|
||||
backgroundImage: {
|
||||
"gradient-radial":
|
||||
@ -88,8 +88,6 @@ module.exports = {
|
||||
|
||||
"100%": {
|
||||
"line-height": "100%",
|
||||
"letter-spacing": "0.125em",
|
||||
|
||||
opacity: "100%",
|
||||
},
|
||||
},
|
||||
|
Loading…
x
Reference in New Issue
Block a user