mirror of
https://github.com/gethomepage/homepage.git
synced 2026-01-04 06:12:12 +08:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
330575bab3 | ||
|
|
30ec4aed28 | ||
|
|
ee456fd8e5 | ||
|
|
ed25c8a84b | ||
|
|
b0a45fe09c | ||
|
|
50f0f46ad9 | ||
|
|
bd61d459ad | ||
|
|
4f73c60d37 | ||
|
|
7c536f0cb0 | ||
|
|
d5a489198a | ||
|
|
17f54da524 |
@@ -9,7 +9,7 @@
|
|||||||
- Images built for AMD64 (x86_64), ARM64, ARMv7 and ARMv6
|
- Images built for AMD64 (x86_64), ARM64, ARMv7 and ARMv6
|
||||||
- Supports all Raspberry Pi's, most SBCs & Apple Silicon
|
- Supports all Raspberry Pi's, most SBCs & Apple Silicon
|
||||||
- Full i18n support with automatic language detection
|
- Full i18n support with automatic language detection
|
||||||
- Translations for Chinese, Dutch, French, German, Norwegian Bokmål, Polish, Portuguese, Russian, Spanish and Swedish
|
- Translations for Chinese, Dutch, French, German, Hebrew, Hungarian, Norwegian Bokmål, Polish, Portuguese, Russian, Spanish and Swedish
|
||||||
- Want to help translate? [Join the Weblate project](https://hosted.weblate.org/engage/homepage/)
|
- Want to help translate? [Join the Weblate project](https://hosted.weblate.org/engage/homepage/)
|
||||||
- Service & Web Bookmarks
|
- Service & Web Bookmarks
|
||||||
- Docker Integration
|
- Docker Integration
|
||||||
@@ -120,8 +120,10 @@ Huge thanks to the all the contributors who have helped make this project what i
|
|||||||
- [aidenpwnz](https://github.com/benphelps/homepage/commits?author=aidenpwnz) - Nginx Proxy Manager, Search Bar Widget
|
- [aidenpwnz](https://github.com/benphelps/homepage/commits?author=aidenpwnz) - Nginx Proxy Manager, Search Bar Widget
|
||||||
- [AlexFullmoon](https://github.com/benphelps/homepage/commits?author=AlexFullmoon) - OpenWeatherMap Widget
|
- [AlexFullmoon](https://github.com/benphelps/homepage/commits?author=AlexFullmoon) - OpenWeatherMap Widget
|
||||||
- [AmadeusGraves](https://github.com/benphelps/homepage/commits?author=AmadeusGraves) - Spanish Translation
|
- [AmadeusGraves](https://github.com/benphelps/homepage/commits?author=AmadeusGraves) - Spanish Translation
|
||||||
|
- [andrii-kryvoviaz](https://github.com/benphelps/homepage/commits?author=andrii-kryvoviaz) - Background opacity option
|
||||||
- [boerniee](https://github.com/benphelps/homepage/commits?author=boerniee) - German Translation
|
- [boerniee](https://github.com/benphelps/homepage/commits?author=boerniee) - German Translation
|
||||||
- [comradekingu](https://github.com/benphelps/homepage/commits?author=comradekingu) - Norwegian Bokmål Translation
|
- [comradekingu](https://github.com/benphelps/homepage/commits?author=comradekingu) - Norwegian Bokmål Translation
|
||||||
|
- [Daniel Varga] - German & Hungarian Translation
|
||||||
- [deffcolony](https://github.com/benphelps/homepage/commits?author=deffcolony) - Dutch Translation
|
- [deffcolony](https://github.com/benphelps/homepage/commits?author=deffcolony) - Dutch Translation
|
||||||
- [desolaris](https://github.com/benphelps/homepage/commits?author=desolaris) - Russian Translation
|
- [desolaris](https://github.com/benphelps/homepage/commits?author=desolaris) - Russian Translation
|
||||||
- [ilusi0n](https://github.com/benphelps/homepage/commits?author=ilusi0n) - Jellyseerr Integration
|
- [ilusi0n](https://github.com/benphelps/homepage/commits?author=ilusi0n) - Jellyseerr Integration
|
||||||
@@ -136,6 +138,6 @@ Huge thanks to the all the contributors who have helped make this project what i
|
|||||||
- [psychodracon](https://github.com/benphelps/homepage/commits?author=psychodracon) - Polish Translation
|
- [psychodracon](https://github.com/benphelps/homepage/commits?author=psychodracon) - Polish Translation
|
||||||
- [quod](https://github.com/benphelps/homepage/commits?author=quod) - Fixed Typos
|
- [quod](https://github.com/benphelps/homepage/commits?author=quod) - Fixed Typos
|
||||||
- [schklom](https://github.com/benphelps/homepage/commits?author=schklom) - ARM64, ARMv7 and ARMv6
|
- [schklom](https://github.com/benphelps/homepage/commits?author=schklom) - ARM64, ARMv7 and ARMv6
|
||||||
|
- [ShlomiPorush](https://github.com/benphelps/homepage/commits?author=ShlomiPorush) - Hebrew Translation
|
||||||
- [SuperDOS](https://github.com/benphelps/homepage/commits?author=SuperDOS) - Swedish Translation
|
- [SuperDOS](https://github.com/benphelps/homepage/commits?author=SuperDOS) - Swedish Translation
|
||||||
- [xicopitz](https://github.com/benphelps/homepage/commits?author=xicopitz) - Gotify & Prowlarr Integration
|
- [xicopitz](https://github.com/benphelps/homepage/commits?author=xicopitz) - Gotify & Prowlarr Integration
|
||||||
- [andrii-kryvoviaz](https://github.com/benphelps/homepage/commits?author=andrii-kryvoviaz) - Background opacity option
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
"playing": "Spielen",
|
"playing": "Spielen",
|
||||||
"transcoding": "Transcodierung",
|
"transcoding": "Transcodierung",
|
||||||
"bitrate": "Bitrate",
|
"bitrate": "Bitrate",
|
||||||
"no_active": "Keine aktiven streamen"
|
"no_active": "Keine aktive Streams"
|
||||||
},
|
},
|
||||||
"tautulli": {
|
"tautulli": {
|
||||||
"playing": "Spielen",
|
"playing": "Spielen",
|
||||||
|
|||||||
@@ -88,8 +88,8 @@
|
|||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
"weather": {
|
"weather": {
|
||||||
"current": "Ubicación actual",
|
"current": "Localización Actual",
|
||||||
"allow": "Haga clic para permitir",
|
"allow": "Clic para permitir",
|
||||||
"updating": "Actualizando",
|
"updating": "Actualizando",
|
||||||
"wait": "Espere, por favor"
|
"wait": "Espere, por favor"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -69,7 +69,7 @@
|
|||||||
},
|
},
|
||||||
"speedtest": {
|
"speedtest": {
|
||||||
"upload": "Envoi",
|
"upload": "Envoi",
|
||||||
"download": "Récept.",
|
"download": "Récep.",
|
||||||
"ping": "Ping"
|
"ping": "Ping"
|
||||||
},
|
},
|
||||||
"portainer": {
|
"portainer": {
|
||||||
@@ -164,7 +164,7 @@
|
|||||||
"latency": "Latence"
|
"latency": "Latence"
|
||||||
},
|
},
|
||||||
"qbittorrent": {
|
"qbittorrent": {
|
||||||
"download": "Réception",
|
"download": "Récep.",
|
||||||
"upload": "Envoi",
|
"upload": "Envoi",
|
||||||
"leech": "Leech",
|
"leech": "Leech",
|
||||||
"seed": "Seed"
|
"seed": "Seed"
|
||||||
|
|||||||
@@ -99,14 +99,14 @@
|
|||||||
"available": "Disponibili"
|
"available": "Disponibili"
|
||||||
},
|
},
|
||||||
"sabnzbd": {
|
"sabnzbd": {
|
||||||
"rate": "Rate",
|
"rate": "Rapporto",
|
||||||
"queue": "Queue",
|
"queue": "Coda",
|
||||||
"timeleft": "Time Left"
|
"timeleft": "Tempo Rimanente"
|
||||||
},
|
},
|
||||||
"nzbget": {
|
"nzbget": {
|
||||||
"rate": "Rate",
|
"rate": "Rapporto",
|
||||||
"remaining": "Remaining",
|
"remaining": "Rimanente",
|
||||||
"downloaded": "Downloaded"
|
"downloaded": "Scaricato"
|
||||||
},
|
},
|
||||||
"coinmarketcap": {
|
"coinmarketcap": {
|
||||||
"configure": "Configure one or more crypto currencies to track",
|
"configure": "Configure one or more crypto currencies to track",
|
||||||
@@ -116,9 +116,9 @@
|
|||||||
"30days": "30 Days"
|
"30days": "30 Days"
|
||||||
},
|
},
|
||||||
"gotify": {
|
"gotify": {
|
||||||
"apps": "Applications",
|
"apps": "Applicazioni",
|
||||||
"clients": "Clients",
|
"clients": "Clients",
|
||||||
"messages": "Messages"
|
"messages": "Messaggi"
|
||||||
},
|
},
|
||||||
"prowlarr": {
|
"prowlarr": {
|
||||||
"enableIndexers": "Indexers",
|
"enableIndexers": "Indexers",
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
"playing": "Afspelen",
|
"playing": "Afspelen",
|
||||||
"transcoding": "Transcodering",
|
"transcoding": "Transcodering",
|
||||||
"bitrate": "Bitsnelheid",
|
"bitrate": "Bitsnelheid",
|
||||||
"no_active": "No Active Streams"
|
"no_active": "Geen Actieve Steams"
|
||||||
},
|
},
|
||||||
"tautulli": {
|
"tautulli": {
|
||||||
"playing": "Afspelen",
|
"playing": "Afspelen",
|
||||||
|
|||||||
@@ -113,7 +113,7 @@
|
|||||||
"1hour": "1 Hour",
|
"1hour": "1 Hour",
|
||||||
"1day": "1 Day",
|
"1day": "1 Day",
|
||||||
"7days": "7 Days",
|
"7days": "7 Days",
|
||||||
"30days": "30 Days"
|
"30days": "30 Дней"
|
||||||
},
|
},
|
||||||
"gotify": {
|
"gotify": {
|
||||||
"apps": "Applications",
|
"apps": "Applications",
|
||||||
|
|||||||
@@ -21,13 +21,13 @@
|
|||||||
"offline": "离线"
|
"offline": "离线"
|
||||||
},
|
},
|
||||||
"emby": {
|
"emby": {
|
||||||
"playing": "正在播放",
|
"playing": "播放中",
|
||||||
"transcoding": "转码",
|
"transcoding": "转码",
|
||||||
"bitrate": "比特率",
|
"bitrate": "比特率",
|
||||||
"no_active": "暂无播放"
|
"no_active": "暂无播放"
|
||||||
},
|
},
|
||||||
"tautulli": {
|
"tautulli": {
|
||||||
"playing": "正在播放",
|
"playing": "播放中",
|
||||||
"transcoding": "转码",
|
"transcoding": "转码",
|
||||||
"bitrate": "比特率",
|
"bitrate": "比特率",
|
||||||
"no_active": "暂无播放"
|
"no_active": "暂无播放"
|
||||||
@@ -38,12 +38,12 @@
|
|||||||
"download": "下载"
|
"download": "下载"
|
||||||
},
|
},
|
||||||
"sonarr": {
|
"sonarr": {
|
||||||
"wanted": "通缉",
|
"wanted": "想看",
|
||||||
"queued": "排队",
|
"queued": "排队",
|
||||||
"series": "系列"
|
"series": "系列"
|
||||||
},
|
},
|
||||||
"radarr": {
|
"radarr": {
|
||||||
"wanted": "订阅",
|
"wanted": "想看",
|
||||||
"queued": "队列",
|
"queued": "队列",
|
||||||
"movies": "电影"
|
"movies": "电影"
|
||||||
},
|
},
|
||||||
@@ -74,7 +74,7 @@
|
|||||||
},
|
},
|
||||||
"portainer": {
|
"portainer": {
|
||||||
"running": "运行中",
|
"running": "运行中",
|
||||||
"stopped": "已停止",
|
"stopped": "停止",
|
||||||
"total": "总计"
|
"total": "总计"
|
||||||
},
|
},
|
||||||
"traefik": {
|
"traefik": {
|
||||||
@@ -91,7 +91,7 @@
|
|||||||
"current": "当前定位",
|
"current": "当前定位",
|
||||||
"allow": "点击并允许",
|
"allow": "点击并允许",
|
||||||
"updating": "更新中",
|
"updating": "更新中",
|
||||||
"wait": "请等待"
|
"wait": "请稍后"
|
||||||
},
|
},
|
||||||
"overseerr": {
|
"overseerr": {
|
||||||
"pending": "待办",
|
"pending": "待办",
|
||||||
|
|||||||
@@ -22,12 +22,6 @@ function resolveIcon(icon) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export default function Item({ service }) {
|
export default function Item({ service }) {
|
||||||
const handleOnClick = () => {
|
|
||||||
if (service.href && service.href !== "#") {
|
|
||||||
window.open(service.href, "_blank").focus();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const hasLink = service.href && service.href !== "#";
|
const hasLink = service.href && service.href !== "#";
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -41,13 +35,14 @@ export default function Item({ service }) {
|
|||||||
<div className="flex select-none">
|
<div className="flex select-none">
|
||||||
{service.icon &&
|
{service.icon &&
|
||||||
(hasLink ? (
|
(hasLink ? (
|
||||||
<button
|
<a
|
||||||
type="button"
|
href={service.href}
|
||||||
onClick={handleOnClick}
|
target="_blank"
|
||||||
|
rel="noreferrer"
|
||||||
className="flex-shrink-0 flex items-center justify-center w-12 "
|
className="flex-shrink-0 flex items-center justify-center w-12 "
|
||||||
>
|
>
|
||||||
<Image src={resolveIcon(service.icon)} width={32} height={32} alt="logo" />
|
<Image src={resolveIcon(service.icon)} width={32} height={32} alt="logo" />
|
||||||
</button>
|
</a>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex-shrink-0 flex items-center justify-center w-12 ">
|
<div className="flex-shrink-0 flex items-center justify-center w-12 ">
|
||||||
<Image src={resolveIcon(service.icon)} width={32} height={32} alt="logo" />
|
<Image src={resolveIcon(service.icon)} width={32} height={32} alt="logo" />
|
||||||
@@ -55,16 +50,17 @@ export default function Item({ service }) {
|
|||||||
))}
|
))}
|
||||||
|
|
||||||
{hasLink ? (
|
{hasLink ? (
|
||||||
<button
|
<a
|
||||||
type="button"
|
href={service.href}
|
||||||
onClick={handleOnClick}
|
target="_blank"
|
||||||
|
rel="noreferrer"
|
||||||
className="flex-1 flex items-center justify-between rounded-r-md "
|
className="flex-1 flex items-center justify-between rounded-r-md "
|
||||||
>
|
>
|
||||||
<div className="flex-1 px-2 py-2 text-sm text-left">
|
<div className="flex-1 px-2 py-2 text-sm text-left">
|
||||||
{service.name}
|
{service.name}
|
||||||
<p className="text-theme-500 dark:text-theme-400 text-xs font-extralight">{service.description}</p>
|
<p className="text-theme-500 dark:text-theme-400 text-xs font-extralight">{service.description}</p>
|
||||||
</div>
|
</div>
|
||||||
</button>
|
</a>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex-1 flex items-center justify-between rounded-r-md ">
|
<div className="flex-1 flex items-center justify-between rounded-r-md ">
|
||||||
<div className="flex-1 px-2 py-2 text-sm text-left">
|
<div className="flex-1 px-2 py-2 text-sm text-left">
|
||||||
|
|||||||
9
src/pages/api/validate.js
Normal file
9
src/pages/api/validate.js
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
import checkAndCopyConfig from "utils/config";
|
||||||
|
|
||||||
|
const configs = ["docker.yaml", "settings.yaml", "services.yaml", "bookmarks.yaml"];
|
||||||
|
|
||||||
|
export default async function handler(req, res) {
|
||||||
|
const errors = configs.map((config) => checkAndCopyConfig(config)).filter((status) => status !== true);
|
||||||
|
|
||||||
|
res.send(errors);
|
||||||
|
}
|
||||||
@@ -14,7 +14,7 @@ export default async function handler(req, res) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!apiKey && provider) {
|
if (!apiKey && provider) {
|
||||||
const settings = await getSettings();
|
const settings = getSettings();
|
||||||
apiKey = settings?.providers?.openweathermap;
|
apiKey = settings?.providers?.openweathermap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ export default async function handler(req, res) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!apiKey && provider) {
|
if (!apiKey && provider) {
|
||||||
const settings = await getSettings();
|
const settings = getSettings();
|
||||||
apiKey = settings?.providers?.weatherapi;
|
apiKey = settings?.providers?.weatherapi;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import Head from "next/head";
|
|||||||
import dynamic from "next/dynamic";
|
import dynamic from "next/dynamic";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import { useEffect, useContext } from "react";
|
import { useEffect, useContext } from "react";
|
||||||
|
import { BiError } from "react-icons/bi";
|
||||||
|
|
||||||
import ServicesGroup from "components/services/group";
|
import ServicesGroup from "components/services/group";
|
||||||
import BookmarksGroup from "components/bookmarks/group";
|
import BookmarksGroup from "components/bookmarks/group";
|
||||||
@@ -23,17 +24,54 @@ const ColorToggle = dynamic(() => import("components/color-toggle"), {
|
|||||||
|
|
||||||
const rightAlignedWidgets = ["weatherapi", "openweathermap", "weather", "search", "datetime"];
|
const rightAlignedWidgets = ["weatherapi", "openweathermap", "weather", "search", "datetime"];
|
||||||
|
|
||||||
export async function getStaticProps() {
|
export function getStaticProps() {
|
||||||
const settings = await getSettings();
|
try {
|
||||||
|
const settings = getSettings();
|
||||||
return {
|
return {
|
||||||
props: {
|
props: {
|
||||||
settings,
|
settings,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
} catch (e) {
|
||||||
|
return {
|
||||||
|
props: {
|
||||||
|
settings: {},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function Home({ settings }) {
|
export default function Index({ settings }) {
|
||||||
|
const { data: errorsData } = useSWR("/api/validate");
|
||||||
|
|
||||||
|
if (errorsData && errorsData.length > 0) {
|
||||||
|
return (
|
||||||
|
<div className="w-full container m-auto justify-center p-10">
|
||||||
|
<div className="flex flex-col">
|
||||||
|
{errorsData.map((error, i) => (
|
||||||
|
<div
|
||||||
|
className="basis-1/2 bg-theme-500 dark:bg-theme-600 text-theme-600 dark:text-theme-300 m-2 rounded-md font-mono shadow-md border-4 border-transparent"
|
||||||
|
key={i}
|
||||||
|
>
|
||||||
|
<div className="bg-amber-200 text-amber-800 dark:text-amber-200 dark:bg-amber-800 p-2 rounded-md font-bold">
|
||||||
|
<BiError className="float-right w-6 h-6" />
|
||||||
|
{error.config}
|
||||||
|
</div>
|
||||||
|
<div className="p-2 text-theme-100 dark:text-theme-200">
|
||||||
|
<pre className="opacity-50 font-bold pb-2">{error.reason}</pre>
|
||||||
|
<pre className="text-sm">{error.mark.snippet}</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return <Home settings={settings} />;
|
||||||
|
}
|
||||||
|
|
||||||
|
function Home({ settings }) {
|
||||||
const { i18n } = useTranslation();
|
const { i18n } = useTranslation();
|
||||||
const { theme, setTheme } = useContext(ThemeContext);
|
const { theme, setTheme } = useContext(ThemeContext);
|
||||||
const { color, setColor } = useContext(ColorContext);
|
const { color, setColor } = useContext(ColorContext);
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
# For configuration options and examples, please see:
|
# For configuration options and examples, please see:
|
||||||
# https://github.com/benphelps/homepage/wiki/Bookmarks
|
# https://github.com/benphelps/homepage/wiki/Bookmarks
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
|
---
|
||||||
# For configuration options and examples, please see:
|
# For configuration options and examples, please see:
|
||||||
# https://github.com/benphelps/homepage/wiki/Docker-Integration
|
# https://github.com/benphelps/homepage/wiki/Docker-Integration
|
||||||
|
|
||||||
my-docker:
|
# my-docker:
|
||||||
host: 127.0.0.1
|
# host: 127.0.0.1
|
||||||
port: 2375
|
# port: 2375
|
||||||
|
|
||||||
other-docker:
|
# my-docker:
|
||||||
socket: /var/run/docker.sock
|
# socket: /var/run/docker.sock
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
# For configuration options and examples, please see:
|
# For configuration options and examples, please see:
|
||||||
# https://github.com/benphelps/homepage/wiki/Services
|
# https://github.com/benphelps/homepage/wiki/Services
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
# For configuration options and examples, please see:
|
# For configuration options and examples, please see:
|
||||||
# https://github.com/benphelps/homepage/wiki/Settings
|
# https://github.com/benphelps/homepage/wiki/Settings
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
# For configuration options and examples, please see:
|
# For configuration options and examples, please see:
|
||||||
# https://github.com/benphelps/homepage/wiki/Information-Widgets
|
# https://github.com/benphelps/homepage/wiki/Information-Widgets
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* eslint-disable no-console */
|
/* eslint-disable no-console */
|
||||||
import { join } from "path";
|
import { join } from "path";
|
||||||
import { existsSync, copyFile, promises as fs } from "fs";
|
import { existsSync, copyFile, readFileSync } from "fs";
|
||||||
|
|
||||||
import yaml from "js-yaml";
|
import yaml from "js-yaml";
|
||||||
|
|
||||||
@@ -15,13 +15,22 @@ export default function checkAndCopyConfig(config) {
|
|||||||
}
|
}
|
||||||
console.info("%s was copied to the config folder", config);
|
console.info("%s was copied to the config folder", config);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
yaml.load(readFileSync(configYaml, "utf8"));
|
||||||
|
return true;
|
||||||
|
} catch (e) {
|
||||||
|
return { ...e, config };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function getSettings() {
|
export function getSettings() {
|
||||||
checkAndCopyConfig("settings.yaml");
|
checkAndCopyConfig("settings.yaml");
|
||||||
|
|
||||||
const settingsYaml = join(process.cwd(), "config", "settings.yaml");
|
const settingsYaml = join(process.cwd(), "config", "settings.yaml");
|
||||||
const fileContents = await fs.readFile(settingsYaml, "utf8");
|
const fileContents = readFileSync(settingsYaml, "utf8");
|
||||||
return yaml.load(fileContents);
|
return yaml.load(fileContents);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user