commit
ee40c6411b
@ -0,0 +1,4 @@
|
||||
{
|
||||
"alwaysUpdateLinks": true,
|
||||
"newFileLocation": "current"
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
{
|
||||
"baseFontSize": 16,
|
||||
"translucency": true,
|
||||
"enabledCssSnippets": [
|
||||
"checkbox",
|
||||
"realistic-highlight",
|
||||
"inline-block-embeds",
|
||||
"colour-blocks",
|
||||
"tableStyle",
|
||||
"BackToTop",
|
||||
"folder_icon",
|
||||
"blockquotes",
|
||||
"bulletp_relationship",
|
||||
"hyphenation_justification",
|
||||
"externallink_icon",
|
||||
"folder_4_icon"
|
||||
],
|
||||
"cssTheme": "California Coast"
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
[
|
||||
"table-editor-obsidian",
|
||||
"dataview",
|
||||
"find-unlinked-files",
|
||||
"templater-obsidian",
|
||||
"obsidian-metatable",
|
||||
"metaedit",
|
||||
"ledger-obsidian",
|
||||
"buttons",
|
||||
"quickadd",
|
||||
"obsidian-map-view",
|
||||
"url-into-selection",
|
||||
"obsidian-admonition",
|
||||
"obsidian-dynamic-toc",
|
||||
"obsidian-tasks-plugin",
|
||||
"obsidian-dice-roller",
|
||||
"obsidian-pocket",
|
||||
"note-refactor-obsidian",
|
||||
"meld-encrypt",
|
||||
"find-and-replace-in-selection",
|
||||
"obsidian-auto-link-title",
|
||||
"obsidian-itinerary",
|
||||
"customjs",
|
||||
"obsidian42-brat",
|
||||
"code-block-copy",
|
||||
"obsidian-lineup-builder",
|
||||
"emoji-shortcodes",
|
||||
"nldates-obsidian",
|
||||
"rss-reader",
|
||||
"customizable-page-header-buttons",
|
||||
"obsidian-crypto-lookup"
|
||||
]
|
@ -0,0 +1,17 @@
|
||||
[
|
||||
"file-explorer",
|
||||
"global-search",
|
||||
"switcher",
|
||||
"graph",
|
||||
"backlink",
|
||||
"tag-pane",
|
||||
"page-preview",
|
||||
"templates",
|
||||
"note-composer",
|
||||
"command-palette",
|
||||
"markdown-importer",
|
||||
"word-count",
|
||||
"audio-recorder",
|
||||
"open-with-default-app",
|
||||
"file-recovery"
|
||||
]
|
@ -0,0 +1,93 @@
|
||||
{
|
||||
"collapse-filter": true,
|
||||
"search": "",
|
||||
"showTags": false,
|
||||
"showAttachments": false,
|
||||
"hideUnresolved": false,
|
||||
"showOrphans": true,
|
||||
"collapse-color-groups": false,
|
||||
"colorGroups": [
|
||||
{
|
||||
"query": "line:(Hierarchy: \"Root\")",
|
||||
"color": {
|
||||
"a": 1,
|
||||
"rgb": 14701138
|
||||
}
|
||||
},
|
||||
{
|
||||
"query": "line:(Hierarchy: \"Root2\")",
|
||||
"color": {
|
||||
"a": 1,
|
||||
"rgb": 16744448
|
||||
}
|
||||
},
|
||||
{
|
||||
"query": "line:(DocType: \"Task\")",
|
||||
"color": {
|
||||
"a": 1,
|
||||
"rgb": 11657298
|
||||
}
|
||||
},
|
||||
{
|
||||
"query": "line:(DocType: \"Product\")",
|
||||
"color": {
|
||||
"a": 1,
|
||||
"rgb": 16711935
|
||||
}
|
||||
},
|
||||
{
|
||||
"query": "line:(DocType: \"Server\")",
|
||||
"color": {
|
||||
"a": 1,
|
||||
"rgb": 10053171
|
||||
}
|
||||
},
|
||||
{
|
||||
"query": "line:(DocType: \"Source\")",
|
||||
"color": {
|
||||
"a": 1,
|
||||
"rgb": 255
|
||||
}
|
||||
},
|
||||
{
|
||||
"query": "line:(DocType: \"Investment\")",
|
||||
"color": {
|
||||
"a": 1,
|
||||
"rgb": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"query": "line:(DocType: \"Travel\")",
|
||||
"color": {
|
||||
"a": 1,
|
||||
"rgb": 5143079
|
||||
}
|
||||
},
|
||||
{
|
||||
"query": "line:(DocType: \"Place\"",
|
||||
"color": {
|
||||
"a": 1,
|
||||
"rgb": 5055154
|
||||
}
|
||||
},
|
||||
{
|
||||
"query": "line:(DocType: \"Recipe\") ",
|
||||
"color": {
|
||||
"a": 1,
|
||||
"rgb": 14701138
|
||||
}
|
||||
}
|
||||
],
|
||||
"collapse-display": false,
|
||||
"showArrow": true,
|
||||
"textFadeMultiplier": 0,
|
||||
"nodeSizeMultiplier": 1,
|
||||
"lineSizeMultiplier": 1,
|
||||
"collapse-forces": true,
|
||||
"centerStrength": 0.518713248970312,
|
||||
"repelStrength": 10,
|
||||
"linkStrength": 1,
|
||||
"linkDistance": 250,
|
||||
"scale": 0.3408463758608929,
|
||||
"close": true
|
||||
}
|
@ -0,0 +1 @@
|
||||
{}
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "buttons",
|
||||
"name": "Buttons",
|
||||
"description": "Create Buttons in your Obsidian notes to run commands, open links, and insert templates",
|
||||
"version": "0.4.16",
|
||||
"author": "shabegom",
|
||||
"authorUrl": "https://shbgm.ca",
|
||||
"isDesktopOnly": false,
|
||||
"minAppVersion": "0.12.8"
|
||||
}
|
@ -0,0 +1,142 @@
|
||||
/* @settings
|
||||
|
||||
name: Buttons
|
||||
id: buttons-styles
|
||||
settings:
|
||||
-
|
||||
id: button-background
|
||||
title: Background
|
||||
type: variable-themed-color
|
||||
format: hex
|
||||
opacity: false
|
||||
default-light: '#f5f6f8'
|
||||
default-dark: '#1b1b1b'
|
||||
-
|
||||
id: button-text
|
||||
title: Text
|
||||
type: variable-themed-color
|
||||
format: hex
|
||||
opacity: false
|
||||
default-light: '#1b1b1b'
|
||||
default-dark: '#f5f6f8'
|
||||
-
|
||||
id: button-border
|
||||
title: Border
|
||||
type: variable-themed-color
|
||||
format: hex
|
||||
opacity: false
|
||||
default-light: '#7a9486'
|
||||
default-dark: '#84a83a'
|
||||
-
|
||||
id: button-box-shadow
|
||||
title: Box Shadow
|
||||
type: variable-themed-color
|
||||
format: rgb
|
||||
opacity: true
|
||||
default-light: '#1b1b1b'
|
||||
default-dark: '#f5f6f8'
|
||||
-
|
||||
id: button-border-radius
|
||||
title: Border Radius
|
||||
type: variable-number
|
||||
format: px
|
||||
default: 5
|
||||
-
|
||||
id: button-size
|
||||
title: Font Size
|
||||
type: variable-number
|
||||
format: em
|
||||
default: 1
|
||||
|
||||
*/
|
||||
|
||||
.block-language-button {
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.button-default {
|
||||
border: 0.5px solid var(--button-border, #7a9486);
|
||||
border-radius: var(--button-border-radius, 5px);
|
||||
background-color: var(--button-background);
|
||||
padding: 10px 30px;
|
||||
color: var(--button-text);
|
||||
text-decoration: none;
|
||||
font-size: var(--button-size);
|
||||
margin: 0 5px;
|
||||
box-shadow: 0 1px 3px var(--button-box-shadow, rgba(0, 0, 0, 0.12)),
|
||||
0 1px 2px var(--button-box-shadow, rgba(0, 0, 0, 0.24));
|
||||
transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
|
||||
}
|
||||
|
||||
.button-default:hover {
|
||||
z-index: 100;
|
||||
box-shadow: 0 4px 4px var(--button-box-shadow, rgba(0, 0, 0, 0.25)),
|
||||
0 10px 10px var(--button-box-shadow, rgba(0, 0, 0, 0.22));
|
||||
transform: translate3d(0px, -1.5px, 0px);
|
||||
background-color: var(--button-background);
|
||||
}
|
||||
|
||||
.theme-dark .button-default {
|
||||
border: 0.5px solid var(--button-border, #84a83a);
|
||||
}
|
||||
|
||||
.theme-dark .button-default:hover {
|
||||
z-index: 100;
|
||||
box-shadow: 0 4px 4px var(--button-box-shadow, rgba(210, 210, 210, 0.25)),
|
||||
0 10px 10px var(--button-box-shadow, rgba(210, 210, 210, 0.22));
|
||||
transform: translate3d(0px, -1.5px, 0px);
|
||||
}
|
||||
|
||||
.blue {
|
||||
background: #76b3fa;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.red {
|
||||
background: red;
|
||||
}
|
||||
|
||||
.green {
|
||||
background: green;
|
||||
}
|
||||
|
||||
.yellow {
|
||||
background: yellow;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.purple {
|
||||
background: #725585;
|
||||
}
|
||||
|
||||
.blue:hover {
|
||||
background: #76b3fa;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.red:hover {
|
||||
background: red;
|
||||
}
|
||||
|
||||
.green:hover {
|
||||
background: green;
|
||||
}
|
||||
|
||||
.yellow:hover {
|
||||
background: yellow;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.purple:hover {
|
||||
background: #725585;
|
||||
}
|
||||
|
||||
.button-maker {
|
||||
max-width: 35rem;
|
||||
width: 35rem;
|
||||
overflow-y: auto;
|
||||
max-height: 30rem;
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem;
|
||||
overflow-x: hidden;
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,8 @@
|
||||
{
|
||||
"id": "code-block-copy",
|
||||
"name": "Copy button for code blocks",
|
||||
"author": "Daniel Brandenburg",
|
||||
"description": "Copy button for code blocks",
|
||||
"isDesktopOnly": false,
|
||||
"version": "0.1.0"
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
.copy-code-button {
|
||||
color: var(--background-primary);
|
||||
background-color: var(--text-faint);
|
||||
border-radius: 1px 1px 0px 0px;
|
||||
/* right-align */
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: 0;
|
||||
margin-bottom: -2px;
|
||||
padding: 3px 8px;
|
||||
font-size: 0.8em;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
right: 0px;
|
||||
}
|
||||
|
||||
.copy-code-button:hover {
|
||||
cursor: pointer;
|
||||
background-color: var(--text-normal);
|
||||
}
|
||||
|
||||
.copy-code-button:focus {
|
||||
/* Avoid an ugly focus outline on click in Chrome,
|
||||
but darken the button for accessibility.
|
||||
See https://stackoverflow.com/a/25298082/1481479 */
|
||||
background-color: var(--text-normal);
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
.copy-code-button:active {
|
||||
background-color: var(--text-normal);
|
||||
}
|
||||
|
||||
.highlight pre {
|
||||
/* Avoid pushing up the copy buttons. */
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.has-copy-button {
|
||||
position: relative;
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
{
|
||||
"enabledButtons": [
|
||||
{
|
||||
"id": "buttons:button-maker",
|
||||
"icon": "any-key",
|
||||
"name": "Buttons: Button Maker",
|
||||
"showButtons": "both"
|
||||
},
|
||||
{
|
||||
"id": "obsidian-pocket:open-pocket-list",
|
||||
"icon": "feather-pocket",
|
||||
"name": "Pocket integration: Open Pocket list",
|
||||
"showButtons": "both"
|
||||
},
|
||||
{
|
||||
"id": "rss-reader:rss-refresh",
|
||||
"icon": "feather-rss",
|
||||
"name": "RSS Reader: Refresh feeds",
|
||||
"showButtons": "both"
|
||||
},
|
||||
{
|
||||
"id": "templater-obsidian:insert-templater",
|
||||
"icon": "feather-feather",
|
||||
"name": "Templater: Open Insert Template modal",
|
||||
"showButtons": "both"
|
||||
},
|
||||
{
|
||||
"id": "obsidian-tasks-plugin:edit-task",
|
||||
"icon": "number-list-glyph",
|
||||
"name": "Tasks: Create or edit task",
|
||||
"showButtons": "both"
|
||||
}
|
||||
],
|
||||
"desktop": false
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "customizable-page-header-buttons",
|
||||
"name": "Customizable Page Header",
|
||||
"version": "3.1.1",
|
||||
"minAppVersion": "0.12.19",
|
||||
"description": "This plugin lets you add buttons for executing commands to the page header.",
|
||||
"author": "kometenstaub",
|
||||
"authorUrl": "https://github.com/kometenstaub",
|
||||
"isDesktopOnly": false
|
||||
}
|
@ -0,0 +1 @@
|
||||
Not Found
|
@ -0,0 +1,4 @@
|
||||
{
|
||||
"jsFiles": "",
|
||||
"jsFolder": "00.01 Admin"
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "customjs",
|
||||
"name": "CustomJS",
|
||||
"version": "1.0.11",
|
||||
"minAppVersion": "0.9.12",
|
||||
"description": "This plugin allows for the loading and reuse of custom JS inside your vault.",
|
||||
"author": "Sam Lewis",
|
||||
"authorUrl": "https://github.com/samlewis0602",
|
||||
"isDesktopOnly": false
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
/* Sets all the text color to red! */
|
||||
/* body {
|
||||
color: red;
|
||||
} */
|
@ -0,0 +1,18 @@
|
||||
{
|
||||
"renderNullAs": "\\-",
|
||||
"taskLinkLocation": "end",
|
||||
"taskLinkText": "🔗",
|
||||
"warnOnEmptyResult": true,
|
||||
"refreshInterval": 1000,
|
||||
"defaultDateFormat": "dd/MM/yyyy",
|
||||
"defaultDateTimeFormat": "h:mm a - MMMM dd, yyyy",
|
||||
"maxRecursiveRenderDepth": 6,
|
||||
"tableIdColumnName": "File",
|
||||
"tableGroupColumnName": "Group",
|
||||
"inlineQueryPrefix": "=",
|
||||
"inlineJsQueryPrefix": "$=",
|
||||
"enableDataviewJs": true,
|
||||
"enableInlineDataviewJs": true,
|
||||
"prettyRenderInlineFields": true,
|
||||
"schemaVersion": 1
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "dataview",
|
||||
"name": "Dataview",
|
||||
"version": "0.4.20",
|
||||
"minAppVersion": "0.12.0",
|
||||
"description": "Complex data views for the data-obsessed.",
|
||||
"author": "Michael Brenan <blacksmithgu@gmail.com>",
|
||||
"authorUrl": "https://github.com/blacksmithgu",
|
||||
"isDesktopOnly": false
|
||||
}
|
@ -0,0 +1,71 @@
|
||||
/* List View Default Styling; rendered internally as a table. */
|
||||
.table-view-table {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.table-view-table > thead > tr, .table-view-table > tbody > tr {
|
||||
margin-top: 1em;
|
||||
margin-bottom: 1em;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.table-view-table > thead > tr > th {
|
||||
font-weight: 700;
|
||||
font-size: larger;
|
||||
border-top: none;
|
||||
border-left: none;
|
||||
border-right: none;
|
||||
border-bottom: solid;
|
||||
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.table-view-table > tbody > tr > td {
|
||||
text-align: left;
|
||||
border: none;
|
||||
font-weight: 400;
|
||||
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
/** Rendered value styling for any view. */
|
||||
.dataview-result-list-root-ul {
|
||||
padding: 0em !important;
|
||||
margin: 0em !important;
|
||||
}
|
||||
|
||||
/** Generic grouping styling. */
|
||||
.dataview.result-group {
|
||||
padding-left: 8px;
|
||||
}
|
||||
|
||||
/** Inline Field Rendering. */
|
||||
|
||||
.dataview.inline-field-key {
|
||||
border-top-left-radius: 250px;
|
||||
border-bottom-left-radius: 250px;
|
||||
padding-left: 16px;
|
||||
padding-right: 8px;
|
||||
font-family: var(--font-monospace);
|
||||
background-color: var(--background-primary-alt);
|
||||
color: var(--text-nav-selected);
|
||||
}
|
||||
|
||||
.dataview.inline-field-value {
|
||||
border-top-right-radius: 250px;
|
||||
border-bottom-right-radius: 250px;
|
||||
padding-left: 8px;
|
||||
padding-right: 16px;
|
||||
font-family: var(--font-monospace);
|
||||
background-color: var(--background-secondary-alt);
|
||||
color: var(--text-nav-selected);
|
||||
}
|
||||
|
||||
.dataview.inline-field-standalone-value {
|
||||
border-radius: 250px;
|
||||
padding-left: 16px;
|
||||
padding-right: 16px;
|
||||
font-family: var(--font-monospace);
|
||||
background-color: var(--background-secondary-alt);
|
||||
color: var(--text-nav-selected);
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "emoji-shortcodes",
|
||||
"name": "Emoji Shortcodes",
|
||||
"version": "2.1.0",
|
||||
"minAppVersion": "0.12.17",
|
||||
"description": "This Plugin enables the use of Markdown Emoji Shortcodes :smile:",
|
||||
"author": "phibr0",
|
||||
"authorUrl": "https://github.com/phibr0",
|
||||
"isDesktopOnly": false
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
a[href="https://www.buymeacoffee.com/phibr0"] > img {
|
||||
height: 2.2em;
|
||||
}
|
||||
|
||||
a[href="https://www.buymeacoffee.com/phibr0"]{
|
||||
transform: translate(0, 5%);
|
||||
}
|
||||
|
||||
.ES-suggester-container {
|
||||
display: flex;
|
||||
place-content: space-between;
|
||||
}
|
||||
|
||||
.ES-shortcode {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.ES-suggestion-item {
|
||||
border-top: solid var(--background-secondary) 1px;
|
||||
padding-left: 10px;
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
{
|
||||
"findText": "ad?co",
|
||||
"findRegexp": "",
|
||||
"regexpFlags": "",
|
||||
"replace": "```ad-command~~~<>~~~```"
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "find-and-replace-in-selection",
|
||||
"name": "Find and replace in selection",
|
||||
"version": "1.0.1",
|
||||
"minAppVersion": "0.9.12",
|
||||
"description": "Finds what you are looking for in the selected text and replaces it with the specified text",
|
||||
"author": "Dmitry Savosh",
|
||||
"authorUrl": "https://github.com/derwish-pro/",
|
||||
"isDesktopOnly": false
|
||||
}
|
@ -0,0 +1 @@
|
||||
Not Found
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,9 @@
|
||||
{
|
||||
"id": "find-unlinked-files",
|
||||
"name": "Find unlinked files and unresolved links",
|
||||
"version": "1.3.1",
|
||||
"description": "Find files that are not linked anywhere and would otherwise be lost in your vault. In other words: files with no backlinks.",
|
||||
"author": "Vinzent",
|
||||
"authorUrl": "https://github.com/Vinzent03",
|
||||
"isDesktopOnly": false
|
||||
}
|
@ -0,0 +1 @@
|
||||
Not Found
|
@ -0,0 +1,6 @@
|
||||
{
|
||||
"currencySymbol": "£",
|
||||
"ledgerFile": "Ledger.md",
|
||||
"includeFinalLineAmount": false,
|
||||
"enableLedgerVis": false
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,11 @@
|
||||
{
|
||||
"id": "ledger-obsidian",
|
||||
"name": "Ledger",
|
||||
"author": "Tony Grosinger",
|
||||
"authorUrl": "https://grosinger.net",
|
||||
"description": "Plain text accounting",
|
||||
"isDesktopOnly": false,
|
||||
"version": "0.0.8",
|
||||
"minAppVersion": "0.11.12",
|
||||
"js": "main.js"
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
/*
|
||||
Transaction Entry Modal
|
||||
*/
|
||||
|
||||
.is-mobile .remove-row {
|
||||
margin: 11px 4px 11px 0 !important;
|
||||
}
|
||||
|
||||
.is-mobile input[type='number'] {
|
||||
padding: 8px 14px;
|
||||
height: auto;
|
||||
font-size: 17px;
|
||||
}
|
||||
|
||||
.is-mobile button {
|
||||
margin: 5px 0;
|
||||
}
|
||||
|
||||
/*
|
||||
Settings Page
|
||||
*/
|
||||
|
||||
.ledger-input-error {
|
||||
border-color: var(--text-error) !important;
|
||||
}
|
||||
|
||||
.ledger-donation {
|
||||
width: 70%;
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.ledger-donate-button {
|
||||
margin: 10px;
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "meld-encrypt",
|
||||
"name": "Meld Encrypt",
|
||||
"version": "1.5.1",
|
||||
"minAppVersion": "0.12.15",
|
||||
"description": "Hide secrets in your notes",
|
||||
"author": "meld-cp",
|
||||
"authorUrl": "https://github.com/meld-cp/obsidian-encrypt",
|
||||
"isDesktopOnly": false
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
.meld-e-row{
|
||||
display: flex;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
.meld-e-icon{
|
||||
flex: 1;
|
||||
display: inline-block;
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
.meld-e-row input{
|
||||
flex: 20;
|
||||
}
|
||||
|
||||
.meld-e-platform-desktop .meld-e-button-confirm {
|
||||
margin-left: 2.8em;
|
||||
padding: 1em 2em;
|
||||
}
|
||||
.meld-e-platform-desktop .meld-e-button-confirm:focus{
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.meld-e-message{
|
||||
margin-left: 2.8em;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
.meld-e-button-next{
|
||||
margin-left: 1em;
|
||||
flex: 3;
|
||||
}
|
||||
|
||||
.meld-e-platform-mobile .meld-e-button-next{
|
||||
display: inline-block;
|
||||
margin: 0 0 0 1em;
|
||||
width: auto;
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
{
|
||||
"ProgressProperties": {
|
||||
"enabled": false,
|
||||
"properties": []
|
||||
},
|
||||
"IgnoredProperties": {
|
||||
"enabled": false,
|
||||
"properties": []
|
||||
},
|
||||
"AutoProperties": {
|
||||
"enabled": false,
|
||||
"properties": []
|
||||
},
|
||||
"EditMode": {
|
||||
"mode": "Some Multi",
|
||||
"properties": [
|
||||
"Tag",
|
||||
"Alias",
|
||||
"Location",
|
||||
"Groceries",
|
||||
"Health",
|
||||
"Household"
|
||||
]
|
||||
},
|
||||
"KanbanHelper": {
|
||||
"enabled": false,
|
||||
"boards": []
|
||||
},
|
||||
"UIElements": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "metaedit",
|
||||
"name": "MetaEdit",
|
||||
"version": "1.7.1",
|
||||
"minAppVersion": "0.12.0",
|
||||
"description": "MetaEdit helps you manage your metadata.",
|
||||
"author": "Christian B. B. Houmann",
|
||||
"authorUrl": "https://bagerbach.com",
|
||||
"isDesktopOnly": false
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
.centerSettingContent {
|
||||
display: grid;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.not-a-button {
|
||||
background: none;
|
||||
color: inherit;
|
||||
border: none;
|
||||
padding: 0;
|
||||
font: inherit;
|
||||
cursor: pointer;
|
||||
outline: inherit;
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
{
|
||||
"autosuggestToggleLink": false,
|
||||
"autocompleteTriggerPhrase": "@",
|
||||
"isAutosuggestEnabled": true,
|
||||
"format": "YYYY-MM-DD",
|
||||
"timeFormat": "HH:mm",
|
||||
"separator": " ",
|
||||
"weekStart": "monday",
|
||||
"modalToggleTime": false,
|
||||
"modalToggleLink": false,
|
||||
"modalMomentFormat": "YYYY-MM-DD HH:mm"
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "nldates-obsidian",
|
||||
"name": "Natural Language Dates",
|
||||
"description": "Create date-links based on natural language",
|
||||
"version": "0.6.0",
|
||||
"author": "Argentina Ortega Sainz",
|
||||
"authorUrl": "https://argentinaos.com/",
|
||||
"isDesktopOnly": false,
|
||||
"minAppVersion": "0.13.0"
|
||||
}
|
@ -0,0 +1 @@
|
||||
Not Found
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,9 @@
|
||||
{
|
||||
"id": "note-refactor-obsidian",
|
||||
"name": "Note Refactor",
|
||||
"version": "1.7.1",
|
||||
"description": "Extract note content into new notes and split notes",
|
||||
"isDesktopOnly": false,
|
||||
"js": "main.js",
|
||||
"css": "style.css"
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
.note-refactor-filename .setting-item-info {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.note-refactor-filename .setting-item-name {
|
||||
padding-top: 10px;
|
||||
}
|
@ -0,0 +1,102 @@
|
||||
{
|
||||
"userAdmonitions": {
|
||||
"command": {
|
||||
"type": "command",
|
||||
"color": "0, 66, 169",
|
||||
"icon": {
|
||||
"name": "terminal",
|
||||
"type": "font-awesome"
|
||||
},
|
||||
"command": false,
|
||||
"title": "command"
|
||||
},
|
||||
"path": {
|
||||
"type": "path",
|
||||
"color": "120, 88, 0",
|
||||
"icon": {
|
||||
"name": "folder-open",
|
||||
"type": "font-awesome"
|
||||
},
|
||||
"command": false,
|
||||
"title": "path"
|
||||
},
|
||||
"code": {
|
||||
"type": "code",
|
||||
"color": "56, 87, 26",
|
||||
"icon": {
|
||||
"name": "code",
|
||||
"type": "font-awesome"
|
||||
},
|
||||
"command": false,
|
||||
"title": "Code"
|
||||
},
|
||||
"address": {
|
||||
"type": "address",
|
||||
"color": "121, 26, 61",
|
||||
"icon": {
|
||||
"name": "directions",
|
||||
"type": "font-awesome"
|
||||
},
|
||||
"command": false,
|
||||
"title": "address"
|
||||
},
|
||||
"contact": {
|
||||
"type": "contact",
|
||||
"color": "152, 42, 188",
|
||||
"icon": {
|
||||
"name": "address-card",
|
||||
"type": "font-awesome"
|
||||
},
|
||||
"command": false,
|
||||
"title": "Contact"
|
||||
},
|
||||
"email": {
|
||||
"type": "email",
|
||||
"color": "97, 24, 124",
|
||||
"icon": {
|
||||
"name": "at",
|
||||
"type": "font-awesome"
|
||||
},
|
||||
"command": false,
|
||||
"title": "Email"
|
||||
},
|
||||
"product": {
|
||||
"type": "product",
|
||||
"color": "255, 181, 175",
|
||||
"icon": {
|
||||
"name": "barcode",
|
||||
"type": "font-awesome"
|
||||
},
|
||||
"command": false,
|
||||
"title": "Product"
|
||||
},
|
||||
"task": {
|
||||
"type": "task",
|
||||
"color": "254, 180, 63",
|
||||
"icon": {
|
||||
"name": "calendar-check",
|
||||
"type": "font-awesome"
|
||||
},
|
||||
"command": false,
|
||||
"title": "Task"
|
||||
},
|
||||
"bday": {
|
||||
"type": "bday",
|
||||
"color": "255, 0, 255",
|
||||
"icon": {
|
||||
"name": "birthday-cake",
|
||||
"type": "font-awesome"
|
||||
},
|
||||
"command": false,
|
||||
"title": "Birthday"
|
||||
}
|
||||
},
|
||||
"syntaxHighlight": false,
|
||||
"copyButton": true,
|
||||
"version": "6.6.1",
|
||||
"autoCollapse": false,
|
||||
"defaultCollapseType": "open",
|
||||
"syncLinks": true,
|
||||
"enableMarkdownProcessor": false,
|
||||
"injectColor": true
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "obsidian-admonition",
|
||||
"name": "Admonition",
|
||||
"version": "6.6.1",
|
||||
"minAppVersion": "0.11.0",
|
||||
"description": "Admonition block-styled content for Obsidian.md",
|
||||
"author": "Jeremy Valentine",
|
||||
"authorUrl": "",
|
||||
"isDesktopOnly": false
|
||||
}
|
@ -0,0 +1,271 @@
|
||||
/** Constants */
|
||||
:root {
|
||||
--admonition-details-icon: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M8.59 16.58L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42z'/></svg>");
|
||||
}
|
||||
|
||||
.admonition {
|
||||
margin: 1.5625em 0;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
color: var(--text-normal);
|
||||
page-break-inside: avoid;
|
||||
background-color: var(--background-secondary);
|
||||
border-left: 0.2rem solid rgb(var(--admonition-color));
|
||||
border-radius: 0.1rem;
|
||||
box-shadow: 0 0.2rem 0.5rem var(--background-modifier-box-shadow);
|
||||
}
|
||||
|
||||
.admonition-title {
|
||||
position: relative;
|
||||
padding: 0.6rem 0.25em;
|
||||
font-weight: 700;
|
||||
background-color: rgba(var(--admonition-color), 0.1);
|
||||
}
|
||||
|
||||
.admonition-title-content {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
.admonition-title-icon {
|
||||
color: rgb(var(--admonition-color));
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin: 0 0.5em 0 0.25em;
|
||||
min-width: 1em;
|
||||
width: min-content;
|
||||
}
|
||||
|
||||
.admonition-title-markdown {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.admonition-title.no-title {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.admonition > .admonition-title.no-title + .admonition-content-holder {
|
||||
margin-top: 1rem;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.admonition-content-holder {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.admonition-content {
|
||||
margin: 10px 15px;
|
||||
position: relative;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.admonition-content-copy {
|
||||
color: var(--text-faint);
|
||||
cursor: pointer;
|
||||
opacity: 0;
|
||||
position: absolute;
|
||||
right: 0.375rem;
|
||||
top: -5px;
|
||||
transition: 0.3s opacity ease-in;
|
||||
}
|
||||
|
||||
.admonition-content-copy:hover {
|
||||
color: var(--text-normal);
|
||||
}
|
||||
|
||||
.admonition:hover .admonition-content-copy,
|
||||
.admonition-content-copy:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
.admonition-title:hover + .admonition-content .admonition-content-copy {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
details.admonition:not([open]) {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
details.admonition > summary {
|
||||
outline: none;
|
||||
display: block !important;
|
||||
list-style: none !important;
|
||||
list-style-type: none !important;
|
||||
min-height: 1rem;
|
||||
border-top-left-radius: 0.1rem;
|
||||
border-top-right-radius: 0.1rem;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
details.admonition > summary::-webkit-details-marker,
|
||||
details.admonition > summary::marker {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
details.admonition > summary > .collapser {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
right: 8px;
|
||||
transform: translateY(-50%);
|
||||
content: "";
|
||||
}
|
||||
|
||||
details.admonition > summary > .collapser > .handle {
|
||||
transform: rotate(0deg);
|
||||
transition: transform 0.25s;
|
||||
background-color: currentColor;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
mask-repeat: no-repeat;
|
||||
-webkit-mask-size: contain;
|
||||
mask-size: contain;
|
||||
-webkit-mask-image: var(--admonition-details-icon);
|
||||
mask-image: var(--admonition-details-icon);
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
details.admonition[open] > summary > .collapser > .handle {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
|
||||
/** Settings */
|
||||
.admonition-setting-additional-container
|
||||
> .setting-item:not(.setting-item-heading) {
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
.admonition-setting-additional-container {
|
||||
border-bottom: 1px solid var(--background-modifier-border);
|
||||
border-top: 1px solid var(--background-modifier-border);
|
||||
padding: 18px 0 0 0;
|
||||
}
|
||||
|
||||
.admonition-setting-additional-container > .setting-item-heading:only-child {
|
||||
padding-bottom: 18px;
|
||||
}
|
||||
|
||||
.admonition-setting-additional-container > .additional {
|
||||
margin: 6px 12px;
|
||||
}
|
||||
.admonition-setting-additional-container > .additional > .setting-item {
|
||||
border-top: 0;
|
||||
padding-top: 9px;
|
||||
}
|
||||
.admonition-setting-additional-container
|
||||
> .additional
|
||||
> .setting-item
|
||||
> .setting-item-control
|
||||
> *:first-child {
|
||||
margin: 0 6px;
|
||||
}
|
||||
|
||||
.setting-item > .admonition {
|
||||
width: 50%;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.unset-align-items {
|
||||
align-items: unset;
|
||||
}
|
||||
|
||||
.has-invalid-message {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
grid-template-rows: 1fr 1fr;
|
||||
grid-template-areas:
|
||||
"text image"
|
||||
"inv inv";
|
||||
}
|
||||
|
||||
input.is-invalid {
|
||||
border-color: #dc3545 !important;
|
||||
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
|
||||
background-repeat: no-repeat;
|
||||
background-position: right calc(0.375em + 0.1875rem) center;
|
||||
background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
|
||||
}
|
||||
|
||||
.admonition-type-setting input {
|
||||
grid-column: span 2;
|
||||
}
|
||||
|
||||
.invalid-feedback {
|
||||
display: block;
|
||||
grid-area: inv;
|
||||
width: 100%;
|
||||
margin-top: 0.25rem;
|
||||
font-size: 0.875em;
|
||||
color: #dc3545;
|
||||
}
|
||||
|
||||
.suggestion-content.admonition-icon {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
flex-flow: row wrap;
|
||||
}
|
||||
|
||||
.suggestion-content.admonition-icon > .suggestion-text.admonition-text {
|
||||
width: fit-content;
|
||||
}
|
||||
|
||||
.suggestion-content.admonition-icon
|
||||
> .suggestion-flair.admonition-suggester-icon {
|
||||
width: min-content;
|
||||
position: relative;
|
||||
top: unset;
|
||||
left: unset;
|
||||
right: unset;
|
||||
bottom: unset;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.suggestion-content.admonition-icon > .suggestion-note {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.admonition-suggester-icon svg {
|
||||
width: 1em;
|
||||
}
|
||||
|
||||
.admonition-color-settings .setting-item-control {
|
||||
gap: 1rem;
|
||||
}
|
||||
.admonition-color-settings input[type="color"]:disabled {
|
||||
opacity: 0.75;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
/** Internal */
|
||||
|
||||
.admonition li.task-list-item.is-checked p {
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
.admonition-settings .coffee {
|
||||
width: 60%;
|
||||
color: var(--text-faint);
|
||||
margin: 1rem auto;
|
||||
text-align: center;
|
||||
}
|
||||
.admonition-settings .coffee img {
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
.admonition-file-upload {
|
||||
margin-right: 0;
|
||||
margin-left: 12px;
|
||||
}
|
||||
.admonition-file-upload > input[type="file"] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.insert-admonition-modal button:focus,
|
||||
.insert-admonition-modal .clickable-icon:focus {
|
||||
box-shadow: 0px 0px 5px rgb(0 0 0 / 50%);
|
||||
border-color: var(--background-modifier-border-focus);
|
||||
}
|
||||
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "obsidian-auto-link-title",
|
||||
"name": "Auto Link Title",
|
||||
"version": "1.2.3",
|
||||
"minAppVersion": "0.9.12",
|
||||
"description": "This plugin automatically fetches the titles of links from the web",
|
||||
"author": "Matt Furden",
|
||||
"authorUrl": "https://github.com/zolrath",
|
||||
"isDesktopOnly": false
|
||||
}
|
@ -0,0 +1 @@
|
||||
Not Found
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "obsidian-citation-plugin",
|
||||
"name": "Citations",
|
||||
"version": "0.4.4",
|
||||
"minAppVersion": "0.9.20",
|
||||
"description": "Automatically search and insert citations from a Zotero library",
|
||||
"author": "Jon Gauthier",
|
||||
"authorUrl": "http://foldl.me",
|
||||
"isDesktopOnly": false
|
||||
}
|
@ -0,0 +1,114 @@
|
||||
/** Citations modal **/
|
||||
|
||||
/*
|
||||
* Loading animation from
|
||||
* https://loading.io/css/
|
||||
*/
|
||||
.zoteroModalLoading {
|
||||
color: var(--text-muted);
|
||||
text-align: center;
|
||||
}
|
||||
.zoteroModalLoadingAnimation {
|
||||
display: inline-block;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
}
|
||||
.zoteroModalLoadingAnimation {
|
||||
content: " ";
|
||||
display: block;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
margin: 10px auto;
|
||||
border-radius: 50%;
|
||||
border: 3px solid #eee;
|
||||
border-color: #eee transparent #eee transparent;
|
||||
animation: lds-dual-ring 1.2s linear infinite;
|
||||
}
|
||||
@keyframes lds-dual-ring {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
#zoteroSettingTab .text-monospace {
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.zoteroModalResults .suggestion-item {
|
||||
height: fit-content;
|
||||
line-height: 1.5rem;
|
||||
}
|
||||
|
||||
.zoteroTitle {
|
||||
font-size: 14px;
|
||||
display: block;
|
||||
}
|
||||
.zoteroAuthors {
|
||||
color: #555;
|
||||
font-size: 13px;
|
||||
}
|
||||
.zoteroAuthorsEmpty::after {
|
||||
font-style: italic;
|
||||
content: 'Unknown authors';
|
||||
}
|
||||
.zoteroCitekey {
|
||||
color: #555;
|
||||
font-size: 13px;
|
||||
font-family: monospace;
|
||||
display: inline-block;
|
||||
margin-right: 5px;
|
||||
padding-right: 5px;
|
||||
border-right: 1px solid #ccc;
|
||||
}
|
||||
|
||||
.theme-dark .zoteroTitle {
|
||||
font-size: 14px;
|
||||
display: block;
|
||||
}
|
||||
.theme-dark .zoteroAuthors {
|
||||
color: #aaa;
|
||||
font-size: 13px;
|
||||
}
|
||||
.theme-dark .zoteroCitekey {
|
||||
color: #aaa;
|
||||
font-size: 13px;
|
||||
font-family: monospace;
|
||||
display: inline-block;
|
||||
margin-right: 5px;
|
||||
padding-right: 5px;
|
||||
border-right: 1px solid #aaa;
|
||||
}
|
||||
|
||||
/** Settings dialog **/
|
||||
.d-none {
|
||||
display: none;
|
||||
}
|
||||
.zoteroSettingCitationPathLoading,
|
||||
.zoteroSettingCitationPathError,
|
||||
.zoteroSettingCitationPathSuccess {
|
||||
font-size: 14px;
|
||||
}
|
||||
.zoteroSettingCitationPathLoading {
|
||||
color: var(--text-muted);
|
||||
}
|
||||
.zoteroSettingCitationPathError {
|
||||
color: var(--text-error);
|
||||
}
|
||||
.zoteroSettingCitationPathError:hover {
|
||||
color: var(--text-error-hover);
|
||||
}
|
||||
.zoteroSettingCitationPathSuccess {
|
||||
color: var(--text-accent);
|
||||
}
|
||||
.zoteroSettingCitationPathSuccess:hover {
|
||||
color: var(--text-accent-hover);
|
||||
}
|
||||
|
||||
#zoteroSettingTab textarea {
|
||||
resize: vertical;
|
||||
width: 100%;
|
||||
min-height: 10em;
|
||||
}
|
@ -0,0 +1,895 @@
|
||||
/*
|
||||
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
||||
if you want to view the source visit the plugins github repository
|
||||
*/
|
||||
|
||||
var __create = Object.create;
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __getProtoOf = Object.getPrototypeOf;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
||||
var __commonJS = (cb, mod) => function __require() {
|
||||
return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
||||
};
|
||||
var __export = (target, all) => {
|
||||
__markAsModule(target);
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __reExport = (target, module2, desc) => {
|
||||
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
||||
for (let key of __getOwnPropNames(module2))
|
||||
if (!__hasOwnProp.call(target, key) && key !== "default")
|
||||
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
|
||||
}
|
||||
return target;
|
||||
};
|
||||
var __toModule = (module2) => {
|
||||
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
|
||||
};
|
||||
var __async = (__this, __arguments, generator) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
var fulfilled = (value) => {
|
||||
try {
|
||||
step(generator.next(value));
|
||||
} catch (e) {
|
||||
reject(e);
|
||||
}
|
||||
};
|
||||
var rejected = (value) => {
|
||||
try {
|
||||
step(generator.throw(value));
|
||||
} catch (e) {
|
||||
reject(e);
|
||||
}
|
||||
};
|
||||
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
||||
step((generator = generator.apply(__this, __arguments)).next());
|
||||
});
|
||||
};
|
||||
|
||||
// node_modules/numeral/numeral.js
|
||||
var require_numeral = __commonJS({
|
||||
"node_modules/numeral/numeral.js"(exports, module2) {
|
||||
(function(global, factory) {
|
||||
if (typeof define === "function" && define.amd) {
|
||||
define(factory);
|
||||
} else if (typeof module2 === "object" && module2.exports) {
|
||||
module2.exports = factory();
|
||||
} else {
|
||||
global.numeral = factory();
|
||||
}
|
||||
})(exports, function() {
|
||||
var numeral2, _, VERSION = "2.0.6", formats = {}, locales = {}, defaults = {
|
||||
currentLocale: "en",
|
||||
zeroFormat: null,
|
||||
nullFormat: null,
|
||||
defaultFormat: "0,0",
|
||||
scalePercentBy100: true
|
||||
}, options = {
|
||||
currentLocale: defaults.currentLocale,
|
||||
zeroFormat: defaults.zeroFormat,
|
||||
nullFormat: defaults.nullFormat,
|
||||
defaultFormat: defaults.defaultFormat,
|
||||
scalePercentBy100: defaults.scalePercentBy100
|
||||
};
|
||||
function Numeral(input, number) {
|
||||
this._input = input;
|
||||
this._value = number;
|
||||
}
|
||||
numeral2 = function(input) {
|
||||
var value, kind, unformatFunction, regexp;
|
||||
if (numeral2.isNumeral(input)) {
|
||||
value = input.value();
|
||||
} else if (input === 0 || typeof input === "undefined") {
|
||||
value = 0;
|
||||
} else if (input === null || _.isNaN(input)) {
|
||||
value = null;
|
||||
} else if (typeof input === "string") {
|
||||
if (options.zeroFormat && input === options.zeroFormat) {
|
||||
value = 0;
|
||||
} else if (options.nullFormat && input === options.nullFormat || !input.replace(/[^0-9]+/g, "").length) {
|
||||
value = null;
|
||||
} else {
|
||||
for (kind in formats) {
|
||||
regexp = typeof formats[kind].regexps.unformat === "function" ? formats[kind].regexps.unformat() : formats[kind].regexps.unformat;
|
||||
if (regexp && input.match(regexp)) {
|
||||
unformatFunction = formats[kind].unformat;
|
||||
break;
|
||||
}
|
||||
}
|
||||
unformatFunction = unformatFunction || numeral2._.stringToNumber;
|
||||
value = unformatFunction(input);
|
||||
}
|
||||
} else {
|
||||
value = Number(input) || null;
|
||||
}
|
||||
return new Numeral(input, value);
|
||||
};
|
||||
numeral2.version = VERSION;
|
||||
numeral2.isNumeral = function(obj) {
|
||||
return obj instanceof Numeral;
|
||||
};
|
||||
numeral2._ = _ = {
|
||||
numberToFormat: function(value, format, roundingFunction) {
|
||||
var locale = locales[numeral2.options.currentLocale], negP = false, optDec = false, leadingCount = 0, abbr = "", trillion = 1e12, billion = 1e9, million = 1e6, thousand = 1e3, decimal = "", neg = false, abbrForce, abs, min, max, power, int, precision, signed, thousands, output;
|
||||
value = value || 0;
|
||||
abs = Math.abs(value);
|
||||
if (numeral2._.includes(format, "(")) {
|
||||
negP = true;
|
||||
format = format.replace(/[\(|\)]/g, "");
|
||||
} else if (numeral2._.includes(format, "+") || numeral2._.includes(format, "-")) {
|
||||
signed = numeral2._.includes(format, "+") ? format.indexOf("+") : value < 0 ? format.indexOf("-") : -1;
|
||||
format = format.replace(/[\+|\-]/g, "");
|
||||
}
|
||||
if (numeral2._.includes(format, "a")) {
|
||||
abbrForce = format.match(/a(k|m|b|t)?/);
|
||||
abbrForce = abbrForce ? abbrForce[1] : false;
|
||||
if (numeral2._.includes(format, " a")) {
|
||||
abbr = " ";
|
||||
}
|
||||
format = format.replace(new RegExp(abbr + "a[kmbt]?"), "");
|
||||
if (abs >= trillion && !abbrForce || abbrForce === "t") {
|
||||
abbr += locale.abbreviations.trillion;
|
||||
value = value / trillion;
|
||||
} else if (abs < trillion && abs >= billion && !abbrForce || abbrForce === "b") {
|
||||
abbr += locale.abbreviations.billion;
|
||||
value = value / billion;
|
||||
} else if (abs < billion && abs >= million && !abbrForce || abbrForce === "m") {
|
||||
abbr += locale.abbreviations.million;
|
||||
value = value / million;
|
||||
} else if (abs < million && abs >= thousand && !abbrForce || abbrForce === "k") {
|
||||
abbr += locale.abbreviations.thousand;
|
||||
value = value / thousand;
|
||||
}
|
||||
}
|
||||
if (numeral2._.includes(format, "[.]")) {
|
||||
optDec = true;
|
||||
format = format.replace("[.]", ".");
|
||||
}
|
||||
int = value.toString().split(".")[0];
|
||||
precision = format.split(".")[1];
|
||||
thousands = format.indexOf(",");
|
||||
leadingCount = (format.split(".")[0].split(",")[0].match(/0/g) || []).length;
|
||||
if (precision) {
|
||||
if (numeral2._.includes(precision, "[")) {
|
||||
precision = precision.replace("]", "");
|
||||
precision = precision.split("[");
|
||||
decimal = numeral2._.toFixed(value, precision[0].length + precision[1].length, roundingFunction, precision[1].length);
|
||||
} else {
|
||||
decimal = numeral2._.toFixed(value, precision.length, roundingFunction);
|
||||
}
|
||||
int = decimal.split(".")[0];
|
||||
if (numeral2._.includes(decimal, ".")) {
|
||||
decimal = locale.delimiters.decimal + decimal.split(".")[1];
|
||||
} else {
|
||||
decimal = "";
|
||||
}
|
||||
if (optDec && Number(decimal.slice(1)) === 0) {
|
||||
decimal = "";
|
||||
}
|
||||
} else {
|
||||
int = numeral2._.toFixed(value, 0, roundingFunction);
|
||||
}
|
||||
if (abbr && !abbrForce && Number(int) >= 1e3 && abbr !== locale.abbreviations.trillion) {
|
||||
int = String(Number(int) / 1e3);
|
||||
switch (abbr) {
|
||||
case locale.abbreviations.thousand:
|
||||
abbr = locale.abbreviations.million;
|
||||
break;
|
||||
case locale.abbreviations.million:
|
||||
abbr = locale.abbreviations.billion;
|
||||
break;
|
||||
case locale.abbreviations.billion:
|
||||
abbr = locale.abbreviations.trillion;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (numeral2._.includes(int, "-")) {
|
||||
int = int.slice(1);
|
||||
neg = true;
|
||||
}
|
||||
if (int.length < leadingCount) {
|
||||
for (var i = leadingCount - int.length; i > 0; i--) {
|
||||
int = "0" + int;
|
||||
}
|
||||
}
|
||||
if (thousands > -1) {
|
||||
int = int.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1" + locale.delimiters.thousands);
|
||||
}
|
||||
if (format.indexOf(".") === 0) {
|
||||
int = "";
|
||||
}
|
||||
output = int + decimal + (abbr ? abbr : "");
|
||||
if (negP) {
|
||||
output = (negP && neg ? "(" : "") + output + (negP && neg ? ")" : "");
|
||||
} else {
|
||||
if (signed >= 0) {
|
||||
output = signed === 0 ? (neg ? "-" : "+") + output : output + (neg ? "-" : "+");
|
||||
} else if (neg) {
|
||||
output = "-" + output;
|
||||
}
|
||||
}
|
||||
return output;
|
||||
},
|
||||
stringToNumber: function(string) {
|
||||
var locale = locales[options.currentLocale], stringOriginal = string, abbreviations = {
|
||||
thousand: 3,
|
||||
million: 6,
|
||||
billion: 9,
|
||||
trillion: 12
|
||||
}, abbreviation, value, i, regexp;
|
||||
if (options.zeroFormat && string === options.zeroFormat) {
|
||||
value = 0;
|
||||
} else if (options.nullFormat && string === options.nullFormat || !string.replace(/[^0-9]+/g, "").length) {
|
||||
value = null;
|
||||
} else {
|
||||
value = 1;
|
||||
if (locale.delimiters.decimal !== ".") {
|
||||
string = string.replace(/\./g, "").replace(locale.delimiters.decimal, ".");
|
||||
}
|
||||
for (abbreviation in abbreviations) {
|
||||
regexp = new RegExp("[^a-zA-Z]" + locale.abbreviations[abbreviation] + "(?:\\)|(\\" + locale.currency.symbol + ")?(?:\\))?)?$");
|
||||
if (stringOriginal.match(regexp)) {
|
||||
value *= Math.pow(10, abbreviations[abbreviation]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
value *= (string.split("-").length + Math.min(string.split("(").length - 1, string.split(")").length - 1)) % 2 ? 1 : -1;
|
||||
string = string.replace(/[^0-9\.]+/g, "");
|
||||
value *= Number(string);
|
||||
}
|
||||
return value;
|
||||
},
|
||||
isNaN: function(value) {
|
||||
return typeof value === "number" && isNaN(value);
|
||||
},
|
||||
includes: function(string, search) {
|
||||
return string.indexOf(search) !== -1;
|
||||
},
|
||||
insert: function(string, subString, start) {
|
||||
return string.slice(0, start) + subString + string.slice(start);
|
||||
},
|
||||
reduce: function(array, callback) {
|
||||
if (this === null) {
|
||||
throw new TypeError("Array.prototype.reduce called on null or undefined");
|
||||
}
|
||||
if (typeof callback !== "function") {
|
||||
throw new TypeError(callback + " is not a function");
|
||||
}
|
||||
var t = Object(array), len = t.length >>> 0, k = 0, value;
|
||||
if (arguments.length === 3) {
|
||||
value = arguments[2];
|
||||
} else {
|
||||
while (k < len && !(k in t)) {
|
||||
k++;
|
||||
}
|
||||
if (k >= len) {
|
||||
throw new TypeError("Reduce of empty array with no initial value");
|
||||
}
|
||||
value = t[k++];
|
||||
}
|
||||
for (; k < len; k++) {
|
||||
if (k in t) {
|
||||
value = callback(value, t[k], k, t);
|
||||
}
|
||||
}
|
||||
return value;
|
||||
},
|
||||
multiplier: function(x) {
|
||||
var parts = x.toString().split(".");
|
||||
return parts.length < 2 ? 1 : Math.pow(10, parts[1].length);
|
||||
},
|
||||
correctionFactor: function() {
|
||||
var args = Array.prototype.slice.call(arguments);
|
||||
return args.reduce(function(accum, next) {
|
||||
var mn = _.multiplier(next);
|
||||
return accum > mn ? accum : mn;
|
||||
}, 1);
|
||||
},
|
||||
toFixed: function(value, maxDecimals, roundingFunction, optionals) {
|
||||
var splitValue = value.toString().split("."), minDecimals = maxDecimals - (optionals || 0), boundedPrecision, optionalsRegExp, power, output;
|
||||
if (splitValue.length === 2) {
|
||||
boundedPrecision = Math.min(Math.max(splitValue[1].length, minDecimals), maxDecimals);
|
||||
} else {
|
||||
boundedPrecision = minDecimals;
|
||||
}
|
||||
power = Math.pow(10, boundedPrecision);
|
||||
output = (roundingFunction(value + "e+" + boundedPrecision) / power).toFixed(boundedPrecision);
|
||||
if (optionals > maxDecimals - boundedPrecision) {
|
||||
optionalsRegExp = new RegExp("\\.?0{1," + (optionals - (maxDecimals - boundedPrecision)) + "}$");
|
||||
output = output.replace(optionalsRegExp, "");
|
||||
}
|
||||
return output;
|
||||
}
|
||||
};
|
||||
numeral2.options = options;
|
||||
numeral2.formats = formats;
|
||||
numeral2.locales = locales;
|
||||
numeral2.locale = function(key) {
|
||||
if (key) {
|
||||
options.currentLocale = key.toLowerCase();
|
||||
}
|
||||
return options.currentLocale;
|
||||
};
|
||||
numeral2.localeData = function(key) {
|
||||
if (!key) {
|
||||
return locales[options.currentLocale];
|
||||
}
|
||||
key = key.toLowerCase();
|
||||
if (!locales[key]) {
|
||||
throw new Error("Unknown locale : " + key);
|
||||
}
|
||||
return locales[key];
|
||||
};
|
||||
numeral2.reset = function() {
|
||||
for (var property in defaults) {
|
||||
options[property] = defaults[property];
|
||||
}
|
||||
};
|
||||
numeral2.zeroFormat = function(format) {
|
||||
options.zeroFormat = typeof format === "string" ? format : null;
|
||||
};
|
||||
numeral2.nullFormat = function(format) {
|
||||
options.nullFormat = typeof format === "string" ? format : null;
|
||||
};
|
||||
numeral2.defaultFormat = function(format) {
|
||||
options.defaultFormat = typeof format === "string" ? format : "0.0";
|
||||
};
|
||||
numeral2.register = function(type, name, format) {
|
||||
name = name.toLowerCase();
|
||||
if (this[type + "s"][name]) {
|
||||
throw new TypeError(name + " " + type + " already registered.");
|
||||
}
|
||||
this[type + "s"][name] = format;
|
||||
return format;
|
||||
};
|
||||
numeral2.validate = function(val, culture) {
|
||||
var _decimalSep, _thousandSep, _currSymbol, _valArray, _abbrObj, _thousandRegEx, localeData, temp;
|
||||
if (typeof val !== "string") {
|
||||
val += "";
|
||||
if (console.warn) {
|
||||
console.warn("Numeral.js: Value is not string. It has been co-erced to: ", val);
|
||||
}
|
||||
}
|
||||
val = val.trim();
|
||||
if (!!val.match(/^\d+$/)) {
|
||||
return true;
|
||||
}
|
||||
if (val === "") {
|
||||
return false;
|
||||
}
|
||||
try {
|
||||
localeData = numeral2.localeData(culture);
|
||||
} catch (e) {
|
||||
localeData = numeral2.localeData(numeral2.locale());
|
||||
}
|
||||
_currSymbol = localeData.currency.symbol;
|
||||
_abbrObj = localeData.abbreviations;
|
||||
_decimalSep = localeData.delimiters.decimal;
|
||||
if (localeData.delimiters.thousands === ".") {
|
||||
_thousandSep = "\\.";
|
||||
} else {
|
||||
_thousandSep = localeData.delimiters.thousands;
|
||||
}
|
||||
temp = val.match(/^[^\d]+/);
|
||||
if (temp !== null) {
|
||||
val = val.substr(1);
|
||||
if (temp[0] !== _currSymbol) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
temp = val.match(/[^\d]+$/);
|
||||
if (temp !== null) {
|
||||
val = val.slice(0, -1);
|
||||
if (temp[0] !== _abbrObj.thousand && temp[0] !== _abbrObj.million && temp[0] !== _abbrObj.billion && temp[0] !== _abbrObj.trillion) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
_thousandRegEx = new RegExp(_thousandSep + "{2}");
|
||||
if (!val.match(/[^\d.,]/g)) {
|
||||
_valArray = val.split(_decimalSep);
|
||||
if (_valArray.length > 2) {
|
||||
return false;
|
||||
} else {
|
||||
if (_valArray.length < 2) {
|
||||
return !!_valArray[0].match(/^\d+.*\d$/) && !_valArray[0].match(_thousandRegEx);
|
||||
} else {
|
||||
if (_valArray[0].length === 1) {
|
||||
return !!_valArray[0].match(/^\d+$/) && !_valArray[0].match(_thousandRegEx) && !!_valArray[1].match(/^\d+$/);
|
||||
} else {
|
||||
return !!_valArray[0].match(/^\d+.*\d$/) && !_valArray[0].match(_thousandRegEx) && !!_valArray[1].match(/^\d+$/);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
};
|
||||
numeral2.fn = Numeral.prototype = {
|
||||
clone: function() {
|
||||
return numeral2(this);
|
||||
},
|
||||
format: function(inputString, roundingFunction) {
|
||||
var value = this._value, format = inputString || options.defaultFormat, kind, output, formatFunction;
|
||||
roundingFunction = roundingFunction || Math.round;
|
||||
if (value === 0 && options.zeroFormat !== null) {
|
||||
output = options.zeroFormat;
|
||||
} else if (value === null && options.nullFormat !== null) {
|
||||
output = options.nullFormat;
|
||||
} else {
|
||||
for (kind in formats) {
|
||||
if (format.match(formats[kind].regexps.format)) {
|
||||
formatFunction = formats[kind].format;
|
||||
break;
|
||||
}
|
||||
}
|
||||
formatFunction = formatFunction || numeral2._.numberToFormat;
|
||||
output = formatFunction(value, format, roundingFunction);
|
||||
}
|
||||
return output;
|
||||
},
|
||||
value: function() {
|
||||
return this._value;
|
||||
},
|
||||
input: function() {
|
||||
return this._input;
|
||||
},
|
||||
set: function(value) {
|
||||
this._value = Number(value);
|
||||
return this;
|
||||
},
|
||||
add: function(value) {
|
||||
var corrFactor = _.correctionFactor.call(null, this._value, value);
|
||||
function cback(accum, curr, currI, O) {
|
||||
return accum + Math.round(corrFactor * curr);
|
||||
}
|
||||
this._value = _.reduce([this._value, value], cback, 0) / corrFactor;
|
||||
return this;
|
||||
},
|
||||
subtract: function(value) {
|
||||
var corrFactor = _.correctionFactor.call(null, this._value, value);
|
||||
function cback(accum, curr, currI, O) {
|
||||
return accum - Math.round(corrFactor * curr);
|
||||
}
|
||||
this._value = _.reduce([value], cback, Math.round(this._value * corrFactor)) / corrFactor;
|
||||
return this;
|
||||
},
|
||||
multiply: function(value) {
|
||||
function cback(accum, curr, currI, O) {
|
||||
var corrFactor = _.correctionFactor(accum, curr);
|
||||
return Math.round(accum * corrFactor) * Math.round(curr * corrFactor) / Math.round(corrFactor * corrFactor);
|
||||
}
|
||||
this._value = _.reduce([this._value, value], cback, 1);
|
||||
return this;
|
||||
},
|
||||
divide: function(value) {
|
||||
function cback(accum, curr, currI, O) {
|
||||
var corrFactor = _.correctionFactor(accum, curr);
|
||||
return Math.round(accum * corrFactor) / Math.round(curr * corrFactor);
|
||||
}
|
||||
this._value = _.reduce([this._value, value], cback);
|
||||
return this;
|
||||
},
|
||||
difference: function(value) {
|
||||
return Math.abs(numeral2(this._value).subtract(value).value());
|
||||
}
|
||||
};
|
||||
numeral2.register("locale", "en", {
|
||||
delimiters: {
|
||||
thousands: ",",
|
||||
decimal: "."
|
||||
},
|
||||
abbreviations: {
|
||||
thousand: "k",
|
||||
million: "m",
|
||||
billion: "b",
|
||||
trillion: "t"
|
||||
},
|
||||
ordinal: function(number) {
|
||||
var b = number % 10;
|
||||
return ~~(number % 100 / 10) === 1 ? "th" : b === 1 ? "st" : b === 2 ? "nd" : b === 3 ? "rd" : "th";
|
||||
},
|
||||
currency: {
|
||||
symbol: "$"
|
||||
}
|
||||
});
|
||||
(function() {
|
||||
numeral2.register("format", "bps", {
|
||||
regexps: {
|
||||
format: /(BPS)/,
|
||||
unformat: /(BPS)/
|
||||
},
|
||||
format: function(value, format, roundingFunction) {
|
||||
var space = numeral2._.includes(format, " BPS") ? " " : "", output;
|
||||
value = value * 1e4;
|
||||
format = format.replace(/\s?BPS/, "");
|
||||
output = numeral2._.numberToFormat(value, format, roundingFunction);
|
||||
if (numeral2._.includes(output, ")")) {
|
||||
output = output.split("");
|
||||
output.splice(-1, 0, space + "BPS");
|
||||
output = output.join("");
|
||||
} else {
|
||||
output = output + space + "BPS";
|
||||
}
|
||||
return output;
|
||||
},
|
||||
unformat: function(string) {
|
||||
return +(numeral2._.stringToNumber(string) * 1e-4).toFixed(15);
|
||||
}
|
||||
});
|
||||
})();
|
||||
(function() {
|
||||
var decimal = {
|
||||
base: 1e3,
|
||||
suffixes: ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"]
|
||||
}, binary = {
|
||||
base: 1024,
|
||||
suffixes: ["B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB"]
|
||||
};
|
||||
var allSuffixes = decimal.suffixes.concat(binary.suffixes.filter(function(item) {
|
||||
return decimal.suffixes.indexOf(item) < 0;
|
||||
}));
|
||||
var unformatRegex = allSuffixes.join("|");
|
||||
unformatRegex = "(" + unformatRegex.replace("B", "B(?!PS)") + ")";
|
||||
numeral2.register("format", "bytes", {
|
||||
regexps: {
|
||||
format: /([0\s]i?b)/,
|
||||
unformat: new RegExp(unformatRegex)
|
||||
},
|
||||
format: function(value, format, roundingFunction) {
|
||||
var output, bytes = numeral2._.includes(format, "ib") ? binary : decimal, suffix = numeral2._.includes(format, " b") || numeral2._.includes(format, " ib") ? " " : "", power, min, max;
|
||||
format = format.replace(/\s?i?b/, "");
|
||||
for (power = 0; power <= bytes.suffixes.length; power++) {
|
||||
min = Math.pow(bytes.base, power);
|
||||
max = Math.pow(bytes.base, power + 1);
|
||||
if (value === null || value === 0 || value >= min && value < max) {
|
||||
suffix += bytes.suffixes[power];
|
||||
if (min > 0) {
|
||||
value = value / min;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
output = numeral2._.numberToFormat(value, format, roundingFunction);
|
||||
return output + suffix;
|
||||
},
|
||||
unformat: function(string) {
|
||||
var value = numeral2._.stringToNumber(string), power, bytesMultiplier;
|
||||
if (value) {
|
||||
for (power = decimal.suffixes.length - 1; power >= 0; power--) {
|
||||
if (numeral2._.includes(string, decimal.suffixes[power])) {
|
||||
bytesMultiplier = Math.pow(decimal.base, power);
|
||||
break;
|
||||
}
|
||||
if (numeral2._.includes(string, binary.suffixes[power])) {
|
||||
bytesMultiplier = Math.pow(binary.base, power);
|
||||
break;
|
||||
}
|
||||
}
|
||||
value *= bytesMultiplier || 1;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
});
|
||||
})();
|
||||
(function() {
|
||||
numeral2.register("format", "currency", {
|
||||
regexps: {
|
||||
format: /(\$)/
|
||||
},
|
||||
format: function(value, format, roundingFunction) {
|
||||
var locale = numeral2.locales[numeral2.options.currentLocale], symbols = {
|
||||
before: format.match(/^([\+|\-|\(|\s|\$]*)/)[0],
|
||||
after: format.match(/([\+|\-|\)|\s|\$]*)$/)[0]
|
||||
}, output, symbol, i;
|
||||
format = format.replace(/\s?\$\s?/, "");
|
||||
output = numeral2._.numberToFormat(value, format, roundingFunction);
|
||||
if (value >= 0) {
|
||||
symbols.before = symbols.before.replace(/[\-\(]/, "");
|
||||
symbols.after = symbols.after.replace(/[\-\)]/, "");
|
||||
} else if (value < 0 && (!numeral2._.includes(symbols.before, "-") && !numeral2._.includes(symbols.before, "("))) {
|
||||
symbols.before = "-" + symbols.before;
|
||||
}
|
||||
for (i = 0; i < symbols.before.length; i++) {
|
||||
symbol = symbols.before[i];
|
||||
switch (symbol) {
|
||||
case "$":
|
||||
output = numeral2._.insert(output, locale.currency.symbol, i);
|
||||
break;
|
||||
case " ":
|
||||
output = numeral2._.insert(output, " ", i + locale.currency.symbol.length - 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
for (i = symbols.after.length - 1; i >= 0; i--) {
|
||||
symbol = symbols.after[i];
|
||||
switch (symbol) {
|
||||
case "$":
|
||||
output = i === symbols.after.length - 1 ? output + locale.currency.symbol : numeral2._.insert(output, locale.currency.symbol, -(symbols.after.length - (1 + i)));
|
||||
break;
|
||||
case " ":
|
||||
output = i === symbols.after.length - 1 ? output + " " : numeral2._.insert(output, " ", -(symbols.after.length - (1 + i) + locale.currency.symbol.length - 1));
|
||||
break;
|
||||
}
|
||||
}
|
||||
return output;
|
||||
}
|
||||
});
|
||||
})();
|
||||
(function() {
|
||||
numeral2.register("format", "exponential", {
|
||||
regexps: {
|
||||
format: /(e\+|e-)/,
|
||||
unformat: /(e\+|e-)/
|
||||
},
|
||||
format: function(value, format, roundingFunction) {
|
||||
var output, exponential = typeof value === "number" && !numeral2._.isNaN(value) ? value.toExponential() : "0e+0", parts = exponential.split("e");
|
||||
format = format.replace(/e[\+|\-]{1}0/, "");
|
||||
output = numeral2._.numberToFormat(Number(parts[0]), format, roundingFunction);
|
||||
return output + "e" + parts[1];
|
||||
},
|
||||
unformat: function(string) {
|
||||
var parts = numeral2._.includes(string, "e+") ? string.split("e+") : string.split("e-"), value = Number(parts[0]), power = Number(parts[1]);
|
||||
power = numeral2._.includes(string, "e-") ? power *= -1 : power;
|
||||
function cback(accum, curr, currI, O) {
|
||||
var corrFactor = numeral2._.correctionFactor(accum, curr), num = accum * corrFactor * (curr * corrFactor) / (corrFactor * corrFactor);
|
||||
return num;
|
||||
}
|
||||
return numeral2._.reduce([value, Math.pow(10, power)], cback, 1);
|
||||
}
|
||||
});
|
||||
})();
|
||||
(function() {
|
||||
numeral2.register("format", "ordinal", {
|
||||
regexps: {
|
||||
format: /(o)/
|
||||
},
|
||||
format: function(value, format, roundingFunction) {
|
||||
var locale = numeral2.locales[numeral2.options.currentLocale], output, ordinal = numeral2._.includes(format, " o") ? " " : "";
|
||||
format = format.replace(/\s?o/, "");
|
||||
ordinal += locale.ordinal(value);
|
||||
output = numeral2._.numberToFormat(value, format, roundingFunction);
|
||||
return output + ordinal;
|
||||
}
|
||||
});
|
||||
})();
|
||||
(function() {
|
||||
numeral2.register("format", "percentage", {
|
||||
regexps: {
|
||||
format: /(%)/,
|
||||
unformat: /(%)/
|
||||
},
|
||||
format: function(value, format, roundingFunction) {
|
||||
var space = numeral2._.includes(format, " %") ? " " : "", output;
|
||||
if (numeral2.options.scalePercentBy100) {
|
||||
value = value * 100;
|
||||
}
|
||||
format = format.replace(/\s?\%/, "");
|
||||
output = numeral2._.numberToFormat(value, format, roundingFunction);
|
||||
if (numeral2._.includes(output, ")")) {
|
||||
output = output.split("");
|
||||
output.splice(-1, 0, space + "%");
|
||||
output = output.join("");
|
||||
} else {
|
||||
output = output + space + "%";
|
||||
}
|
||||
return output;
|
||||
},
|
||||
unformat: function(string) {
|
||||
var number = numeral2._.stringToNumber(string);
|
||||
if (numeral2.options.scalePercentBy100) {
|
||||
return number * 0.01;
|
||||
}
|
||||
return number;
|
||||
}
|
||||
});
|
||||
})();
|
||||
(function() {
|
||||
numeral2.register("format", "time", {
|
||||
regexps: {
|
||||
format: /(:)/,
|
||||
unformat: /(:)/
|
||||
},
|
||||
format: function(value, format, roundingFunction) {
|
||||
var hours = Math.floor(value / 60 / 60), minutes = Math.floor((value - hours * 60 * 60) / 60), seconds = Math.round(value - hours * 60 * 60 - minutes * 60);
|
||||
return hours + ":" + (minutes < 10 ? "0" + minutes : minutes) + ":" + (seconds < 10 ? "0" + seconds : seconds);
|
||||
},
|
||||
unformat: function(string) {
|
||||
var timeArray = string.split(":"), seconds = 0;
|
||||
if (timeArray.length === 3) {
|
||||
seconds = seconds + Number(timeArray[0]) * 60 * 60;
|
||||
seconds = seconds + Number(timeArray[1]) * 60;
|
||||
seconds = seconds + Number(timeArray[2]);
|
||||
} else if (timeArray.length === 2) {
|
||||
seconds = seconds + Number(timeArray[0]) * 60;
|
||||
seconds = seconds + Number(timeArray[1]);
|
||||
}
|
||||
return Number(seconds);
|
||||
}
|
||||
});
|
||||
})();
|
||||
return numeral2;
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// main.ts
|
||||
__export(exports, {
|
||||
CRYPTONATOR_API: () => CRYPTONATOR_API,
|
||||
default: () => CryptoLookup
|
||||
});
|
||||
var import_obsidian2 = __toModule(require("obsidian"));
|
||||
var import_numeral = __toModule(require_numeral());
|
||||
|
||||
// crypto-modal.ts
|
||||
var import_obsidian = __toModule(require("obsidian"));
|
||||
var CryptoModal = class extends import_obsidian.Modal {
|
||||
constructor(app, defaultTarget, onSubmit) {
|
||||
super(app);
|
||||
this.target = defaultTarget;
|
||||
this.onSubmit = onSubmit;
|
||||
}
|
||||
onOpen() {
|
||||
const { contentEl } = this;
|
||||
contentEl.createEl("h1", { text: "Select crypto base and target" });
|
||||
new import_obsidian.Setting(contentEl).setName("Base").addText((text) => text.setValue(this.base).onChange((value) => {
|
||||
this.base = value;
|
||||
}));
|
||||
new import_obsidian.Setting(contentEl).setName("Target").addText((text) => text.setValue(this.target).onChange((value) => {
|
||||
this.target = value;
|
||||
}));
|
||||
new import_obsidian.Setting(contentEl).addButton((btn) => btn.setButtonText("Lookup").setCta().onClick(() => {
|
||||
this.close();
|
||||
this.onSubmit(this.base, this.target);
|
||||
}));
|
||||
}
|
||||
onClose() {
|
||||
let { contentEl } = this;
|
||||
contentEl.empty();
|
||||
}
|
||||
};
|
||||
|
||||
// main.ts
|
||||
var CRYPTONATOR_API = "https://api.cryptonator.com/api";
|
||||
var DEFAULT_SETTINGS = {
|
||||
defaultBase: "BTC",
|
||||
defaultTarget: "USD"
|
||||
};
|
||||
var CryptoLookup = class extends import_obsidian2.Plugin {
|
||||
getCurrencyTicker(base, target) {
|
||||
return __async(this, null, function* () {
|
||||
const data = yield (0, import_obsidian2.request)({
|
||||
url: `${CRYPTONATOR_API}/ticker/${base}-${target}`
|
||||
});
|
||||
return JSON.parse(data);
|
||||
});
|
||||
}
|
||||
getCurrencyListAsJson() {
|
||||
return __async(this, null, function* () {
|
||||
return yield (0, import_obsidian2.request)({
|
||||
url: `${CRYPTONATOR_API}/currencies`
|
||||
});
|
||||
});
|
||||
}
|
||||
onload() {
|
||||
return __async(this, null, function* () {
|
||||
yield this.loadSettings();
|
||||
const adapter = this.app.vault.adapter;
|
||||
const dir = this.manifest.dir;
|
||||
yield (() => __async(this, null, function* () {
|
||||
const path = (0, import_obsidian2.normalizePath)(`${dir}/currencies.json`);
|
||||
if (yield adapter.exists(path)) {
|
||||
const currencies = yield adapter.read(path);
|
||||
this.currencies = JSON.parse(currencies).rows;
|
||||
} else {
|
||||
try {
|
||||
const currencyText = yield this.getCurrencyListAsJson();
|
||||
yield adapter.write(path, currencyText);
|
||||
this.currencies = JSON.parse(currencyText).rows;
|
||||
} catch (error) {
|
||||
const text = "The JSON file could not be read.";
|
||||
new import_obsidian2.Notice(text);
|
||||
console.error(error);
|
||||
}
|
||||
}
|
||||
}))();
|
||||
this.addCommand({
|
||||
id: "insert-default-crypto-ticker",
|
||||
name: "Insert Default Crypto Ticker",
|
||||
editorCallback: (editor) => __async(this, null, function* () {
|
||||
if (!this.settings.defaultBase || !this.settings.defaultTarget) {
|
||||
new import_obsidian2.Notice("Cannot use this command without default base and target in settings");
|
||||
} else {
|
||||
const base = this.settings.defaultBase;
|
||||
const target = this.settings.defaultTarget;
|
||||
const currencyTicker = yield this.getCurrencyTicker(base.toLocaleLowerCase(), target.toLocaleLowerCase());
|
||||
const extendedCryptoTicker = `${base}:${target} price = ${(0, import_numeral.default)(currencyTicker.ticker.price).format("0,00.00")}`;
|
||||
editor.replaceSelection(extendedCryptoTicker);
|
||||
}
|
||||
})
|
||||
});
|
||||
this.addCommand({
|
||||
id: "insert-default-crypto-ticker-extended",
|
||||
name: "Insert Default Crypto Ticker Extended",
|
||||
editorCallback: (editor) => __async(this, null, function* () {
|
||||
if (!this.settings.defaultBase || !this.settings.defaultTarget) {
|
||||
new import_obsidian2.Notice("Cannot use this command without default base and target in settings");
|
||||
} else {
|
||||
const base = this.settings.defaultBase;
|
||||
const target = this.settings.defaultTarget;
|
||||
const currencyTicker = yield this.getCurrencyTicker(base.toLocaleLowerCase(), target.toLocaleLowerCase());
|
||||
const formattedTimestamp = window.moment(currencyTicker.timestamp * 1e3).format("YYYY-MM-DDTHH:mm:ss");
|
||||
const extendedCryptoTicker = `${base}:${target} price = ${(0, import_numeral.default)(currencyTicker.ticker.price).format("0,00.00")}, volume = ${(0, import_numeral.default)(currencyTicker.ticker.volume).format("0,00.00")}, change = ${(0, import_numeral.default)(currencyTicker.ticker.change).format("0,00.00")} on ${formattedTimestamp}`;
|
||||
editor.replaceSelection(extendedCryptoTicker);
|
||||
}
|
||||
})
|
||||
});
|
||||
this.addCommand({
|
||||
id: "insert-selected-crypto-ticker",
|
||||
name: "Insert Selected Crypto Ticker",
|
||||
editorCallback: (editor) => __async(this, null, function* () {
|
||||
const onSubmit = (base, target) => __async(this, null, function* () {
|
||||
const currencyTicker = yield this.getCurrencyTicker(base.toLocaleLowerCase(), target.toLocaleLowerCase());
|
||||
const extendedCryptoTicker = `${base}:${target} price = ${(0, import_numeral.default)(currencyTicker.ticker.price).format("0,00.00")}`;
|
||||
editor.replaceSelection(extendedCryptoTicker);
|
||||
});
|
||||
new CryptoModal(this.app, "USD", onSubmit).open();
|
||||
})
|
||||
});
|
||||
this.addCommand({
|
||||
id: "insert-selected-crypto-ticker-extended",
|
||||
name: "Insert Selected Crypto Ticker Extended",
|
||||
editorCallback: (editor) => __async(this, null, function* () {
|
||||
const onSubmit = (base, target) => __async(this, null, function* () {
|
||||
const currencyTicker = yield this.getCurrencyTicker(base.toLocaleLowerCase(), target.toLocaleLowerCase());
|
||||
const formattedTimestamp = window.moment(currencyTicker.timestamp * 1e3).format("YYYY-MM-DDTHH:mm:ss");
|
||||
const extendedCryptoTicker = `${base}:${target} price = ${(0, import_numeral.default)(currencyTicker.ticker.price).format("0,00.00")}, volume = ${(0, import_numeral.default)(currencyTicker.ticker.volume).format("0,00.00")}, change = ${(0, import_numeral.default)(currencyTicker.ticker.change).format("0,00.00")} on ${formattedTimestamp}`;
|
||||
editor.replaceSelection(extendedCryptoTicker);
|
||||
});
|
||||
new CryptoModal(this.app, "USD", onSubmit).open();
|
||||
})
|
||||
});
|
||||
this.addSettingTab(new CryptoLookupSettingTab(this.app, this));
|
||||
});
|
||||
}
|
||||
onunload() {
|
||||
}
|
||||
loadSettings() {
|
||||
return __async(this, null, function* () {
|
||||
this.settings = Object.assign({}, DEFAULT_SETTINGS, yield this.loadData());
|
||||
});
|
||||
}
|
||||
saveSettings() {
|
||||
return __async(this, null, function* () {
|
||||
yield this.saveData(this.settings);
|
||||
});
|
||||
}
|
||||
};
|
||||
var CryptoLookupSettingTab = class extends import_obsidian2.PluginSettingTab {
|
||||
constructor(app, plugin) {
|
||||
super(app, plugin);
|
||||
this.plugin = plugin;
|
||||
}
|
||||
display() {
|
||||
let { containerEl } = this;
|
||||
containerEl.empty();
|
||||
containerEl.createEl("h2", { text: "Crypto Lookup Defaults" });
|
||||
new import_obsidian2.Setting(containerEl).setName("Base Currency").setDesc("Default currency we want the price of").addText((text) => text.setPlaceholder("BTC").setValue(this.plugin.settings.defaultBase).onChange((value) => __async(this, null, function* () {
|
||||
this.plugin.settings.defaultBase = value;
|
||||
yield this.plugin.saveSettings();
|
||||
})));
|
||||
new import_obsidian2.Setting(containerEl).setName("Target Currency").setDesc("Default target currency to convert base currency into").addText((text) => text.setPlaceholder("USD").setValue(this.plugin.settings.defaultTarget).onChange((value) => __async(this, null, function* () {
|
||||
this.plugin.settings.defaultTarget = value;
|
||||
yield this.plugin.saveSettings();
|
||||
})));
|
||||
}
|
||||
};
|
||||
/*! @preserve
|
||||
* numeral.js
|
||||
* version : 2.0.6
|
||||
* author : Adam Draper
|
||||
* license : MIT
|
||||
* http://adamwdraper.github.com/Numeral-js/
|
||||
*/
|
@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "obsidian-crypto-lookup",
|
||||
"name": "Crypto Lookup",
|
||||
"version": "0.0.2",
|
||||
"minAppVersion": "0.12.0",
|
||||
"description": "A plugin for Obsidian which uses the Cryptonator API to pull back prices for crypto in a target currency",
|
||||
"author": "Andrew Lombardi",
|
||||
"authorUrl": "https://mysticcoders.com",
|
||||
"isDesktopOnly": false
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
/* Sets all the text color to red! */
|
||||
/*body {*/
|
||||
/* color: red;*/
|
||||
/*}*/
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "obsidian-dice-roller",
|
||||
"name": "Dice Roller",
|
||||
"version": "7.4.2",
|
||||
"minAppVersion": "0.12.15",
|
||||
"description": "Inline dice rolling for Obsidian.md",
|
||||
"author": "Jeremy Valentine",
|
||||
"authorUrl": "",
|
||||
"isDesktopOnly": false
|
||||
}
|
@ -0,0 +1,325 @@
|
||||
.dice-roller {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
margin: 0 0.25em 0 0;
|
||||
}
|
||||
.dice-roller.no-icon {
|
||||
margin: 0;
|
||||
}
|
||||
.dice-roller > div {
|
||||
display: inline-block;
|
||||
}
|
||||
.dice-roller span {
|
||||
font-weight: bolder;
|
||||
}
|
||||
.dice-roller > .dice-roller-button {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
font-size: inherit;
|
||||
margin-left: 0.25em;
|
||||
}
|
||||
|
||||
.dice-roller.has-embed .dice-roller-result {
|
||||
width: 100%;
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
.dice-roller.has-embed .dice-roller-result .markdown-embed {
|
||||
display: flex;
|
||||
margin-top: 0.5rem;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.dice-roller.has-embed .dice-roller-button {
|
||||
padding-top: 0.5rem;
|
||||
}
|
||||
|
||||
.dice.tooltip {
|
||||
max-width: unset !important;
|
||||
}
|
||||
.workspace .markdown-preview-view .dice-roller.has-embed {
|
||||
display: flex;
|
||||
padding-right: 0.25rem;
|
||||
margin: 0.25rem 0;
|
||||
}
|
||||
.dice-no-results {
|
||||
font-style: italic;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.dice-roller.has-embed .internal-embed {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.dice-roller.has-embed
|
||||
.internal-embed
|
||||
*:last-child:not(svg):not(.dice-content-copy) {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.dice-roller.has-embed .dice-file-name {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.dice-section-result {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.dice-content-copy {
|
||||
color: var(--text-faint);
|
||||
cursor: pointer;
|
||||
height: fit-content;
|
||||
}
|
||||
.dice-content-copy.no-show {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.dice-content-copy:hover {
|
||||
color: var(--text-normal);
|
||||
}
|
||||
|
||||
.dice-roller.has-embed .dice-section-result .dice-content-copy,
|
||||
.dice-content-copy:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.dice-roller-result {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.dice-roller-settings .coffee {
|
||||
width: 60%;
|
||||
color: var(--text-faint);
|
||||
margin: 0.5rem auto;
|
||||
text-align: center;
|
||||
}
|
||||
.dice-roller-settings .coffee img {
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
/** Settings */
|
||||
.dice-roller-setting-additional-container
|
||||
> .setting-item:not(.setting-item-heading) {
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
.dice-roller-setting-additional-container {
|
||||
border-bottom: 1px solid var(--background-modifier-border);
|
||||
border-top: 1px solid var(--background-modifier-border);
|
||||
padding: 18px 0;
|
||||
}
|
||||
|
||||
.dice-roller-setting-additional-container > .setting-item-heading:only-child {
|
||||
padding-bottom: 18px;
|
||||
}
|
||||
|
||||
.dice-roller-setting-additional-container > .additional .no-formulas {
|
||||
width: auto;
|
||||
display: block;
|
||||
text-align: center;
|
||||
}
|
||||
.dice-roller-setting-additional-container > .additional > .setting-item {
|
||||
border-top: 0;
|
||||
padding-top: 9px;
|
||||
}
|
||||
.dice-roller-setting-additional-container
|
||||
> .additional
|
||||
> .setting-item
|
||||
> .setting-item-control
|
||||
> *:first-child {
|
||||
margin: 0 6px;
|
||||
}
|
||||
|
||||
.dice-roller-setting-additional-container .add-new-formula {
|
||||
margin: 0 1rem;
|
||||
padding: 1rem 1rem 0 1rem;
|
||||
border-radius: 0.5rem;
|
||||
box-shadow: 0 0 0.25rem var(--background-modifier-box-shadow);
|
||||
}
|
||||
|
||||
.dice-roller-setting-additional-container
|
||||
.add-new-formula
|
||||
.formula-data
|
||||
.setting-item {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.renderer-container {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
|
||||
pointer-events: none;
|
||||
z-index: 9999999;
|
||||
transition: opacity 1s ease-out;
|
||||
}
|
||||
.dice-roller-view .dice-roller-roll:disabled {
|
||||
cursor: not-allowed;
|
||||
opacity: 0.75;
|
||||
}
|
||||
/** Dice Roller View CSS */
|
||||
.workspace-split.mod-right-split .view-content.dice-roller-view {
|
||||
padding: 0.5rem;
|
||||
display: flex;
|
||||
flex-flow: column nowrap;
|
||||
justify-content: flex-start;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.dice-roller-view .dice-roller-grid {
|
||||
display: grid;
|
||||
grid-template-rows: auto auto;
|
||||
justify-content: center;
|
||||
gap: 6px;
|
||||
}
|
||||
|
||||
.dice-roller-view .dice-roller-grid .dice-buttons {
|
||||
display: flex;
|
||||
flex-flow: row wrap;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: fit-content;
|
||||
}
|
||||
.dice-roller-view .dice-roller-grid .dice-custom-formula-container {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.dice-roller-view .dice-roller-grid .dice-custom-formula {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.dice-roller-view .setting-editor-extra-setting-button {
|
||||
width: fit-content;
|
||||
}
|
||||
|
||||
.dice-roller-view .dice-button .clickable-icon > svg {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
|
||||
.dice-roller-view .dice-context {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr auto;
|
||||
}
|
||||
.dice-roller-view .dice-context .add-subtract {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.dice-roller-view/* .dice-context */ input, .dice-roller-view textarea {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.dice-roller-view .dice-roller-grid .advantage-disadvantage {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
.dice-roller-view .dice-roller-grid .advantage-disadvantage button {
|
||||
margin: 0;
|
||||
min-width: 66px;
|
||||
}
|
||||
|
||||
.dice-roller-view .dice-roller-formula {
|
||||
display: flex;
|
||||
flex-flow: column nowrap;
|
||||
justify-content: space-between;
|
||||
align-items: flex-end;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.dice-roller-view .dice-roller-formula .action-buttons {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.dice-roller-view .dice-roller-formula button {
|
||||
margin-right: 0;
|
||||
margin-left: 12px;
|
||||
}
|
||||
|
||||
.dice-roller-view hr {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.dice-roller-view .dice-roller-results-container .dice-roller-results-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin: 6px 0px;
|
||||
width: 100%;
|
||||
border-bottom: 1px solid var(--background-modifier-border);
|
||||
}
|
||||
.dice-roller-view
|
||||
.dice-roller-results-container
|
||||
.dice-roller-results-header
|
||||
h4 {
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.dice-roller-view .dice-roller-results {
|
||||
display: flex;
|
||||
flex-flow: column nowrap;
|
||||
gap: 6px;
|
||||
}
|
||||
.dice-roller-view .dice-roller-results .view-result {
|
||||
display: flex;
|
||||
flex-flow: column nowrap;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border: 1px solid var(--background-modifier-border);
|
||||
border-radius: 0.25rem;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.dice-roller-view .dice-roller-results .view-result .dice-content-copy {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
padding: 0.25rem;
|
||||
}
|
||||
.dice-roller-view .dice-roller-results .view-result .dice-result-reroll {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
padding: 0.25rem;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.dice-roller-view .dice-roller-results .view-result strong {
|
||||
font-size: x-large;
|
||||
}
|
||||
.dice-roller-view .dice-roller-results .view-result .result-context {
|
||||
align-self: flex-end;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 0.25rem;
|
||||
font-size: x-small;
|
||||
}
|
||||
.dice-roller-view
|
||||
.dice-roller-results
|
||||
.view-result
|
||||
.result-context
|
||||
.clickable-icon {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.dice-roller-view .dice-roller-results > span {
|
||||
color: var(--text-muted);
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.dice-renderer {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,9 @@
|
||||
{
|
||||
"id": "obsidian-dynamic-toc",
|
||||
"name": "Dynamic Table of Contents",
|
||||
"author": "aidurber",
|
||||
"description": "An Obsidian plugin to generate Tables of Contents that stay up to date with your document outline.",
|
||||
"minAppVersion": "0.11.0",
|
||||
"version": "0.0.17",
|
||||
"repo": "aidurber/obsidian-plugin-dynamic-toc"
|
||||
}
|
@ -0,0 +1 @@
|
||||
Not Found
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "obsidian-itinerary",
|
||||
"name": "Itinterary",
|
||||
"version": "1.2.0",
|
||||
"minAppVersion": "0.11.10",
|
||||
"description": "Make planning your trip or event easier by rendering a calendar from event information found in your notes.",
|
||||
"author": "Adam Coddington <me@adamcoddington.net>",
|
||||
"authorUrl": "https://coddingtonbear.net/",
|
||||
"isDesktopOnly": false
|
||||
}
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@
|
||||
{"id":"obsidian-lineup-builder","name":"Lineup Builder","version":"1.0.0","minAppVersion":"0.12.0","description":"Build football lineups in Obsidian.","author":"James Fallon","authorUrl":"https://github.com/James-Fallon","isDesktopOnly":false}
|
@ -0,0 +1,37 @@
|
||||
{
|
||||
"darkMode": false,
|
||||
"markerIcons": {
|
||||
"default": {
|
||||
"prefix": "fas",
|
||||
"icon": "fa-circle",
|
||||
"markerColor": "blue"
|
||||
},
|
||||
"#trip": {
|
||||
"prefix": "fas",
|
||||
"icon": "fa-hiking",
|
||||
"markerColor": "green"
|
||||
},
|
||||
"#trip-water": {
|
||||
"prefix": "fas",
|
||||
"markerColor": "blue"
|
||||
},
|
||||
"#dogs": {
|
||||
"prefix": "fas",
|
||||
"icon": "fa-paw"
|
||||
}
|
||||
},
|
||||
"zoomOnGoFromNote": 15,
|
||||
"tilesUrl": "https://tile.openstreetmap.org/{z}/{x}/{y}.png",
|
||||
"autoZoom": true,
|
||||
"markerClickBehavior": "samePane",
|
||||
"newNoteNameFormat": "Location added on {{date:YYYY-MM-DD}}T{{date:HH-mm}}",
|
||||
"snippetLines": 3,
|
||||
"debug": false,
|
||||
"defaultZoom": 1,
|
||||
"defaultMapCenter": {
|
||||
"lat": 40.713955826286046,
|
||||
"lng": -180.70312500000003
|
||||
},
|
||||
"defaultTags": [],
|
||||
"newNoteTemplate": "Admin/Templates/Template Note"
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,8 @@
|
||||
{
|
||||
"id": "obsidian-map-view",
|
||||
"name": "Map View",
|
||||
"version": "0.2.1",
|
||||
"minAppVersion": "0.12.10",
|
||||
"description": "An interactive map view.",
|
||||
"isDesktopOnly": false
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
.map-view-marker-name {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.map-view-extra-name {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.map-view-marker-snippet {
|
||||
white-space: pre-line;
|
||||
overflow-wrap: break-word;
|
||||
}
|
||||
|
||||
.map-view-location {
|
||||
font-weight: bold;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.graph-controls {
|
||||
position: fixed;
|
||||
z-index: 2;
|
||||
margin-top: 36px;
|
||||
}
|
||||
|
||||
.graph-control-div {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.graph-control-content {
|
||||
max-height: 0px;
|
||||
overflow: hidden;
|
||||
transition: max-height .25s ease-in-out;
|
||||
}
|
||||
|
||||
.toggle:checked + .lbl-toggle + .graph-control-content {
|
||||
max-height: 100vh;
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
{
|
||||
"expansionMode": "expanded",
|
||||
"ignoreNulls": false,
|
||||
"nullValue": "",
|
||||
"skipKey": "CollapseMetaTable",
|
||||
"ignoredKeys": [],
|
||||
"filterKeys": [
|
||||
"metatable",
|
||||
"frontmatter"
|
||||
],
|
||||
"filterMode": "ignore",
|
||||
"autolinks": false,
|
||||
"vault": null
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "obsidian-metatable",
|
||||
"name": "Metatable",
|
||||
"version": "0.10.4",
|
||||
"minAppVersion": "0.12.19",
|
||||
"description": "Displays the full frontmatter as a table.",
|
||||
"author": "Arnau Siches",
|
||||
"authorUrl": "https://www.seachess.net/",
|
||||
"isDesktopOnly": false
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
/* Obsidian metatble styles */
|
||||
|
||||
/* Styles are wrapped inside a shadow DOM. If you want to see them go to https://github.com/arnau/obsidian-metatable/blob/main/src/metatable.css */
|
@ -0,0 +1,5 @@
|
||||
{
|
||||
"item-note-template": "00.01 Admin/Templates/Template Pocket Source",
|
||||
"item-notes-folder": "00.02 Inbox",
|
||||
"multi-word-tag-converter": "camel-case"
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "obsidian-pocket",
|
||||
"name": "Pocket integration",
|
||||
"version": "0.5.3",
|
||||
"minAppVersion": "0.12.11",
|
||||
"description": "Access your Pocket reading list entries and create notes for them easily",
|
||||
"author": "Nimalan Mahendran",
|
||||
"authorUrl": "https://twitter.com/nimalan",
|
||||
"isDesktopOnly": false
|
||||
}
|
@ -0,0 +1,47 @@
|
||||
.PocketItemTagList-styles-module_itemTagList__nVMsD {
|
||||
list-style: none;
|
||||
padding-inline-start: 0px;
|
||||
margin-top: 4px;
|
||||
}
|
||||
.PocketItemTagList-styles-module_itemTagList__nVMsD > li {
|
||||
display: inline;
|
||||
color: var(--text-muted);
|
||||
background-color: var(--background-secondary);
|
||||
margin: 4px;
|
||||
padding: 2px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.PocketItem-styles-module_item__3n5s8 {
|
||||
color: black;
|
||||
border: 1px solid black;
|
||||
display: block;
|
||||
|
||||
padding: 4px 8px;
|
||||
}
|
||||
.PocketItem-styles-module_item__3n5s8 > span {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.PocketItem-styles-module_itemTitle__2bkMG {
|
||||
font-weight: 600;
|
||||
flex-grow: 1;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.PocketItem-styles-module_itemExcerpt__3umt6 {
|
||||
font-weight: 300;
|
||||
line-height: 1.5;
|
||||
flex-grow: 1;
|
||||
width: 100%;
|
||||
color: var(--text-normal);
|
||||
}
|
||||
.PocketItemList-styles-module_list__2zKhb {
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
.PocketItemList-styles-module_item__3rjWY {
|
||||
margin: 8px;
|
||||
}
|
||||
.settings-styles-module_error__3S0_A {
|
||||
border-color: var(--background-modifier-error-hover) !important;
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "obsidian-tasks-plugin",
|
||||
"name": "Tasks",
|
||||
"version": "1.4.1",
|
||||
"minAppVersion": "0.12.17",
|
||||
"description": "Task management for Obsidian",
|
||||
"author": "Martin Schenck",
|
||||
"authorUrl": "https://github.com/schemar",
|
||||
"isDesktopOnly": false
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
.tasks-count {
|
||||
color: var(--text-faint);
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
/* Pencil icon. */
|
||||
.tasks-edit {
|
||||
background-color: var(--text-faint);
|
||||
mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20aria-hidden%3D%22true%22%20focusable%3D%22false%22%20width%3D%221em%22%20height%3D%221em%22%20style%3D%22-ms-transform%3A%20rotate(360deg)%3B%20-webkit-transform%3A%20rotate(360deg)%3B%20transform%3A%20rotate(360deg)%3B%22%20preserveAspectRatio%3D%22xMidYMid%20meet%22%20viewBox%3D%220%200%201536%201536%22%3E%3Cpath%20d%3D%22M363%201408l91-91l-235-235l-91%2091v107h128v128h107zm523-928q0-22-22-22q-10%200-17%207l-542%20542q-7%207-7%2017q0%2022%2022%2022q10%200%2017-7l542-542q7-7%207-17zm-54-192l416%20416l-832%20832H0v-416zm683%2096q0%2053-37%2090l-166%20166l-416-416l166-165q36-38%2090-38q53%200%2091%2038l235%20234q37%2039%2037%2091z%22%20fill%3D%22%23626262%22%2F%3E%3C%2Fsvg%3E");
|
||||
-webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20aria-hidden%3D%22true%22%20focusable%3D%22false%22%20width%3D%221em%22%20height%3D%221em%22%20style%3D%22-ms-transform%3A%20rotate(360deg)%3B%20-webkit-transform%3A%20rotate(360deg)%3B%20transform%3A%20rotate(360deg)%3B%22%20preserveAspectRatio%3D%22xMidYMid%20meet%22%20viewBox%3D%220%200%201536%201536%22%3E%3Cpath%20d%3D%22M363%201408l91-91l-235-235l-91%2091v107h128v128h107zm523-928q0-22-22-22q-10%200-17%207l-542%20542q-7%207-7%2017q0%2022%2022%2022q10%200%2017-7l542-542q7-7%207-17zm-54-192l416%20416l-832%20832H0v-416zm683%2096q0%2053-37%2090l-166%20166l-416-416l166-165q36-38%2090-38q53%200%2091%2038l235%20234q37%2039%2037%2091z%22%20fill%3D%22%23626262%22%2F%3E%3C%2Fsvg%3E");
|
||||
display: inline-block;
|
||||
width: 1em;
|
||||
height: 1em;
|
||||
vertical-align: middle;
|
||||
margin-left: 0.3em;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.tasks-list-text {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.tasks-list-text .tooltip {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.tasks-setting-important {
|
||||
color: red;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.tasks-modal label {
|
||||
margin: 5px 0 5px 0;
|
||||
}
|
||||
|
||||
.tasks-modal input[type=text] {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.tasks-modal hr {
|
||||
margin: 10px 0 10px 0;
|
||||
}
|
||||
|
||||
.tasks-modal-date {
|
||||
margin-bottom: 10px;
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "obsidian-timeline",
|
||||
"name": "Timeline",
|
||||
"version": "1.0.1",
|
||||
"minAppVersion": "0.12.15",
|
||||
"description": "Used to build great timelines",
|
||||
"author": "George Butco",
|
||||
"authorUrl": "",
|
||||
"isDesktopOnly": false
|
||||
}
|
@ -0,0 +1,295 @@
|
||||
.timeline.line-2 .time-container::before, .timeline.line-2 .time-container::after {
|
||||
right: -2.2rem;
|
||||
top: 50%;
|
||||
-webkit-transform: translateY(-50%);
|
||||
transform: translateY(-50%);
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.timeline.line-2 .time-container::before {
|
||||
height: 1.2rem;
|
||||
width: 1.2rem;
|
||||
}
|
||||
|
||||
.timeline.line-2 .time-container::after {
|
||||
background: transparent;
|
||||
border: 0.2rem solid var(--text-normal);
|
||||
height: 0.8rem;
|
||||
width: 0.8rem;
|
||||
opacity: 0.15;
|
||||
}
|
||||
|
||||
.timeline.line-2 .main-line {
|
||||
width: 0.2rem;
|
||||
opacity: 0.15;
|
||||
}
|
||||
|
||||
.timeline.line-3 .time-container::before {
|
||||
background: var(--timeline-active-color);
|
||||
height: 1rem;
|
||||
width: 1rem;
|
||||
border: 0.3rem solid var(--background-primary);
|
||||
right: -2.45rem;
|
||||
top: 50%;
|
||||
-webkit-transform: translateY(-50%);
|
||||
transform: translateY(-50%);
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.timeline.line-3 .time-container::after {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.timeline.line-3 .main-line {
|
||||
width: 0.3rem;
|
||||
opacity: 0.15;
|
||||
}
|
||||
|
||||
.timeline.line-4 .time-container::before, .timeline.line-4 .time-container::after {
|
||||
top: 50%;
|
||||
-webkit-transform: translateY(-50%);
|
||||
transform: translateY(-50%);
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.timeline.line-4 .time-container::before {
|
||||
background: var(--text-normal);
|
||||
height: 1.4rem;
|
||||
width: 1.4rem;
|
||||
right: -2.3rem;
|
||||
}
|
||||
|
||||
.timeline.line-4 .time-container::after {
|
||||
opacity: 1;
|
||||
background: var(--timeline-active-color);
|
||||
height: 0.77778rem;
|
||||
width: 0.77778rem;
|
||||
right: -1.98889rem;
|
||||
}
|
||||
|
||||
.timeline.line-4 .main-line {
|
||||
opacity: 1;
|
||||
width: 0.2rem;
|
||||
background-color: transparent;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(60%, var(--text-normal)), color-stop(0%, rgba(255, 255, 255, 0)));
|
||||
background-image: linear-gradient(var(--text-normal) 60%, rgba(255, 255, 255, 0) 0%);
|
||||
background-position: right;
|
||||
background-size: 0.2rem 1.5rem;
|
||||
background-repeat: repeat-y;
|
||||
}
|
||||
|
||||
.timeline.line-5 .time-container::before, .timeline.line-5 .time-container::after {
|
||||
top: 50%;
|
||||
}
|
||||
|
||||
.timeline.line-5 .time-container::before {
|
||||
width: 3rem;
|
||||
height: 3rem;
|
||||
right: -3.1rem;
|
||||
-webkit-transform: translateY(-50%);
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
.timeline.line-5 .time-container::after {
|
||||
width: 1rem;
|
||||
height: 1rem;
|
||||
right: 0;
|
||||
-webkit-transform: translateY(-50%) translateX(2.1rem) rotate(45deg);
|
||||
transform: translateY(-50%) translateX(2.1rem) rotate(45deg);
|
||||
}
|
||||
|
||||
.timeline.line-5 .main-line {
|
||||
width: 0.2rem;
|
||||
opacity: 0.25;
|
||||
}
|
||||
|
||||
.timeline.body-2 .info, .timeline.body-3 .info, .timeline.body-4 .info {
|
||||
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
|
||||
background-color: var(--background-primary-alt);
|
||||
}
|
||||
|
||||
.timeline.body-2 .info::after, .timeline.body-3 .info::after, .timeline.body-4 .info::after {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.timeline.body-2 .info, .timeline.body-4 .info {
|
||||
padding: 1.5rem;
|
||||
}
|
||||
|
||||
.timeline.body-2 .time-container, .timeline.body-4 .time-container {
|
||||
margin-top: 1.5rem;
|
||||
}
|
||||
|
||||
.timeline.body-2 .info {
|
||||
border-radius: 1.5rem;
|
||||
}
|
||||
|
||||
.timeline.body-3 .info {
|
||||
margin-left: 1rem;
|
||||
}
|
||||
|
||||
.timeline.body-3 .info .title {
|
||||
position: relative;
|
||||
background: var(--timeline-active-color);
|
||||
padding: 0 1.5rem;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.timeline.body-3 .info .title::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
width: 2rem;
|
||||
background: var(--timeline-active-color);
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: -1rem;
|
||||
-webkit-clip-path: polygon(1rem 0, 100% 0, 100% 100%, 1rem 100%, 0 50%);
|
||||
clip-path: polygon(1rem 0, 100% 0, 100% 100%, 1rem 100%, 0 50%);
|
||||
}
|
||||
|
||||
.timeline.body-3 .info .description {
|
||||
padding: 1.5rem;
|
||||
}
|
||||
|
||||
.timeline.body-4 .info {
|
||||
border-left: 0.3rem solid var(--timeline-active-color);
|
||||
}
|
||||
|
||||
.timeline.spaced-lines .description p {
|
||||
line-height: 1.7rem;
|
||||
}
|
||||
|
||||
.timeline {
|
||||
--timeline-active-color: var(--background-modifier-success);
|
||||
}
|
||||
|
||||
.timeline.active-color-background-modifier-success {
|
||||
--timeline-active-color: var(--background-modifier-success);
|
||||
}
|
||||
|
||||
.timeline.active-color-background-modifier-error {
|
||||
--timeline-active-color: var(--background-modifier-error);
|
||||
}
|
||||
|
||||
.timeline.active-color-background-modifier-error-hover {
|
||||
--timeline-active-color: var(--background-modifier-error-hover);
|
||||
}
|
||||
|
||||
.timeline.active-color-text-accent {
|
||||
--timeline-active-color: var(--text-accent);
|
||||
}
|
||||
|
||||
.timeline.active-color-text-accent-hover {
|
||||
--timeline-active-color: var(--text-accent-hover);
|
||||
}
|
||||
|
||||
.timeline.active-color-text-error {
|
||||
--timeline-active-color: var(--text-error);
|
||||
}
|
||||
|
||||
.timeline.active-color-text-error-hover {
|
||||
--timeline-active-color: var(--text-error-hover);
|
||||
}
|
||||
|
||||
.timeline.active-color-text-selection {
|
||||
--timeline-active-color: var(--text-selection);
|
||||
}
|
||||
|
||||
.timeline.active-color-interactive-accent {
|
||||
--timeline-active-color: var(--interactive-accent);
|
||||
}
|
||||
|
||||
.timeline.active-color-interactive-accent-hover {
|
||||
--timeline-active-color: var(--interactive-accent-hover);
|
||||
}
|
||||
|
||||
.timeline.active-color-interactive-success {
|
||||
--timeline-active-color: var(--interactive-success);
|
||||
}
|
||||
|
||||
.timeline {
|
||||
display: -ms-grid;
|
||||
display: grid;
|
||||
-ms-grid-columns: auto auto 1fr;
|
||||
grid-template-columns: auto auto 1fr;
|
||||
-webkit-column-gap: 1.5rem;
|
||||
column-gap: 1.5rem;
|
||||
row-gap: 4.5rem;
|
||||
margin: 2.3rem 0;
|
||||
}
|
||||
|
||||
.timeline .time *, .timeline .title * {
|
||||
font-size: 1.3rem;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.timeline .time-container {
|
||||
-ms-grid-column: 1;
|
||||
-ms-grid-column-span: 1;
|
||||
grid-column: 1 / span 1;
|
||||
position: relative;
|
||||
-ms-flex-item-align: start;
|
||||
-ms-grid-row-align: start;
|
||||
align-self: start;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.timeline .time-container::before, .timeline .time-container::after {
|
||||
content: ' ';
|
||||
position: absolute;
|
||||
height: 100%;
|
||||
width: 0.5rem;
|
||||
right: -2rem;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.timeline .time-container::before {
|
||||
background-color: var(--background-primary);
|
||||
}
|
||||
|
||||
.timeline .time-container::after {
|
||||
background-color: var(--text-normal);
|
||||
opacity: 0.25;
|
||||
}
|
||||
|
||||
.timeline .info {
|
||||
position: relative;
|
||||
-ms-grid-column: 3;
|
||||
-ms-grid-column-span: 1;
|
||||
grid-column: 3 / span 1;
|
||||
}
|
||||
|
||||
.timeline .info .title {
|
||||
margin-bottom: 0.86667rem;
|
||||
}
|
||||
|
||||
.timeline .info::after {
|
||||
content: ' ';
|
||||
position: absolute;
|
||||
border-bottom: 0.1rem dashed var(--text-normal);
|
||||
opacity: 0.1;
|
||||
width: 100%;
|
||||
height: 2.25rem;
|
||||
}
|
||||
|
||||
.timeline .info:last-child::after {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.timeline .main-line {
|
||||
height: 100%;
|
||||
width: 0.5rem;
|
||||
-ms-grid-column: 2;
|
||||
-ms-grid-column-span: 1;
|
||||
grid-column: 2 / span 1;
|
||||
-ms-grid-row: 1;
|
||||
grid-row-start: 1;
|
||||
background-color: var(--text-normal);
|
||||
opacity: 0.1;
|
||||
}
|
||||
|
||||
.timeline .time-container .time > *:first-child, .timeline .time-container .time > *:last-child, .timeline .info .title > *:first-child, .timeline .info .title > *:last-child, .timeline .info .description > *:first-child, .timeline .info .description > *:last-child {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
{
|
||||
"pluginList": [
|
||||
"James-Fallon/obsidian-lineup-builder",
|
||||
"kinabalu/obsidian-crypto-lookup",
|
||||
"joethei/obsidian-rss"
|
||||
],
|
||||
"updateAtStartup": false
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "obsidian42-brat",
|
||||
"name": "Obsidian42 - BRAT",
|
||||
"version": "0.6.0",
|
||||
"minAppVersion": "0.9.12",
|
||||
"description": "Easily install a beta version of a plugin for testing.",
|
||||
"author": "TfTHacker",
|
||||
"authorUrl": "https://github.com/TfTHacker/obsidian42-brat",
|
||||
"isDesktopOnly": false
|
||||
}
|
@ -0,0 +1 @@
|
||||
Not Found
|
@ -0,0 +1,46 @@
|
||||
{
|
||||
"choices": [
|
||||
{
|
||||
"id": "ab19adf6-9c51-4b9b-bf0e-6758eaca3057",
|
||||
"name": "Locator",
|
||||
"type": "Macro",
|
||||
"command": false,
|
||||
"macroId": "c8c01442-d00b-4360-8cf9-54467e0f9117"
|
||||
},
|
||||
{
|
||||
"id": "a225fd14-3532-475b-9882-4a7d42efe5af",
|
||||
"name": "Addmonition",
|
||||
"type": "Macro",
|
||||
"command": false,
|
||||
"macroId": "094780ef-c2ef-4b46-9309-ff3f2ba9596b"
|
||||
}
|
||||
],
|
||||
"macros": [
|
||||
{
|
||||
"name": "Locator",
|
||||
"id": "c8c01442-d00b-4360-8cf9-54467e0f9117",
|
||||
"commands": [
|
||||
{
|
||||
"name": "getLongLatFromAddress",
|
||||
"type": "UserScript",
|
||||
"id": "d86fdcaa-5d51-48d9-8e10-fe68d1f09d7e",
|
||||
"path": "Admin/getLongLatFromAddress.js"
|
||||
}
|
||||
],
|
||||
"runOnStartup": true
|
||||
},
|
||||
{
|
||||
"name": "Addmonition",
|
||||
"id": "094780ef-c2ef-4b46-9309-ff3f2ba9596b",
|
||||
"commands": [
|
||||
{
|
||||
"name": "Find and replace in selection: Find and replace in selection",
|
||||
"type": "Obsidian",
|
||||
"id": "faf3bf5f-9d0b-4ae1-9b26-f94a14555518",
|
||||
"commandId": "find-and-replace-in-selection:find-and-replace-in-selection"
|
||||
}
|
||||
],
|
||||
"runOnStartup": true
|
||||
}
|
||||
]
|
||||
}
|
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue