Add obsidian css snippets
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
*/.obsidian/app.json
|
*/.obsidian/app.json
|
||||||
*/.obsidian/appearance.json
|
*/.obsidian/appearance.json
|
||||||
*/.obsidian/core-plugins*.json
|
*/.obsidian/core-plugins*.json
|
||||||
|
*/.obsidian/snippets
|
||||||
|
|
||||||
// Dynamic
|
// Dynamic
|
||||||
*/.obsidian/graph.json
|
*/.obsidian/graph.json
|
||||||
|
@@ -15,6 +15,22 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
sharedSettings = {
|
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 = [
|
corePlugins = [
|
||||||
"bookmarks"
|
"bookmarks"
|
||||||
"canvas"
|
"canvas"
|
||||||
@@ -31,6 +47,11 @@
|
|||||||
"switcher"
|
"switcher"
|
||||||
"tag-pane"
|
"tag-pane"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
cssSnippets = [
|
||||||
|
./snippets/editor-monospace.css
|
||||||
|
./snippets/file-explorer-separators.css
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -83,6 +83,12 @@ in
|
|||||||
"word-count"
|
"word-count"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
cssSnippets = mkOption {
|
||||||
|
description = "CSS snippets to install.";
|
||||||
|
type = raw;
|
||||||
|
default = [ ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
vaults = mkOption {
|
vaults = mkOption {
|
||||||
@@ -122,6 +128,12 @@ in
|
|||||||
type = listOf (enum corePlugins);
|
type = listOf (enum corePlugins);
|
||||||
default = cfg.sharedSettings.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: {
|
mkAppearance = vault: {
|
||||||
name = "${vault.target}/.obsidian/appearance.json";
|
name = "${vault.target}/.obsidian/appearance.json";
|
||||||
value = {
|
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: [
|
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
|
in
|
||||||
builtins.listToAttrs (
|
builtins.listToAttrs (
|
||||||
lib.lists.flatten (
|
lib.lists.flatten (
|
||||||
@@ -183,6 +210,7 @@ in
|
|||||||
(mkApp vault)
|
(mkApp vault)
|
||||||
(mkAppearance vault)
|
(mkAppearance vault)
|
||||||
(mkCorePlugins vault)
|
(mkCorePlugins vault)
|
||||||
|
(mkCssSnippets vault)
|
||||||
]) vaults
|
]) vaults
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
@@ -0,0 +1,3 @@
|
|||||||
|
.markdown-source-view.mod-cm6 .cm-scroller {
|
||||||
|
font-family: var(--font-monospace);
|
||||||
|
}
|
@@ -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);
|
||||||
|
}
|
Reference in New Issue
Block a user