Add obsidian css snippets

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2024-07-11 11:45:31 +03:00
parent 62e062cd73
commit 99c4ee3e36
5 changed files with 72 additions and 1 deletions

View File

@@ -2,6 +2,7 @@
*/.obsidian/app.json
*/.obsidian/appearance.json
*/.obsidian/core-plugins*.json
*/.obsidian/snippets
// Dynamic
*/.obsidian/graph.json

View File

@@ -15,6 +15,22 @@
enable = true;
sharedSettings = {
app = {
defaultViewMode = "preview";
livePreview = false;
readableLineLength = false;
showLineNumber = true;
tabSize = 2;
promptDelete = false;
trashOption = "local";
alwaysUpdateLinks = true;
newFileLocation = "folder";
newFileFolderPath = "inbox";
newLinkFormat = "absolute";
showUnsupportedFiles = true;
attachmentFolderPath = "./assets";
};
corePlugins = [
"bookmarks"
"canvas"
@@ -31,6 +47,11 @@
"switcher"
"tag-pane"
];
cssSnippets = [
./snippets/editor-monospace.css
./snippets/file-explorer-separators.css
];
};
};

View File

@@ -83,6 +83,12 @@ in
"word-count"
];
};
cssSnippets = mkOption {
description = "CSS snippets to install.";
type = raw;
default = [ ];
};
};
vaults = mkOption {
@@ -122,6 +128,12 @@ in
type = listOf (enum corePlugins);
default = cfg.sharedSettings.corePlugins;
};
cssSnippets = mkOption {
description = "CSS snippets to install.";
type = listOf path;
default = cfg.sharedSettings.cssSnippets;
};
};
};
@@ -152,7 +164,14 @@ in
mkAppearance = vault: {
name = "${vault.target}/.obsidian/appearance.json";
value = {
source = (pkgs.formats.json { }).generate "appearance.json" vault.settings.appearance;
source = (pkgs.formats.json { }).generate "appearance.json" (
vault.settings.appearance
// {
enabledCssSnippets = builtins.map (
snippet: lib.strings.removeSuffix ".css" (builtins.baseNameOf snippet)
) vault.settings.cssSnippets;
}
);
};
};
mkCorePlugins = vault: [
@@ -176,6 +195,14 @@ in
};
}
];
mkCssSnippets =
vault:
builtins.map (snippet: {
name = "${vault.target}/.obsidian/snippets/${builtins.baseNameOf snippet}";
value = {
source = snippet;
};
}) vault.settings.cssSnippets;
in
builtins.listToAttrs (
lib.lists.flatten (
@@ -183,6 +210,7 @@ in
(mkApp vault)
(mkAppearance vault)
(mkCorePlugins vault)
(mkCssSnippets vault)
]) vaults
)
);

View File

@@ -0,0 +1,3 @@
.markdown-source-view.mod-cm6 .cm-scroller {
font-family: var(--font-monospace);
}

View File

@@ -0,0 +1,18 @@
:root {
--replete-custom-separators-vertical-padding: 4px;
--replete-custom-separators-left-margin: -12px;
}
.nav-files-container [class*=nav-]:has(:is(
[data-path="Inbox"],
[data-path="Dreams"],
[data-path="Work"],
[data-path="Random"],
))::after {
content:'';
display:block;
height:1px;
width:calc(100% + 32px);
background:linear-gradient(to right, var(--tab-outline-color), transparent);
margin:var(--replete-custom-separators-vertical-padding) 0 var(--replete-custom-separators-vertical-padding) var(--replete-custom-separators-left-margin);
}