mirror of
https://github.com/sergeyyarkov/yarkov.tech.git
synced 2026-10-11 18:39:14 +03:00
decap cms
This commit is contained in:
parent
63909d59ba
commit
2a5367619f
357
astro.config.mjs
357
astro.config.mjs
@ -5,7 +5,7 @@ import { defineConfig } from "astro/config";
|
|||||||
*/
|
*/
|
||||||
import sitemap from "@astrojs/sitemap";
|
import sitemap from "@astrojs/sitemap";
|
||||||
import solidJs from "@astrojs/solid-js";
|
import solidJs from "@astrojs/solid-js";
|
||||||
import netlifyCMS from "astro-netlify-cms";
|
// import netlifyCMS from "astro-netlify-cms";
|
||||||
import icon from "astro-icon";
|
import icon from "astro-icon";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -21,7 +21,7 @@ import { h } from "hastscript";
|
|||||||
import { toString } from "hast-util-to-string";
|
import { toString } from "hast-util-to-string";
|
||||||
import { escape } from "html-escaper";
|
import { escape } from "html-escaper";
|
||||||
import languages from "./src/i18n/languages";
|
import languages from "./src/i18n/languages";
|
||||||
import { DEFAULT_LANGUAGE, SUPPORTED_LANGUAGES } from "./src/constants";
|
import { DEFAULT_LANGUAGE } from "./src/constants";
|
||||||
|
|
||||||
const createAnchorLabel = (heading) => {
|
const createAnchorLabel = (heading) => {
|
||||||
const node = h("span.anchor-label", escape(heading));
|
const node = h("span.anchor-label", escape(heading));
|
||||||
@ -42,359 +42,6 @@ export default defineConfig({
|
|||||||
}),
|
}),
|
||||||
icon(),
|
icon(),
|
||||||
solidJs(),
|
solidJs(),
|
||||||
netlifyCMS({
|
|
||||||
adminPath: "/cms",
|
|
||||||
config: {
|
|
||||||
editor: {
|
|
||||||
preview: false,
|
|
||||||
},
|
|
||||||
display_url: "https://yarkov.tech",
|
|
||||||
i18n: {
|
|
||||||
locales: SUPPORTED_LANGUAGES,
|
|
||||||
default_locale: DEFAULT_LANGUAGE,
|
|
||||||
structure: "multiple_folders",
|
|
||||||
},
|
|
||||||
locale: DEFAULT_LANGUAGE,
|
|
||||||
backend: {
|
|
||||||
name: "github",
|
|
||||||
repo: "sergeyyarkov/yarkov.tech",
|
|
||||||
branch: "main",
|
|
||||||
},
|
|
||||||
media_folder: "public/media",
|
|
||||||
public_folder: "/media",
|
|
||||||
collections: [
|
|
||||||
/**
|
|
||||||
* Articles
|
|
||||||
*/
|
|
||||||
{
|
|
||||||
name: "articles",
|
|
||||||
label: "Публикации",
|
|
||||||
label_singular: "публикацию",
|
|
||||||
description:
|
|
||||||
"Технические статьи, туториалы и различные справочные материалы которые связаны с IT тематикой",
|
|
||||||
folder: "src/content/blog",
|
|
||||||
slug: "{{slug}}",
|
|
||||||
create: true,
|
|
||||||
delete: true,
|
|
||||||
i18n: true,
|
|
||||||
fields: [
|
|
||||||
{
|
|
||||||
name: "coverImage",
|
|
||||||
widget: "image",
|
|
||||||
label: "Постер",
|
|
||||||
required: false,
|
|
||||||
i18n: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "draft",
|
|
||||||
label: "В черновике",
|
|
||||||
widget: "boolean",
|
|
||||||
hint: "Опубликована ли статья",
|
|
||||||
i18n: true,
|
|
||||||
required: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "author",
|
|
||||||
widget: "relation",
|
|
||||||
value_field: "{{firstName}} {{lastName}}",
|
|
||||||
search_fields: ["firstName", "lastName"],
|
|
||||||
collection: "authors",
|
|
||||||
label: "Автор",
|
|
||||||
i18n: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "title",
|
|
||||||
widget: "string",
|
|
||||||
label: "Заголовок",
|
|
||||||
i18n: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "description",
|
|
||||||
widget: "string",
|
|
||||||
label: "Описание",
|
|
||||||
i18n: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "tags",
|
|
||||||
widget: "relation",
|
|
||||||
label: "Тэги",
|
|
||||||
collection: "tags",
|
|
||||||
multiple: true,
|
|
||||||
value_field: "title",
|
|
||||||
search_fields: ["title"],
|
|
||||||
i18n: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "pubDate",
|
|
||||||
widget: "datetime",
|
|
||||||
label: "Дата публикации",
|
|
||||||
picker_utc: true,
|
|
||||||
i18n: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "updatedDate",
|
|
||||||
widget: "datetime",
|
|
||||||
label: "Дата обновления",
|
|
||||||
picker_utc: true,
|
|
||||||
i18n: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "body",
|
|
||||||
widget: "markdown",
|
|
||||||
label: "Содержание",
|
|
||||||
i18n: true,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* Tags
|
|
||||||
*/
|
|
||||||
{
|
|
||||||
name: "tags",
|
|
||||||
label: "Тэги",
|
|
||||||
label_singular: "тэг",
|
|
||||||
description: "Используются для тегирования контента",
|
|
||||||
folder: "src/content/tags",
|
|
||||||
create: true,
|
|
||||||
delete: true,
|
|
||||||
fields: [
|
|
||||||
{
|
|
||||||
name: "title",
|
|
||||||
widget: "string",
|
|
||||||
label: "Название",
|
|
||||||
required: true,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* Authors
|
|
||||||
*/
|
|
||||||
{
|
|
||||||
name: "authors",
|
|
||||||
label: "Авторы",
|
|
||||||
label_singular: "автора",
|
|
||||||
description: "На странице статьи отображается имя автора",
|
|
||||||
slug: "{{firstName}}-{{lastName}}",
|
|
||||||
folder: "src/content/authors",
|
|
||||||
create: true,
|
|
||||||
delete: true,
|
|
||||||
i18n: true,
|
|
||||||
fields: [
|
|
||||||
{
|
|
||||||
label: "Имя",
|
|
||||||
name: "firstName",
|
|
||||||
widget: "string",
|
|
||||||
required: true,
|
|
||||||
i18n: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Фамилия",
|
|
||||||
name: "lastName",
|
|
||||||
widget: "string",
|
|
||||||
required: true,
|
|
||||||
i18n: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Об авторе",
|
|
||||||
name: "body",
|
|
||||||
widget: "markdown",
|
|
||||||
required: false,
|
|
||||||
i18n: true,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* Projects
|
|
||||||
*/
|
|
||||||
{
|
|
||||||
name: "projects",
|
|
||||||
label: "Проекты",
|
|
||||||
label_singular: "проект",
|
|
||||||
description: "Основные проекты, которые были разработаны в выложены в открытый доступ",
|
|
||||||
folder: "src/content/projects",
|
|
||||||
create: true,
|
|
||||||
delete: true,
|
|
||||||
i18n: true,
|
|
||||||
fields: [
|
|
||||||
{
|
|
||||||
name: "icon",
|
|
||||||
label: "Иконка",
|
|
||||||
widget: "string",
|
|
||||||
required: true,
|
|
||||||
i18n: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "title",
|
|
||||||
label: "Название",
|
|
||||||
widget: "string",
|
|
||||||
required: true,
|
|
||||||
i18n: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "year",
|
|
||||||
label: "В каком году разработал",
|
|
||||||
widget: "number",
|
|
||||||
required: true,
|
|
||||||
i18n: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "description",
|
|
||||||
label: "Описание",
|
|
||||||
widget: "string",
|
|
||||||
required: true,
|
|
||||||
i18n: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "sourceUrl",
|
|
||||||
label: "Ссылка на исходник",
|
|
||||||
widget: "string",
|
|
||||||
required: true,
|
|
||||||
i18n: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "demoUrl",
|
|
||||||
label: "Ссылка на демонстрацию",
|
|
||||||
widget: "string",
|
|
||||||
required: false,
|
|
||||||
i18n: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "articleUrl",
|
|
||||||
label: "Ссылка на статью",
|
|
||||||
widget: "string",
|
|
||||||
required: false,
|
|
||||||
i18n: true,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* Skills
|
|
||||||
*/
|
|
||||||
{
|
|
||||||
name: "skills",
|
|
||||||
label: "Навыки",
|
|
||||||
label_singular: "навык",
|
|
||||||
folder: "src/content/skills",
|
|
||||||
create: true,
|
|
||||||
delete: true,
|
|
||||||
description: "Навыки отображаются на странице Обо мне",
|
|
||||||
i18n: true,
|
|
||||||
fields: [
|
|
||||||
{
|
|
||||||
name: "title",
|
|
||||||
label: "Категория",
|
|
||||||
widget: "string",
|
|
||||||
required: true,
|
|
||||||
i18n: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "list",
|
|
||||||
label: "Записи",
|
|
||||||
required: true,
|
|
||||||
widget: "list",
|
|
||||||
allow_add: true,
|
|
||||||
min: 1,
|
|
||||||
i18n: true,
|
|
||||||
fields: [
|
|
||||||
{ name: "icon", label: "Иконка", widget: "string", i18n: true, required: false },
|
|
||||||
{ name: "title", label: "Название", widget: "string", i18n: true },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* Settings
|
|
||||||
*/
|
|
||||||
{
|
|
||||||
name: "settings",
|
|
||||||
label: "Настройки",
|
|
||||||
files: [
|
|
||||||
{
|
|
||||||
name: "siteconfig",
|
|
||||||
label: "Настройки веб-сайта",
|
|
||||||
file: "siteconfig.json",
|
|
||||||
fields: [
|
|
||||||
{
|
|
||||||
label: "Название сайта",
|
|
||||||
name: "name",
|
|
||||||
widget: "string",
|
|
||||||
hint: "Отображается в шапке.",
|
|
||||||
default: "yarkov.tech",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Автор веб-сайта",
|
|
||||||
name: "author",
|
|
||||||
widget: "string",
|
|
||||||
hint: "Отображается в подвале.",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Глобальный заголовок",
|
|
||||||
name: "globalTitle",
|
|
||||||
widget: "string",
|
|
||||||
hint: "Отображется во вкладке браузера.",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "В разработке",
|
|
||||||
name: "isSiteUnderConstruction",
|
|
||||||
widget: "boolean",
|
|
||||||
required: false,
|
|
||||||
default: false,
|
|
||||||
hint: "Отображает баннер на всех старницах о том, что веб-сайт находится в разработке",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Счетчик Яндекс.Метрики",
|
|
||||||
name: "ymCounter",
|
|
||||||
widget: "number",
|
|
||||||
hint: "Например: 90034656",
|
|
||||||
required: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Статьи",
|
|
||||||
name: "articles",
|
|
||||||
widget: "object",
|
|
||||||
fields: [
|
|
||||||
{
|
|
||||||
name: "recentLimit",
|
|
||||||
label: "Лимит на отображение",
|
|
||||||
widget: "number",
|
|
||||||
hint: "Кол-во публикаций на гл.странице",
|
|
||||||
default: 5,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Контакты",
|
|
||||||
name: "contacts",
|
|
||||||
widget: "object",
|
|
||||||
required: false,
|
|
||||||
fields: [
|
|
||||||
{
|
|
||||||
label: "Telegram",
|
|
||||||
name: "telegram",
|
|
||||||
widget: "string",
|
|
||||||
required: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Почта",
|
|
||||||
name: "email",
|
|
||||||
widget: "string",
|
|
||||||
required: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Github",
|
|
||||||
name: "github",
|
|
||||||
widget: "string",
|
|
||||||
required: false,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
],
|
],
|
||||||
markdown: {
|
markdown: {
|
||||||
syntaxHighlight: "prism",
|
syntaxHighlight: "prism",
|
||||||
|
|||||||
11500
package-lock.json
generated
11500
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -25,7 +25,7 @@
|
|||||||
"@sindresorhus/slugify": "^2.2.1",
|
"@sindresorhus/slugify": "^2.2.1",
|
||||||
"astro": "^3.2.0",
|
"astro": "^3.2.0",
|
||||||
"astro-icon": "^1.1.5",
|
"astro-icon": "^1.1.5",
|
||||||
"astro-netlify-cms": "^0.5.4",
|
"decap-cms-app": "^3.6.3",
|
||||||
"hast-util-to-string": "^3.0.0",
|
"hast-util-to-string": "^3.0.0",
|
||||||
"hastscript": "^8.0.0",
|
"hastscript": "^8.0.0",
|
||||||
"html-escaper": "^3.0.3",
|
"html-escaper": "^3.0.3",
|
||||||
|
|||||||
247
public/admin/config.yml
Normal file
247
public/admin/config.yml
Normal file
@ -0,0 +1,247 @@
|
|||||||
|
editor:
|
||||||
|
preview: false
|
||||||
|
display_url: https://yarkov.tech
|
||||||
|
i18n:
|
||||||
|
locales: [ru, en]
|
||||||
|
default_locale: ru
|
||||||
|
structure: multiple_folders
|
||||||
|
locale: en
|
||||||
|
backend:
|
||||||
|
name: github
|
||||||
|
repo: sergeyyarkov/yarkov.tech
|
||||||
|
branch: main
|
||||||
|
media_folder: public/media
|
||||||
|
public_folder: "/media"
|
||||||
|
collections:
|
||||||
|
- name: articles
|
||||||
|
label: Публикации
|
||||||
|
label_singular: публикацию
|
||||||
|
description: Технические статьи, туториалы и различные справочные материалы которые связаны с IT тематикой
|
||||||
|
folder: src/content/blog
|
||||||
|
slug: "{{slug}}"
|
||||||
|
create: true
|
||||||
|
delete: true
|
||||||
|
i18n: true
|
||||||
|
fields:
|
||||||
|
- name: coverImage
|
||||||
|
widget: image
|
||||||
|
label: Постер
|
||||||
|
required: false
|
||||||
|
i18n: true
|
||||||
|
- name: draft
|
||||||
|
label: В черновике
|
||||||
|
widget: boolean
|
||||||
|
hint: Опубликована ли статья
|
||||||
|
i18n: true
|
||||||
|
required: false
|
||||||
|
- name: author
|
||||||
|
widget: relation
|
||||||
|
value_field: "{{firstName}} {{lastName}}"
|
||||||
|
search_fields:
|
||||||
|
- firstName
|
||||||
|
- lastName
|
||||||
|
collection: authors
|
||||||
|
label: Автор
|
||||||
|
i18n: true
|
||||||
|
- name: title
|
||||||
|
widget: string
|
||||||
|
label: Заголовок
|
||||||
|
i18n: true
|
||||||
|
- name: description
|
||||||
|
widget: string
|
||||||
|
label: Описание
|
||||||
|
i18n: true
|
||||||
|
- name: tags
|
||||||
|
widget: relation
|
||||||
|
label: Тэги
|
||||||
|
collection: tags
|
||||||
|
multiple: true
|
||||||
|
value_field: title
|
||||||
|
search_fields:
|
||||||
|
- title
|
||||||
|
i18n: true
|
||||||
|
- name: pubDate
|
||||||
|
widget: datetime
|
||||||
|
label: Дата публикации
|
||||||
|
picker_utc: true
|
||||||
|
i18n: true
|
||||||
|
- name: updatedDate
|
||||||
|
widget: datetime
|
||||||
|
label: Дата обновления
|
||||||
|
picker_utc: true
|
||||||
|
i18n: true
|
||||||
|
- name: body
|
||||||
|
widget: markdown
|
||||||
|
label: Содержание
|
||||||
|
i18n: true
|
||||||
|
- name: tags
|
||||||
|
label: Тэги
|
||||||
|
label_singular: тэг
|
||||||
|
description: Используются для тегирования контента
|
||||||
|
folder: src/content/tags
|
||||||
|
create: true
|
||||||
|
delete: true
|
||||||
|
fields:
|
||||||
|
- name: title
|
||||||
|
widget: string
|
||||||
|
label: Название
|
||||||
|
required: true
|
||||||
|
- name: authors
|
||||||
|
label: Авторы
|
||||||
|
label_singular: автора
|
||||||
|
description: На странице статьи отображается имя автора
|
||||||
|
slug: "{{firstName}}-{{lastName}}"
|
||||||
|
folder: src/content/authors
|
||||||
|
create: true
|
||||||
|
delete: true
|
||||||
|
i18n: true
|
||||||
|
fields:
|
||||||
|
- label: Имя
|
||||||
|
name: firstName
|
||||||
|
widget: string
|
||||||
|
required: true
|
||||||
|
i18n: true
|
||||||
|
- label: Фамилия
|
||||||
|
name: lastName
|
||||||
|
widget: string
|
||||||
|
required: true
|
||||||
|
i18n: true
|
||||||
|
- label: Об авторе
|
||||||
|
name: body
|
||||||
|
widget: markdown
|
||||||
|
required: false
|
||||||
|
i18n: true
|
||||||
|
- name: projects
|
||||||
|
label: Проекты
|
||||||
|
label_singular: проект
|
||||||
|
description: Основные проекты, которые были разработаны в выложены в открытый
|
||||||
|
доступ
|
||||||
|
folder: src/content/projects
|
||||||
|
create: true
|
||||||
|
delete: true
|
||||||
|
i18n: true
|
||||||
|
fields:
|
||||||
|
- name: icon
|
||||||
|
label: Иконка
|
||||||
|
widget: string
|
||||||
|
required: true
|
||||||
|
i18n: true
|
||||||
|
- name: title
|
||||||
|
label: Название
|
||||||
|
widget: string
|
||||||
|
required: true
|
||||||
|
i18n: true
|
||||||
|
- name: year
|
||||||
|
label: В каком году разработал
|
||||||
|
widget: number
|
||||||
|
required: true
|
||||||
|
i18n: true
|
||||||
|
- name: description
|
||||||
|
label: Описание
|
||||||
|
widget: string
|
||||||
|
required: true
|
||||||
|
i18n: true
|
||||||
|
- name: sourceUrl
|
||||||
|
label: Ссылка на исходник
|
||||||
|
widget: string
|
||||||
|
required: true
|
||||||
|
i18n: true
|
||||||
|
- name: demoUrl
|
||||||
|
label: Ссылка на демонстрацию
|
||||||
|
widget: string
|
||||||
|
required: false
|
||||||
|
i18n: true
|
||||||
|
- name: articleUrl
|
||||||
|
label: Ссылка на статью
|
||||||
|
widget: string
|
||||||
|
required: false
|
||||||
|
i18n: true
|
||||||
|
- name: skills
|
||||||
|
label: Навыки
|
||||||
|
label_singular: навык
|
||||||
|
folder: src/content/skills
|
||||||
|
create: true
|
||||||
|
delete: true
|
||||||
|
description: Навыки отображаются на странице Обо мне
|
||||||
|
i18n: true
|
||||||
|
fields:
|
||||||
|
- name: title
|
||||||
|
label: Категория
|
||||||
|
widget: string
|
||||||
|
required: true
|
||||||
|
i18n: true
|
||||||
|
- name: list
|
||||||
|
label: Записи
|
||||||
|
required: true
|
||||||
|
widget: list
|
||||||
|
allow_add: true
|
||||||
|
min: 1
|
||||||
|
i18n: true
|
||||||
|
fields:
|
||||||
|
- name: icon
|
||||||
|
label: Иконка
|
||||||
|
widget: string
|
||||||
|
i18n: true
|
||||||
|
required: false
|
||||||
|
- name: title
|
||||||
|
label: Название
|
||||||
|
widget: string
|
||||||
|
i18n: true
|
||||||
|
- name: settings
|
||||||
|
label: Настройки
|
||||||
|
files:
|
||||||
|
- name: siteconfig
|
||||||
|
label: Настройки веб-сайта
|
||||||
|
file: siteconfig.json
|
||||||
|
fields:
|
||||||
|
- label: Название сайта
|
||||||
|
name: name
|
||||||
|
widget: string
|
||||||
|
hint: Отображается в шапке.
|
||||||
|
default: yarkov.tech
|
||||||
|
- label: Автор веб-сайта
|
||||||
|
name: author
|
||||||
|
widget: string
|
||||||
|
hint: Отображается в подвале.
|
||||||
|
- label: Глобальный заголовок
|
||||||
|
name: globalTitle
|
||||||
|
widget: string
|
||||||
|
hint: Отображется во вкладке браузера.
|
||||||
|
- label: В разработке
|
||||||
|
name: isSiteUnderConstruction
|
||||||
|
widget: boolean
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
|
hint: Отображает баннер на всех старницах о том, что веб-сайт находится в
|
||||||
|
разработке
|
||||||
|
- label: Счетчик Яндекс.Метрики
|
||||||
|
name: ymCounter
|
||||||
|
widget: number
|
||||||
|
hint: "Например: 90034656"
|
||||||
|
required: false
|
||||||
|
- label: Статьи
|
||||||
|
name: articles
|
||||||
|
widget: object
|
||||||
|
fields:
|
||||||
|
- name: recentLimit
|
||||||
|
label: Лимит на отображение
|
||||||
|
widget: number
|
||||||
|
hint: Кол-во публикаций на гл.странице
|
||||||
|
default: 5
|
||||||
|
- label: Контакты
|
||||||
|
name: contacts
|
||||||
|
widget: object
|
||||||
|
required: false
|
||||||
|
fields:
|
||||||
|
- label: Telegram
|
||||||
|
name: telegram
|
||||||
|
widget: string
|
||||||
|
required: false
|
||||||
|
- label: Почта
|
||||||
|
name: email
|
||||||
|
widget: string
|
||||||
|
required: false
|
||||||
|
- label: Github
|
||||||
|
name: github
|
||||||
|
widget: string
|
||||||
|
required: false
|
||||||
13
src/pages/admin.html
Normal file
13
src/pages/admin.html
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<meta name="robots" content="noindex" />
|
||||||
|
<link href="/admin/config.yml" type="text/yaml" rel="cms-config-url" />
|
||||||
|
<title>Content Manager</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script src="https://unpkg.com/decap-cms@^3.1.2/dist/decap-cms.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Loading…
x
Reference in New Issue
Block a user