From febb4cc6d55380fe12e2f1d8fde4032e0039f8e4 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 28 May 2023 09:42:13 -0700 Subject: [PATCH] Support settings layout as a list --- src/utils/config/config.js | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/utils/config/config.js b/src/utils/config/config.js index f312560d5..6c5f4ee73 100644 --- a/src/utils/config/config.js +++ b/src/utils/config/config.js @@ -65,5 +65,20 @@ export function getSettings() { const settingsYaml = join(process.cwd(), "config", "settings.yaml"); const rawFileContents = readFileSync(settingsYaml, "utf8"); const fileContents = substituteEnvironmentVars(rawFileContents); - return yaml.load(fileContents) ?? {}; + const initialSettings = yaml.load(fileContents) ?? {}; + + if (initialSettings.layout) { + // support yaml list but old spec was object so convert to that + // see https://github.com/benphelps/homepage/issues/1546 + if (Array.isArray(initialSettings.layout)) { + const layoutItems = initialSettings.layout + initialSettings.layout = {} + layoutItems.forEach(i => { + const name = Object.keys(i)[0] + initialSettings.layout[name] = i[name] + }) + } + } + + return initialSettings }