backup: 2026-04-17 11:28
This commit is contained in:
Vendored
+22
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"alwaysUpdateLinks": true,
|
||||
"newFileLocation": "folder",
|
||||
"newFileFolderPath": "00 Inbox",
|
||||
"attachmentFolderPath": "99 System/Cache",
|
||||
"trashOption": "local",
|
||||
"showUnsupportedFiles": true,
|
||||
"promptDelete": false,
|
||||
"pdfExportSettings": {
|
||||
"includeName": false,
|
||||
"pageSize": "Letter",
|
||||
"landscape": false,
|
||||
"margin": "1",
|
||||
"downscalePercent": 100
|
||||
},
|
||||
"readableLineLength": true,
|
||||
"strictLineBreaks": false,
|
||||
"rightToLeft": false,
|
||||
"defaultViewMode": "preview",
|
||||
"showLineNumber": true,
|
||||
"openBehavior": "file:05 Tools/Study Tracker/Study Tracker"
|
||||
}
|
||||
Vendored
+14
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"cssTheme": "Border",
|
||||
"accentColor": "#3daee9",
|
||||
"enabledCssSnippets": [
|
||||
"math-blocks"
|
||||
],
|
||||
"theme": "obsidian",
|
||||
"interfaceFontFamily": "Inter",
|
||||
"textFontFamily": "Inter",
|
||||
"baseFontSizeAction": true,
|
||||
"baseFontSize": 16,
|
||||
"monospaceFontFamily": "",
|
||||
"nativeMenus": false
|
||||
}
|
||||
Vendored
+3
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"backlinkInDocument": false
|
||||
}
|
||||
Vendored
+62
@@ -0,0 +1,62 @@
|
||||
{
|
||||
"items": [
|
||||
{
|
||||
"type": "file",
|
||||
"ctime": 1766646758986,
|
||||
"path": "02 Projects/Наука/Статьи/Разработка алгоритма автоматического бэкапа на основе «важности» данных.md",
|
||||
"title": "База - Статья"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"ctime": 1768508096158,
|
||||
"path": "91 Archive/Налоги - Экзамен.md"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"ctime": 1769064531189,
|
||||
"path": "91 Archive/МСМП - Экзамен.md"
|
||||
},
|
||||
{
|
||||
"type": "graph",
|
||||
"ctime": 1774534866277,
|
||||
"title": "Graph",
|
||||
"options": {
|
||||
"collapse-filter": false,
|
||||
"search": "",
|
||||
"showTags": false,
|
||||
"showAttachments": false,
|
||||
"hideUnresolved": false,
|
||||
"showOrphans": true,
|
||||
"collapse-color-groups": false,
|
||||
"colorGroups": [
|
||||
{
|
||||
"query": "tag:#contact ",
|
||||
"color": {
|
||||
"a": 1,
|
||||
"rgb": 13356588
|
||||
}
|
||||
},
|
||||
{
|
||||
"query": "tag:#daily ",
|
||||
"color": {
|
||||
"a": 1,
|
||||
"rgb": 12171519
|
||||
}
|
||||
}
|
||||
],
|
||||
"collapse-display": false,
|
||||
"showArrow": false,
|
||||
"textFadeMultiplier": 0,
|
||||
"nodeSizeMultiplier": 1,
|
||||
"lineSizeMultiplier": 1,
|
||||
"collapse-forces": false,
|
||||
"centerStrength": 0.518713248970312,
|
||||
"repelStrength": 10,
|
||||
"linkStrength": 1,
|
||||
"linkDistance": 250,
|
||||
"scale": 0.14425031921613363,
|
||||
"close": true
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Vendored
+18
@@ -0,0 +1,18 @@
|
||||
[
|
||||
"calendar",
|
||||
"digitalgarden",
|
||||
"obsidian-emoji-toolbar",
|
||||
"editing-toolbar",
|
||||
"folder-notes",
|
||||
"obsidian-linter",
|
||||
"metadata-menu",
|
||||
"omnisearch",
|
||||
"quick-latex",
|
||||
"obsidian-style-settings",
|
||||
"obsidian-tasks-plugin",
|
||||
"templater-obsidian",
|
||||
"typewriter-mode",
|
||||
"waypoint",
|
||||
"dataview",
|
||||
"obsidian-icon-folder"
|
||||
]
|
||||
Vendored
+33
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"file-explorer": true,
|
||||
"global-search": true,
|
||||
"switcher": true,
|
||||
"graph": true,
|
||||
"backlink": true,
|
||||
"canvas": true,
|
||||
"outgoing-link": true,
|
||||
"tag-pane": true,
|
||||
"footnotes": true,
|
||||
"properties": true,
|
||||
"page-preview": true,
|
||||
"daily-notes": true,
|
||||
"templates": true,
|
||||
"note-composer": true,
|
||||
"command-palette": true,
|
||||
"slash-command": true,
|
||||
"editor-status": true,
|
||||
"bookmarks": true,
|
||||
"markdown-importer": true,
|
||||
"zk-prefixer": false,
|
||||
"random-note": true,
|
||||
"outline": true,
|
||||
"word-count": true,
|
||||
"slides": false,
|
||||
"audio-recorder": true,
|
||||
"workspaces": false,
|
||||
"file-recovery": true,
|
||||
"publish": false,
|
||||
"sync": true,
|
||||
"bases": true,
|
||||
"webviewer": true
|
||||
}
|
||||
Vendored
+6
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"folder": "03 Journal",
|
||||
"template": "99 System/Template/Daily Note",
|
||||
"format": "YYYY/MM - MMMM/DD.MM.YY - dddd",
|
||||
"autorun": false
|
||||
}
|
||||
Vendored
+37
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"collapse-filter": true,
|
||||
"search": "",
|
||||
"showTags": false,
|
||||
"showAttachments": false,
|
||||
"hideUnresolved": false,
|
||||
"showOrphans": true,
|
||||
"collapse-color-groups": true,
|
||||
"colorGroups": [
|
||||
{
|
||||
"query": "tag:#contact ",
|
||||
"color": {
|
||||
"a": 1,
|
||||
"rgb": 13356588
|
||||
}
|
||||
},
|
||||
{
|
||||
"query": "tag:#daily ",
|
||||
"color": {
|
||||
"a": 1,
|
||||
"rgb": 12171519
|
||||
}
|
||||
}
|
||||
],
|
||||
"collapse-display": false,
|
||||
"showArrow": false,
|
||||
"textFadeMultiplier": 1.4,
|
||||
"nodeSizeMultiplier": 1,
|
||||
"lineSizeMultiplier": 1,
|
||||
"collapse-forces": false,
|
||||
"centerStrength": 0.292099792099792,
|
||||
"repelStrength": 6.34095634095634,
|
||||
"linkStrength": 0.504158004158004,
|
||||
"linkDistance": 250,
|
||||
"scale": 0.07694410127526745,
|
||||
"close": true
|
||||
}
|
||||
Vendored
+83
@@ -0,0 +1,83 @@
|
||||
{
|
||||
"insert-template": [
|
||||
{
|
||||
"modifiers": [
|
||||
"Alt"
|
||||
],
|
||||
"key": "T"
|
||||
}
|
||||
],
|
||||
"templater-obsidian:create-95 System/Template/Tech Note.md": [
|
||||
{
|
||||
"modifiers": [
|
||||
"Alt"
|
||||
],
|
||||
"key": "N"
|
||||
}
|
||||
],
|
||||
"templater-obsidian:create-new-note-from-template": [],
|
||||
"templater-obsidian:create-95 System/Template/Base Note.md": [
|
||||
{
|
||||
"modifiers": [
|
||||
"Alt"
|
||||
],
|
||||
"key": "N"
|
||||
}
|
||||
],
|
||||
"editing-toolbar:underline": [
|
||||
{
|
||||
"modifiers": [
|
||||
"Mod"
|
||||
],
|
||||
"key": "U"
|
||||
}
|
||||
],
|
||||
"editing-toolbar:header1-text": [
|
||||
{
|
||||
"modifiers": [
|
||||
"Alt"
|
||||
],
|
||||
"key": "1"
|
||||
}
|
||||
],
|
||||
"editing-toolbar:header2-text": [
|
||||
{
|
||||
"modifiers": [
|
||||
"Alt"
|
||||
],
|
||||
"key": "2"
|
||||
}
|
||||
],
|
||||
"editing-toolbar:header3-text": [
|
||||
{
|
||||
"modifiers": [
|
||||
"Alt"
|
||||
],
|
||||
"key": "3"
|
||||
}
|
||||
],
|
||||
"editing-toolbar:header0-text": [
|
||||
{
|
||||
"modifiers": [
|
||||
"Alt"
|
||||
],
|
||||
"key": "0"
|
||||
}
|
||||
],
|
||||
"quick-latex:addInlineMath": [
|
||||
{
|
||||
"modifiers": [
|
||||
"Alt"
|
||||
],
|
||||
"key": "M"
|
||||
}
|
||||
],
|
||||
"templater-obsidian:create-99 System/Template/Base Note.md": [
|
||||
{
|
||||
"modifiers": [
|
||||
"Alt"
|
||||
],
|
||||
"key": "N"
|
||||
}
|
||||
]
|
||||
}
|
||||
Vendored
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"shouldConfirmBeforeCreate": true,
|
||||
"weekStart": "locale",
|
||||
"wordsPerDot": 250,
|
||||
"showWeeklyNote": false,
|
||||
"weeklyNoteFormat": "",
|
||||
"weeklyNoteTemplate": "",
|
||||
"weeklyNoteFolder": "",
|
||||
"localeOverride": "system-default"
|
||||
}
|
||||
Vendored
+4459
File diff suppressed because it is too large
Load Diff
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "calendar",
|
||||
"name": "Calendar",
|
||||
"description": "Calendar view of your daily notes",
|
||||
"version": "1.5.10",
|
||||
"author": "Liam Cain",
|
||||
"authorUrl": "https://github.com/liamcain/",
|
||||
"isDesktopOnly": false,
|
||||
"minAppVersion": "0.9.11"
|
||||
}
|
||||
Vendored
+20876
File diff suppressed because one or more lines are too long
+11
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"id": "dataview",
|
||||
"name": "Dataview",
|
||||
"version": "0.5.68",
|
||||
"minAppVersion": "0.13.11",
|
||||
"description": "Complex data views for the data-obsessed.",
|
||||
"author": "Michael Brenan <blacksmithgu@gmail.com>",
|
||||
"authorUrl": "https://github.com/blacksmithgu",
|
||||
"helpUrl": "https://blacksmithgu.github.io/obsidian-dataview/",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
+141
@@ -0,0 +1,141 @@
|
||||
.block-language-dataview {
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
/*****************/
|
||||
/** Table Views **/
|
||||
/*****************/
|
||||
|
||||
/* 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 > tbody > tr:hover {
|
||||
background-color: var(--table-row-background-hover);
|
||||
}
|
||||
|
||||
.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%;
|
||||
}
|
||||
|
||||
.table-view-table ul, .table-view-table ol {
|
||||
margin-block-start: 0.2em !important;
|
||||
margin-block-end: 0.2em !important;
|
||||
}
|
||||
|
||||
/** Rendered value styling for any view. */
|
||||
.dataview-result-list-root-ul {
|
||||
padding: 0em !important;
|
||||
margin: 0em !important;
|
||||
}
|
||||
|
||||
.dataview-result-list-ul {
|
||||
margin-block-start: 0.2em !important;
|
||||
margin-block-end: 0.2em !important;
|
||||
}
|
||||
|
||||
/** Generic grouping styling. */
|
||||
.dataview.result-group {
|
||||
padding-left: 8px;
|
||||
}
|
||||
|
||||
/*******************/
|
||||
/** Inline Fields **/
|
||||
/*******************/
|
||||
|
||||
.dataview.inline-field-key {
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
font-family: var(--font-monospace);
|
||||
background-color: var(--background-primary-alt);
|
||||
color: var(--nav-item-color-selected);
|
||||
}
|
||||
|
||||
.dataview.inline-field-value {
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
font-family: var(--font-monospace);
|
||||
background-color: var(--background-secondary-alt);
|
||||
color: var(--nav-item-color-selected);
|
||||
}
|
||||
|
||||
.dataview.inline-field-standalone-value {
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
font-family: var(--font-monospace);
|
||||
background-color: var(--background-secondary-alt);
|
||||
color: var(--nav-item-color-selected);
|
||||
}
|
||||
|
||||
/***************/
|
||||
/** Task View **/
|
||||
/***************/
|
||||
|
||||
.dataview.task-list-item, .dataview.task-list-basic-item {
|
||||
margin-top: 3px;
|
||||
margin-bottom: 3px;
|
||||
transition: 0.4s;
|
||||
}
|
||||
|
||||
.dataview.task-list-item:hover, .dataview.task-list-basic-item:hover {
|
||||
background-color: var(--text-selection);
|
||||
box-shadow: -40px 0 0 var(--text-selection);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/*****************/
|
||||
/** Error Views **/
|
||||
/*****************/
|
||||
|
||||
div.dataview-error-box {
|
||||
width: 100%;
|
||||
min-height: 150px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border: 4px dashed var(--background-secondary);
|
||||
}
|
||||
|
||||
.dataview-error-message {
|
||||
color: var(--text-muted);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/*************************/
|
||||
/** Additional Metadata **/
|
||||
/*************************/
|
||||
|
||||
.dataview.small-text {
|
||||
font-size: smaller;
|
||||
color: var(--text-muted);
|
||||
margin-left: 3px;
|
||||
}
|
||||
|
||||
.dataview.small-text::before {
|
||||
content: "(";
|
||||
}
|
||||
|
||||
.dataview.small-text::after {
|
||||
content: ")";
|
||||
}
|
||||
+1131
File diff suppressed because it is too large
Load Diff
+12
File diff suppressed because one or more lines are too long
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "editing-toolbar",
|
||||
"name": "Editing Toolbar",
|
||||
"version": "3.2.7",
|
||||
"minAppVersion": "0.14.0",
|
||||
"description": "The Obsidian Editing Toolbar is modified from cmenu, which provides more powerful customization settings and has many built-in editing commands to be a MS Word-like toolbar editing experience.",
|
||||
"author": "Cuman",
|
||||
"authorUrl": "https://github.com/cumany/obsidian-editing-toolbar",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
+1506
File diff suppressed because it is too large
Load Diff
+129
@@ -0,0 +1,129 @@
|
||||
{
|
||||
"syncFolderName": true,
|
||||
"ctrlKey": true,
|
||||
"altKey": false,
|
||||
"hideFolderNote": true,
|
||||
"templatePath": "",
|
||||
"autoCreate": false,
|
||||
"autoCreateFocusFiles": true,
|
||||
"autoCreateForAttachmentFolder": false,
|
||||
"autoCreateForFiles": false,
|
||||
"enableCollapsing": false,
|
||||
"excludeFolders": [],
|
||||
"whitelistFolders": [],
|
||||
"showDeleteConfirmation": true,
|
||||
"underlineFolder": true,
|
||||
"stopWhitespaceCollapsing": true,
|
||||
"underlineFolderInPath": true,
|
||||
"openFolderNoteOnClickInPath": true,
|
||||
"openInNewTab": false,
|
||||
"focusExistingTab": false,
|
||||
"oldFolderNoteName": "{{folder_name}}",
|
||||
"folderNoteName": "{{folder_name}}",
|
||||
"folderNoteType": ".md",
|
||||
"disableFolderHighlighting": false,
|
||||
"newFolderNoteName": "{{folder_name}}",
|
||||
"storageLocation": "insideFolder",
|
||||
"syncDelete": false,
|
||||
"showRenameConfirmation": true,
|
||||
"defaultOverview": {
|
||||
"id": "",
|
||||
"folderPath": "",
|
||||
"title": "{{folderName}} overview",
|
||||
"showTitle": false,
|
||||
"depth": 3,
|
||||
"includeTypes": [
|
||||
"folder",
|
||||
"markdown"
|
||||
],
|
||||
"style": "explorer",
|
||||
"disableFileTag": false,
|
||||
"sortBy": "name",
|
||||
"sortByAsc": true,
|
||||
"showEmptyFolders": false,
|
||||
"onlyIncludeSubfolders": false,
|
||||
"storeFolderCondition": true,
|
||||
"showFolderNotes": false,
|
||||
"disableCollapseIcon": true,
|
||||
"alwaysCollapse": false,
|
||||
"autoSync": true,
|
||||
"allowDragAndDrop": true,
|
||||
"hideLinkList": true,
|
||||
"hideFolderOverview": false,
|
||||
"useActualLinks": false,
|
||||
"fmtpIntegration": false,
|
||||
"titleSize": 1,
|
||||
"isInCallout": false
|
||||
},
|
||||
"useSubmenus": true,
|
||||
"syncMove": true,
|
||||
"frontMatterTitle": {
|
||||
"enabled": false,
|
||||
"explorer": true,
|
||||
"path": true
|
||||
},
|
||||
"settingsTab": "folder_overview",
|
||||
"supportedFileTypes": [
|
||||
"md",
|
||||
"canvas",
|
||||
"base"
|
||||
],
|
||||
"boldName": false,
|
||||
"boldNameInPath": false,
|
||||
"cursiveName": false,
|
||||
"cursiveNameInPath": false,
|
||||
"disableOpenFolderNoteOnClick": false,
|
||||
"openByClick": true,
|
||||
"openWithCtrl": false,
|
||||
"openWithAlt": false,
|
||||
"excludeFolderDefaultSettings": {
|
||||
"type": "folder",
|
||||
"path": "",
|
||||
"id": "e3c4f06e-947b-4d09-9e6f-67433bce7aee",
|
||||
"subFolders": true,
|
||||
"disableSync": true,
|
||||
"disableAutoCreate": true,
|
||||
"disableFolderNote": false,
|
||||
"enableCollapsing": false,
|
||||
"position": 0,
|
||||
"excludeFromFolderOverview": false,
|
||||
"string": "",
|
||||
"hideInSettings": false,
|
||||
"detached": false,
|
||||
"showFolderNote": false
|
||||
},
|
||||
"excludePatternDefaultSettings": {
|
||||
"type": "pattern",
|
||||
"path": "",
|
||||
"id": "9764ea24-60cf-481f-b2d5-9c1ced79f7d4",
|
||||
"subFolders": true,
|
||||
"disableSync": true,
|
||||
"disableAutoCreate": true,
|
||||
"disableFolderNote": false,
|
||||
"enableCollapsing": false,
|
||||
"position": 0,
|
||||
"excludeFromFolderOverview": false,
|
||||
"string": "",
|
||||
"hideInSettings": false,
|
||||
"detached": false,
|
||||
"showFolderNote": false
|
||||
},
|
||||
"hideCollapsingIcon": false,
|
||||
"hideCollapsingIconForEmptyFolders": false,
|
||||
"tabManagerEnabled": true,
|
||||
"ignoreAttachmentFolder": true,
|
||||
"deleteFilesAction": "trash",
|
||||
"openSidebar": {
|
||||
"mobile": false,
|
||||
"desktop": true
|
||||
},
|
||||
"highlightFolder": true,
|
||||
"persistentSettingsTab": {
|
||||
"afterRestart": true,
|
||||
"afterChangingTab": true
|
||||
},
|
||||
"firstTimeInsertOverview": true,
|
||||
"fvGlobalSettings": {
|
||||
"autoUpdateLinks": true
|
||||
}
|
||||
}
|
||||
+9105
File diff suppressed because it is too large
Load Diff
+12
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"id": "folder-notes",
|
||||
"name": "Folder notes",
|
||||
"version": "1.8.17",
|
||||
"minAppVersion": "0.15.0",
|
||||
"description": "Create notes within folders that can be accessed without collapsing the folder, similar to the functionality offered in Notion.",
|
||||
"author": "Lost Paul",
|
||||
"authorUrl": "https://github.com/LostPaul",
|
||||
"fundingUrl": "https://ko-fi.com/paul305844",
|
||||
"helpUrl": "https://lostpaul.github.io/obsidian-folder-notes/",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
+340
@@ -0,0 +1,340 @@
|
||||
/* ==========================================================================
|
||||
General States & Utilities
|
||||
========================================================================== */
|
||||
|
||||
.hide,
|
||||
.hide-folder .folder-name,
|
||||
.hide-folder-note .is-folder-note {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pointer-cursor,
|
||||
.has-folder-note .nav-folder-title-content:hover,
|
||||
.has-folder-note.view-header-breadcrumb:hover,
|
||||
.nav-folder-collapse-indicator:hover,
|
||||
.fn-delete-confirmation-modal-buttons span:hover,
|
||||
.fn-delete-confirmation-modal-buttons input:hover {
|
||||
cursor: pointer !important;
|
||||
}
|
||||
|
||||
|
||||
/* ==========================================================================
|
||||
Tree Items
|
||||
========================================================================== */
|
||||
|
||||
body:not(.is-grabbing) .tree-item-self.fn-is-active:hover,
|
||||
body:not(.disable-folder-highlight) .tree-item-self.fn-is-active {
|
||||
color: var(--nav-item-color-active);
|
||||
background-color: var(--nav-item-background-active);
|
||||
font-weight: var(--nav-item-weight-active);
|
||||
}
|
||||
|
||||
|
||||
/* ==========================================================================
|
||||
Exclude Folder Settings
|
||||
========================================================================== */
|
||||
|
||||
.fn-excluded-folder-heading {
|
||||
margin-top: 0 !important;
|
||||
border-top: 1px solid var(--background-modifier-border);
|
||||
}
|
||||
|
||||
.add-exclude-folder-item,
|
||||
.fn-exclude-folder-list {
|
||||
padding-bottom: 0 !important;
|
||||
}
|
||||
|
||||
.fn-exclude-folder-list.setting-item {
|
||||
border-top: 0 !important;
|
||||
border-bottom: 0 !important;
|
||||
}
|
||||
|
||||
.fn-exclude-folder-list .setting-item-control {
|
||||
display: flex;
|
||||
justify-content: flex-start !important;
|
||||
}
|
||||
|
||||
.fn-exclude-folder-list .setting-item-info {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.fn-exclude-folder-list .search-input-container {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
|
||||
/* ==========================================================================
|
||||
Modal Styles
|
||||
========================================================================== */
|
||||
|
||||
.fn-backup-warning-modal .fn-modal-button-container {
|
||||
display: flex;
|
||||
gap: 0.5rem;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.fn-confirmation-modal {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.fn-confirmation-modal .setting-item {
|
||||
border-top: 0 !important;
|
||||
padding-top: 0 !important;
|
||||
}
|
||||
|
||||
:not(.is-phone) .fn-confirmation-modal-button {
|
||||
margin-right: 0.7rem;
|
||||
}
|
||||
|
||||
:not(.is-phone) .fn-delete-confirmation-modal-buttons {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
:not(.is-phone) .fn-delete-confirmation-modal-buttons .fn-confirmation-modal-button {
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
:not(.is-phone) .fn-delete-confirmation-modal-buttons input[type="checkbox"] {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.is-phone .fn-delete-confirmation-modal-buttons {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.is-phone .fn-delete-confirmation-modal-buttons .fn-confirmation-modal-button {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
|
||||
/* ==========================================================================
|
||||
Folder Overview
|
||||
========================================================================== */
|
||||
|
||||
.folder-overview-container.fv-remove-edit-button .folder-overview-edit-button {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.cm-line:has(.fv-link-list-item),
|
||||
li:has(.fv-link-list-item),
|
||||
.el-ul:has(.fv-link-list-item),
|
||||
.cm-line:has(.fv-link-list-start),
|
||||
.cm-line:has(.fv-link-list-end),
|
||||
.fv-hide-overview {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
|
||||
.folder-overview-list {
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
padding-bottom: 1.200 !important;
|
||||
padding-top: 1.200 !important;
|
||||
}
|
||||
|
||||
.folder-overview-list-item {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.folder-overview-list::marker {
|
||||
color: var(--text-faint);
|
||||
}
|
||||
|
||||
.folder-list::marker {
|
||||
color: var(--text-normal) !important;
|
||||
}
|
||||
|
||||
.folder-overview-grid {
|
||||
display: grid;
|
||||
grid-gap: 20px;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
}
|
||||
|
||||
.folder-overview-grid-item {
|
||||
flex: 1 1 auto;
|
||||
margin: 0 1.2rem 1.2rem 0;
|
||||
}
|
||||
|
||||
.folder-overview-grid-item-article article {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
padding: 15px;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.folder-overview-grid-item-article a {
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
.folder-overview-grid-item-article h1 {
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
.overview-setting-item-fv {
|
||||
border-top: 1px solid var(--background-modifier-border);
|
||||
padding: 0.75em 0;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.overview-setting-item-fv .setting-item {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
|
||||
/* ==========================================================================
|
||||
File Explorer & Path Styling
|
||||
========================================================================== */
|
||||
|
||||
.folder-note-underline .has-folder-note .nav-folder-title-content {
|
||||
text-decoration-line: underline;
|
||||
text-decoration-color: var(--text-faint);
|
||||
text-decoration-thickness: 2px;
|
||||
text-underline-offset: 1px;
|
||||
}
|
||||
|
||||
.folder-note-underline-path .has-folder-note.view-header-breadcrumb {
|
||||
text-decoration-line: underline;
|
||||
text-decoration-color: var(--text-faint);
|
||||
text-decoration-thickness: 1px;
|
||||
text-underline-offset: 2px;
|
||||
}
|
||||
|
||||
.folder-note-bold .has-folder-note .nav-folder-title-content,
|
||||
.folder-note-bold-path .has-folder-note.view-header-breadcrumb {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.folder-note-cursive .has-folder-note .nav-folder-title-content,
|
||||
.folder-note-cursive-path .has-folder-note.view-header-breadcrumb {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
|
||||
/* Collapse Icon Handling */
|
||||
|
||||
.fn-folder-overview-collapse-icon {
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
.fn-has-no-files .collapse-icon,
|
||||
.fn-hide-collapse-icon .has-folder-note.only-has-folder-note .tree-item-icon,
|
||||
body.fn-ignore-attachment-folder.fn-hide-collapse-icon .only-has-folder-note .fn-empty-folder.fn-has-attachment-folder .tree-item-icon,
|
||||
body.fn-hide-collapse-icon .only-has-folder-note .fn-empty-folder:not(.fn-has-attachment-folder) .tree-item-icon,
|
||||
body.fn-hide-empty-collapse-icon :not(.only-has-folder-note) > .fn-empty-folder:not(.fn-has-attachment-folder) .tree-item-icon,
|
||||
body.fn-hide-collapse-icon.only-has-folder-note:not(.is-collapsed):not(.show-folder-note-in-explorer)>.nav-folder-children {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
/* ==========================================================================
|
||||
Settings Tabs
|
||||
========================================================================== */
|
||||
|
||||
.fn-settings-tab-bar {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
padding-bottom: 1rem;
|
||||
}
|
||||
|
||||
.fn-settings-tab {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
gap: var(--size-4-2);
|
||||
padding: 10px;
|
||||
border: 1px solid var(--background-modifier-border);
|
||||
}
|
||||
|
||||
.fn-settings-tab-active {
|
||||
background-color: var(--color-accent);
|
||||
color: var(--text-on-accent);
|
||||
}
|
||||
|
||||
.fn-settings-tab-name {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.fn-settings-tab-icon {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
|
||||
/* ==========================================================================
|
||||
Suggestion Container
|
||||
========================================================================== */
|
||||
|
||||
.fn-suggestion-container {
|
||||
position: absolute;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background-color: var(--background-primary);
|
||||
max-width: 500px;
|
||||
max-height: 300px;
|
||||
border-radius: var(--radius-m);
|
||||
border: 1px solid var(--background-modifier-border);
|
||||
box-shadow: var(--shadow-s);
|
||||
z-index: var(--layer-notice);
|
||||
}
|
||||
|
||||
|
||||
/* ==========================================================================
|
||||
Whitelist Folder Input (Desktop & Mobile)
|
||||
========================================================================== */
|
||||
|
||||
/* Default Desktop Layout */
|
||||
.fn-whitelist-folder-input-container {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.fn-whitelist-folder-input-container input {
|
||||
flex-grow: 1;
|
||||
width: auto;
|
||||
margin-right: 8px;
|
||||
height: 40px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.fn-whitelist-folder-buttons {
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
flex-grow: 0;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
/* Mobile Overrides */
|
||||
@media (max-width: 768px) {
|
||||
.fn-whitelist-folder-input-container {
|
||||
display: block;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.fn-whitelist-folder-input-container input {
|
||||
width: 100%;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.fn-whitelist-folder-buttons {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.is-phone .fn-overview-folder-path .setting-item-control {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
+159
@@ -0,0 +1,159 @@
|
||||
{
|
||||
"presetFields": [
|
||||
{
|
||||
"type": "Select",
|
||||
"tagName": "select",
|
||||
"icon": "right-triangle",
|
||||
"tooltip": "Accepts a single value from a list",
|
||||
"colorClass": "select",
|
||||
"options": {
|
||||
"sourceType": "ValuesList",
|
||||
"valuesList": {
|
||||
"1": "concept",
|
||||
"2": "lab",
|
||||
"3": "knowledge",
|
||||
"4": "idea",
|
||||
"5": "moc",
|
||||
"6": "database"
|
||||
}
|
||||
},
|
||||
"name": "type",
|
||||
"id": "3Wakg1",
|
||||
"path": "",
|
||||
"style": {
|
||||
"code": false,
|
||||
"bold": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Select",
|
||||
"tagName": "select",
|
||||
"icon": "right-triangle",
|
||||
"tooltip": "Accepts a single value from a list",
|
||||
"colorClass": "select",
|
||||
"options": {
|
||||
"sourceType": "ValuesList",
|
||||
"valuesList": {
|
||||
"1": "seed",
|
||||
"2": "processing",
|
||||
"3": "stable",
|
||||
"4": "archived"
|
||||
}
|
||||
},
|
||||
"name": "status",
|
||||
"id": "6bryf2",
|
||||
"path": "",
|
||||
"style": {
|
||||
"code": false,
|
||||
"italic": false,
|
||||
"bold": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Select",
|
||||
"tagName": "select",
|
||||
"icon": "right-triangle",
|
||||
"tooltip": "Accepts a single value from a list",
|
||||
"colorClass": "select",
|
||||
"options": {
|
||||
"sourceType": "ValuesList",
|
||||
"valuesList": {
|
||||
"1": "high",
|
||||
"2": "medium",
|
||||
"3": "low"
|
||||
}
|
||||
},
|
||||
"name": "priority",
|
||||
"id": "BqtV8K",
|
||||
"path": ""
|
||||
},
|
||||
{
|
||||
"type": "Select",
|
||||
"tagName": "select",
|
||||
"icon": "right-triangle",
|
||||
"tooltip": "Accepts a single value from a list",
|
||||
"colorClass": "select",
|
||||
"options": {
|
||||
"sourceType": "ValuesList",
|
||||
"valuesList": {
|
||||
"1": "book",
|
||||
"2": "course",
|
||||
"3": "video",
|
||||
"4": "article"
|
||||
}
|
||||
},
|
||||
"name": "category",
|
||||
"id": "WTIg2u",
|
||||
"path": "",
|
||||
"style": {
|
||||
"code": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Select",
|
||||
"tagName": "select",
|
||||
"icon": "right-triangle",
|
||||
"tooltip": "Accepts a single value from a list",
|
||||
"colorClass": "select",
|
||||
"options": {
|
||||
"sourceType": "ValuesList",
|
||||
"valuesList": {
|
||||
"1": "backlog",
|
||||
"2": "in-progress",
|
||||
"3": "completed",
|
||||
"4": "abandoned"
|
||||
}
|
||||
},
|
||||
"name": "item_status",
|
||||
"id": "iuFoZu",
|
||||
"path": ""
|
||||
},
|
||||
{
|
||||
"type": "Number",
|
||||
"tagName": "number",
|
||||
"icon": "plus-minus-glyph",
|
||||
"tooltip": "Accepts a number",
|
||||
"colorClass": "number",
|
||||
"options": {
|
||||
"step": 1,
|
||||
"min": 1,
|
||||
"max": 10
|
||||
},
|
||||
"name": "rating",
|
||||
"id": "Li5z00",
|
||||
"path": ""
|
||||
}
|
||||
],
|
||||
"fileClassQueries": [],
|
||||
"displayFieldsInContextMenu": true,
|
||||
"globallyIgnoredFields": [],
|
||||
"classFilesPath": null,
|
||||
"isAutosuggestEnabled": true,
|
||||
"fileClassAlias": "fileClass",
|
||||
"settingsVersion": "5.12",
|
||||
"firstDayOfWeek": 1,
|
||||
"enableLinks": true,
|
||||
"enableTabHeader": true,
|
||||
"enableEditor": true,
|
||||
"enableBacklinks": true,
|
||||
"enableStarred": true,
|
||||
"enableFileExplorer": true,
|
||||
"enableSearch": true,
|
||||
"enableProperties": true,
|
||||
"tableViewMaxRecords": 20,
|
||||
"frontmatterListDisplay": "asArray",
|
||||
"fileClassExcludedFolders": [],
|
||||
"showIndexingStatusInStatusBar": true,
|
||||
"fileIndexingExcludedFolders": [],
|
||||
"fileIndexingExcludedExtensions": [
|
||||
".excalidraw.md"
|
||||
],
|
||||
"fileIndexingExcludedRegex": [],
|
||||
"frontmatterOnly": false,
|
||||
"showFileClassSelectInModal": true,
|
||||
"chooseFileClassAtFileCreation": true,
|
||||
"autoInsertFieldsAtFileClassInsertion": true,
|
||||
"fileClassIcon": "package",
|
||||
"isAutoCalculationEnabled": true,
|
||||
"disableDataviewPrompt": true
|
||||
}
|
||||
+25885
File diff suppressed because it is too large
Load Diff
+12
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"id": "metadata-menu",
|
||||
"name": "Metadata Menu",
|
||||
"version": "0.8.11",
|
||||
"minAppVersion": "1.4.16",
|
||||
"description": "For data quality enthusiasts (and dataview users): manage the metadata of your notes.",
|
||||
"author": "mdelobelle",
|
||||
"authorUrl": "https://github.com/mdelobelle",
|
||||
"isDesktopOnly": false,
|
||||
"fundingUrl": "https://github.com/sponsors/mdelobelle/",
|
||||
"helpUrl": "https://mdelobelle.github.io/metadatamenu/"
|
||||
}
|
||||
+2093
File diff suppressed because it is too large
Load Diff
+98963
File diff suppressed because one or more lines are too long
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"id": "obsidian-emoji-toolbar",
|
||||
"name": "Emoji Toolbar",
|
||||
"version": "1.0.0",
|
||||
"description": "Quickly search for and insert emojis into your notes.",
|
||||
"author": "oliveryh",
|
||||
"authorUrl": "https://github.com/oliveryh/obsidian-emoji-toolbar",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
img.emoji {
|
||||
height: 1em;
|
||||
width: 1em;
|
||||
margin: 0 0.05em 0 0.1em;
|
||||
vertical-align: -0.1em;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#emoji-modal {
|
||||
padding: 0px;
|
||||
min-width: unset;
|
||||
width: unset !important;
|
||||
|
||||
.modal-header {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
.button {
|
||||
background-color: unset;
|
||||
border: 0px !important;
|
||||
box-shadow: 0px !important;
|
||||
}
|
||||
|
||||
.modal-close-button {
|
||||
visibility: hidden;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
{
|
||||
"settings": {
|
||||
"migrated": 6,
|
||||
"iconPacksPath": ".obsidian/icons",
|
||||
"fontSize": 16,
|
||||
"emojiStyle": "native",
|
||||
"iconColor": null,
|
||||
"recentlyUsedIcons": [
|
||||
"🖥",
|
||||
"🤖",
|
||||
"🧰",
|
||||
"📅",
|
||||
"📔"
|
||||
],
|
||||
"recentlyUsedIconsSize": 5,
|
||||
"rules": [],
|
||||
"extraMargin": {
|
||||
"top": 0,
|
||||
"right": 4,
|
||||
"bottom": 0,
|
||||
"left": 0
|
||||
},
|
||||
"iconInTabsEnabled": false,
|
||||
"iconInTitleEnabled": false,
|
||||
"iconInTitlePosition": "above",
|
||||
"iconInFrontmatterEnabled": false,
|
||||
"iconInFrontmatterFieldName": "icon",
|
||||
"iconColorInFrontmatterFieldName": "iconColor",
|
||||
"iconsBackgroundCheckEnabled": false,
|
||||
"iconsInNotesEnabled": true,
|
||||
"iconsInLinksEnabled": true,
|
||||
"iconIdentifier": ":",
|
||||
"lucideIconPackType": "native",
|
||||
"debugMode": false,
|
||||
"useInternalPlugins": false
|
||||
},
|
||||
"01 Library": "♎",
|
||||
"00 Inbox": "📥",
|
||||
"01 Library/02 DevOps": "LiSpline",
|
||||
"01 Library/04 Networking": "LiNetwork",
|
||||
"01 Library/05 Operating System": "LiComputer",
|
||||
"01 Library/06 Programming": "LiCode2",
|
||||
"01 Library/06 Programming/Ruby On Rails": "LiDiamond",
|
||||
"01 Library/08 Study": "LiBook",
|
||||
"01 Library/03 Math": "LiTally5",
|
||||
"01 Library/90 Other": "LiAlbum",
|
||||
"01 Library/09 Sport": "LiDumbbell",
|
||||
"01 Library/10 Finance": "LiCircleDollarSign",
|
||||
"01 Library/07 HomeLab": "LiServer",
|
||||
"01 Library/11 Machine Learning": "LiServerCrash",
|
||||
"99 System": "🖥",
|
||||
"99 System/Template": "LiBookTemplate",
|
||||
"99 System/Archive": "LiFolderArchive",
|
||||
"99 System/Cache": "LiArchive",
|
||||
"02 Projects": "📔",
|
||||
"03 Journal": "📅",
|
||||
"04 Tools": "🧰",
|
||||
"04 Tools/SocialBase": "🧑🤝🧑",
|
||||
"02 Projects/Личные": "LiPersonStanding",
|
||||
"02 Projects/Наука": "LiShieldQuestion",
|
||||
"02 Projects/Учеба": "LiNotebookTabs",
|
||||
"04 Tools/StudyTracker": "📚",
|
||||
"05 NoxPKB": "🤖",
|
||||
"02 Projects/АО Ил": "LiPlane"
|
||||
}
|
||||
+7158
File diff suppressed because one or more lines are too long
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "obsidian-icon-folder",
|
||||
"name": "Iconize",
|
||||
"version": "2.14.7",
|
||||
"minAppVersion": "0.9.12",
|
||||
"description": "Add icons to anything you desire in Obsidian, including files, folders, and text.",
|
||||
"author": "Florian Woelki",
|
||||
"authorUrl": "https://florianwoelki.com/",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
+120
@@ -0,0 +1,120 @@
|
||||
.iconize-inline-title-wrapper {
|
||||
width: var(--line-width);
|
||||
max-width: var(--max-width);
|
||||
margin-inline: var(--content-margin);
|
||||
}
|
||||
|
||||
.iconize-title-icon {
|
||||
max-width: var(--max-width);
|
||||
margin-right: var(--size-4-2);
|
||||
}
|
||||
|
||||
.iconize-icon-in-link {
|
||||
transform: translateY(20%);
|
||||
margin-right: var(--size-2-2);
|
||||
display: inline-flex;
|
||||
}
|
||||
|
||||
.iconize-icon {
|
||||
border: 1px solid transparent;
|
||||
margin: 0px 4px 0px 0px;
|
||||
display: flex;
|
||||
align-self: center;
|
||||
margin: auto 0;
|
||||
}
|
||||
|
||||
.nav-folder-title,
|
||||
.nav-file-title {
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.iconize-setting input[type='color'] {
|
||||
margin: 0 6px;
|
||||
}
|
||||
|
||||
.iconize-modal.prompt-results {
|
||||
margin: 0;
|
||||
overflow-y: auto;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(5, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
.prompt .iconize-subheadline {
|
||||
margin-top: 12px;
|
||||
font-size: 12px;
|
||||
color: gray;
|
||||
grid-column-start: 1;
|
||||
grid-column-end: 6;
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
.iconize-modal.prompt-results {
|
||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||
}
|
||||
.prompt .iconize-subheadline {
|
||||
grid-column-end: 4;
|
||||
}
|
||||
}
|
||||
|
||||
.iconize-modal.prompt-results .suggestion-item {
|
||||
cursor: pointer;
|
||||
white-space: pre-wrap;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
flex-direction: column-reverse;
|
||||
text-align: center;
|
||||
font-size: 13px;
|
||||
color: var(--text-muted);
|
||||
padding: 16px 8px;
|
||||
line-break: auto;
|
||||
word-break: break-word;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
.iconize-modal.prompt-results .suggestion-item.suggestion-item__center {
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.iconize-icon-preview {
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
.iconize-icon-preview img {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
.iconize-icon-preview svg {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
color: currentColor;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.iconize-dragover {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.iconize-dragover-el {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
color: var(--text-normal);
|
||||
background-color: var(--background-secondary-alt);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
/* Custom rule modal. */
|
||||
.iconize-custom-modal .modal-content {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.iconize-custom-modal .modal-content input {
|
||||
width: 100%;
|
||||
margin-right: 0.5rem;
|
||||
}
|
||||
+296
@@ -0,0 +1,296 @@
|
||||
{
|
||||
"ruleConfigs": {
|
||||
"add-blank-line-after-yaml": {
|
||||
"enabled": true
|
||||
},
|
||||
"dedupe-yaml-array-values": {
|
||||
"enabled": false,
|
||||
"dedupe-alias-key": true,
|
||||
"dedupe-tag-key": true,
|
||||
"dedupe-array-keys": true,
|
||||
"ignore-keys": ""
|
||||
},
|
||||
"escape-yaml-special-characters": {
|
||||
"enabled": false,
|
||||
"try-to-escape-single-line-arrays": false
|
||||
},
|
||||
"force-yaml-escape": {
|
||||
"enabled": false,
|
||||
"force-yaml-escape-keys": ""
|
||||
},
|
||||
"format-tags-in-yaml": {
|
||||
"enabled": true
|
||||
},
|
||||
"format-yaml-array": {
|
||||
"enabled": false,
|
||||
"alias-key": true,
|
||||
"tag-key": true,
|
||||
"default-array-style": "single-line",
|
||||
"default-array-keys": true,
|
||||
"force-single-line-array-style": "",
|
||||
"force-multi-line-array-style": ""
|
||||
},
|
||||
"insert-yaml-attributes": {
|
||||
"enabled": false,
|
||||
"text-to-insert": "aliases: \ntags: "
|
||||
},
|
||||
"move-tags-to-yaml": {
|
||||
"enabled": false,
|
||||
"how-to-handle-existing-tags": "Nothing",
|
||||
"tags-to-ignore": ""
|
||||
},
|
||||
"remove-yaml-keys": {
|
||||
"enabled": false,
|
||||
"yaml-keys-to-remove": ""
|
||||
},
|
||||
"sort-yaml-array-values": {
|
||||
"enabled": false,
|
||||
"sort-alias-key": true,
|
||||
"sort-tag-key": true,
|
||||
"sort-array-keys": true,
|
||||
"ignore-keys": "",
|
||||
"sort-order": "Ascending Alphabetical"
|
||||
},
|
||||
"yaml-key-sort": {
|
||||
"enabled": false,
|
||||
"yaml-key-priority-sort-order": "status\ntype\ntags\ncreated\nupdated",
|
||||
"priority-keys-at-start-of-yaml": false,
|
||||
"yaml-sort-order-for-other-keys": "Ascending Alphabetical"
|
||||
},
|
||||
"yaml-timestamp": {
|
||||
"enabled": true,
|
||||
"date-created": true,
|
||||
"date-created-key": "created",
|
||||
"date-created-source-of-truth": "frontmatter",
|
||||
"date-modified": true,
|
||||
"date-modified-key": "updated",
|
||||
"date-modified-source-of-truth": "file system",
|
||||
"format": "YYYY-MM-DD",
|
||||
"convert-to-utc": false,
|
||||
"update-on-file-contents-updated": "after 10 seconds"
|
||||
},
|
||||
"yaml-title": {
|
||||
"enabled": true,
|
||||
"title-key": "title",
|
||||
"mode": "first-h1-or-filename-if-h1-missing"
|
||||
},
|
||||
"yaml-title-alias": {
|
||||
"enabled": false,
|
||||
"preserve-existing-alias-section-style": true,
|
||||
"keep-alias-that-matches-the-filename": false,
|
||||
"use-yaml-key-to-keep-track-of-old-filename-or-heading": true,
|
||||
"alias-helper-key": "linter-yaml-title-alias"
|
||||
},
|
||||
"capitalize-headings": {
|
||||
"enabled": true,
|
||||
"style": "First letter",
|
||||
"ignore-case-words": true,
|
||||
"ignore-words": "macOS, iOS, iPhone, iPad, JavaScript, TypeScript, AppleScript, I",
|
||||
"lowercase-words": "a, an, the, aboard, about, abt., above, abreast, absent, across, after, against, along, aloft, alongside, amid, amidst, mid, midst, among, amongst, anti, apropos, around, round, as, aslant, astride, at, atop, ontop, bar, barring, before, B4, behind, below, beneath, neath, beside, besides, between, 'tween, beyond, but, by, chez, circa, c., ca., come, concerning, contra, counting, cum, despite, spite, down, during, effective, ere, except, excepting, excluding, failing, following, for, from, in, including, inside, into, less, like, minus, modulo, mod, near, nearer, nearest, next, notwithstanding, of, o', off, offshore, on, onto, opposite, out, outside, over, o'er, pace, past, pending, per, plus, post, pre, pro, qua, re, regarding, respecting, sans, save, saving, short, since, sub, than, through, thru, throughout, thruout, till, times, to, t', touching, toward, towards, under, underneath, unlike, until, unto, up, upon, versus, vs., v., via, vice, vis-à-vis, wanting, with, w/, w., c̄, within, w/i, without, 'thout, w/o, abroad, adrift, aft, afterward, afterwards, ahead, apart, ashore, aside, away, back, backward, backwards, beforehand, downhill, downstage, downstairs, downstream, downward, downwards, downwind, east, eastward, eastwards, forth, forward, forwards, heavenward, heavenwards, hence, henceforth, here, hereby, herein, hereof, hereto, herewith, home, homeward, homewards, indoors, inward, inwards, leftward, leftwards, north, northeast, northward, northwards, northwest, now, onward, onwards, outdoors, outward, outwards, overboard, overhead, overland, overseas, rightward, rightwards, seaward, seawards, skywards, skyward, south, southeast, southwards, southward, southwest, then, thence, thenceforth, there, thereby, therein, thereof, thereto, therewith, together, underfoot, underground, uphill, upstage, upstairs, upstream, upward, upwards, upwind, west, westward, westwards, when, whence, where, whereby, wherein, whereto, wherewith, although, because, considering, given, granted, if, lest, once, provided, providing, seeing, so, supposing, though, unless, whenever, whereas, wherever, while, whilst, ago, inasmuch, even, whether, whose, whoever, why, how, whatever, what, both, and, or, either, neither, nor, just, rather, such, that, yet, is, it"
|
||||
},
|
||||
"file-name-heading": {
|
||||
"enabled": true
|
||||
},
|
||||
"header-increment": {
|
||||
"enabled": true,
|
||||
"start-at-h2": false
|
||||
},
|
||||
"headings-start-line": {
|
||||
"enabled": false
|
||||
},
|
||||
"remove-trailing-punctuation-in-heading": {
|
||||
"enabled": true,
|
||||
"punctuation-to-remove": ".,;:!。,;:!"
|
||||
},
|
||||
"footnote-after-punctuation": {
|
||||
"enabled": false
|
||||
},
|
||||
"move-footnotes-to-the-bottom": {
|
||||
"enabled": false,
|
||||
"include-blank-line-between-footnotes": false
|
||||
},
|
||||
"re-index-footnotes": {
|
||||
"enabled": false
|
||||
},
|
||||
"auto-correct-common-misspellings": {
|
||||
"enabled": true,
|
||||
"ignore-words": "",
|
||||
"skip-words-with-multiple-capitals": false,
|
||||
"extra-auto-correct-files": []
|
||||
},
|
||||
"blockquote-style": {
|
||||
"enabled": true,
|
||||
"style": "space"
|
||||
},
|
||||
"convert-bullet-list-markers": {
|
||||
"enabled": true
|
||||
},
|
||||
"default-language-for-code-fences": {
|
||||
"enabled": false,
|
||||
"default-language": ""
|
||||
},
|
||||
"emphasis-style": {
|
||||
"enabled": false,
|
||||
"style": "consistent"
|
||||
},
|
||||
"no-bare-urls": {
|
||||
"enabled": false,
|
||||
"no-bare-uris": false
|
||||
},
|
||||
"ordered-list-style": {
|
||||
"enabled": false,
|
||||
"number-style": "ascending",
|
||||
"list-end-style": "."
|
||||
},
|
||||
"proper-ellipsis": {
|
||||
"enabled": false
|
||||
},
|
||||
"quote-style": {
|
||||
"enabled": true,
|
||||
"single-quote-enabled": true,
|
||||
"single-quote-style": "''",
|
||||
"double-quote-enabled": true,
|
||||
"double-quote-style": "\"\""
|
||||
},
|
||||
"remove-consecutive-list-markers": {
|
||||
"enabled": false
|
||||
},
|
||||
"remove-empty-list-markers": {
|
||||
"enabled": false
|
||||
},
|
||||
"remove-hyphenated-line-breaks": {
|
||||
"enabled": false
|
||||
},
|
||||
"remove-multiple-spaces": {
|
||||
"enabled": false
|
||||
},
|
||||
"strong-style": {
|
||||
"enabled": false,
|
||||
"style": "consistent"
|
||||
},
|
||||
"two-spaces-between-lines-with-content": {
|
||||
"enabled": false,
|
||||
"line-break-indicator": " "
|
||||
},
|
||||
"unordered-list-style": {
|
||||
"enabled": false,
|
||||
"list-style": "consistent"
|
||||
},
|
||||
"compact-yaml": {
|
||||
"enabled": true,
|
||||
"inner-new-lines": true
|
||||
},
|
||||
"consecutive-blank-lines": {
|
||||
"enabled": true
|
||||
},
|
||||
"convert-spaces-to-tabs": {
|
||||
"enabled": false,
|
||||
"tabsize": 4
|
||||
},
|
||||
"empty-line-around-blockquotes": {
|
||||
"enabled": true
|
||||
},
|
||||
"empty-line-around-code-fences": {
|
||||
"enabled": false
|
||||
},
|
||||
"empty-line-around-horizontal-rules": {
|
||||
"enabled": false
|
||||
},
|
||||
"empty-line-around-math-blocks": {
|
||||
"enabled": false
|
||||
},
|
||||
"empty-line-around-tables": {
|
||||
"enabled": false
|
||||
},
|
||||
"heading-blank-lines": {
|
||||
"enabled": false,
|
||||
"bottom": true,
|
||||
"empty-line-after-yaml": true
|
||||
},
|
||||
"line-break-at-document-end": {
|
||||
"enabled": false
|
||||
},
|
||||
"move-math-block-indicators-to-their-own-line": {
|
||||
"enabled": false
|
||||
},
|
||||
"paragraph-blank-lines": {
|
||||
"enabled": false
|
||||
},
|
||||
"remove-empty-lines-between-list-markers-and-checklists": {
|
||||
"enabled": false
|
||||
},
|
||||
"remove-link-spacing": {
|
||||
"enabled": false
|
||||
},
|
||||
"remove-space-around-characters": {
|
||||
"enabled": true,
|
||||
"include-fullwidth-forms": true,
|
||||
"include-cjk-symbols-and-punctuation": true,
|
||||
"include-dashes": false,
|
||||
"other-symbols": ""
|
||||
},
|
||||
"remove-space-before-or-after-characters": {
|
||||
"enabled": false,
|
||||
"characters-to-remove-space-before": ",!?;:).’”]",
|
||||
"characters-to-remove-space-after": "¿¡‘“(["
|
||||
},
|
||||
"space-after-list-markers": {
|
||||
"enabled": true
|
||||
},
|
||||
"space-between-chinese-japanese-or-korean-and-english-or-numbers": {
|
||||
"enabled": false,
|
||||
"english-symbols-punctuation-before": "-+;:'\"°%$)]",
|
||||
"english-symbols-punctuation-after": "-+'\"([¥$"
|
||||
},
|
||||
"trailing-spaces": {
|
||||
"enabled": false,
|
||||
"two-space-line-break": false
|
||||
},
|
||||
"add-blockquote-indentation-on-paste": {
|
||||
"enabled": false
|
||||
},
|
||||
"prevent-double-checklist-indicator-on-paste": {
|
||||
"enabled": false
|
||||
},
|
||||
"prevent-double-list-item-indicator-on-paste": {
|
||||
"enabled": false
|
||||
},
|
||||
"proper-ellipsis-on-paste": {
|
||||
"enabled": false
|
||||
},
|
||||
"remove-hyphens-on-paste": {
|
||||
"enabled": false
|
||||
},
|
||||
"remove-leading-or-trailing-whitespace-on-paste": {
|
||||
"enabled": false
|
||||
},
|
||||
"remove-leftover-footnotes-from-quote-on-paste": {
|
||||
"enabled": false
|
||||
},
|
||||
"remove-multiple-blank-lines-on-paste": {
|
||||
"enabled": false
|
||||
}
|
||||
},
|
||||
"lintOnSave": true,
|
||||
"recordLintOnSaveLogs": false,
|
||||
"displayChanged": true,
|
||||
"suppressMessageWhenNoChange": false,
|
||||
"lintOnFileChange": false,
|
||||
"displayLintOnFileChangeNotice": false,
|
||||
"settingsConvertedToConfigKeyValues": true,
|
||||
"foldersToIgnore": [
|
||||
"99 System"
|
||||
],
|
||||
"filesToIgnore": [],
|
||||
"linterLocale": "system-default",
|
||||
"logLevel": "ERROR",
|
||||
"lintCommands": [],
|
||||
"customRegexes": [],
|
||||
"commonStyles": {
|
||||
"aliasArrayStyle": "single-line",
|
||||
"tagArrayStyle": "single-line",
|
||||
"minimumNumberOfDollarSignsToBeAMathBlock": 2,
|
||||
"escapeCharacter": "\"",
|
||||
"removeUnnecessaryEscapeCharsForMultiLineArrays": false
|
||||
}
|
||||
}
|
||||
+35147
File diff suppressed because it is too large
Load Diff
+437
File diff suppressed because one or more lines are too long
+11
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"id": "obsidian-linter",
|
||||
"name": "Linter",
|
||||
"version": "1.31.0",
|
||||
"minAppVersion": "1.9.0",
|
||||
"description": "Formats and styles your notes. It can be used to format YAML tags, aliases, arrays, and metadata; footnotes; headings; spacing; math blocks; regular markdown contents like list, italics, and bold styles; and more with the use of custom rule options as well.",
|
||||
"author": "Victor Tao",
|
||||
"authorUrl": "https://github.com/platers",
|
||||
"helpUrl": "https://platers.github.io/obsidian-linter/",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
.linter-navigation-item{align-items:center;background-color:var(--background-primary-secondary-alt);border:1px solid var(--background-modifier-border);border-radius:100px;border-radius:8px 8px 2px 2px;cursor:pointer;display:flex;flex-direction:row;font-size:16px;font-weight:700;gap:4px;height:32px;overflow:hidden;padding:4px 6px;transition:color .25s ease-in-out,padding .25s ease-in-out,background-color .35s cubic-bezier(.45,.25,.83,.67),max-width .35s cubic-bezier(.57,.04,.58,1);white-space:nowrap}@media screen and (max-width:1325px){.linter-navigation-item.linter-desktop{max-width:32px}}@media screen and (max-width:800px){.linter-navigation-item.linter-mobile{max-width:32px}}.linter-navigation-item-icon,.linter-warning{padding-top:5px}.linter-navigation-item:hover{border-color:var(--interactive-accent-hover);border-bottom:0}.linter-navigation-item-selected{background-color:var(--interactive-accent)!important;border:1px solid var(--background-modifier-border);border-bottom:0;border-radius:8px 8px 2px 2px;color:var(--text-on-accent);max-width:100%!important;padding:4px 9px!important;transition:color .25s ease-in-out,padding .25s ease-in-out,background-color .35s cubic-bezier(.45,.25,.83,.67),max-width .45s cubic-bezier(.57,.04,.58,1) .2s}.linter{transition:transform .4s 0s}.linter-setting-title{align-items:baseline;display:flex;gap:30px;justify-content:space-between}.linter-setting-title.linter-mobile{justify-content:space-around}.linter-setting-title h1{font-weight:900;margin-bottom:12px;margin-top:6px}.linter-setting-header{margin-bottom:24px;overflow-x:auto;overflow-y:hidden}.linter-setting-header .linter-setting-tab-group{align-items:flex-end;display:flex;flex-wrap:wrap;width:100%}.linter-setting-tab-group{border-bottom:2px solid var(--background-modifier-border);margin-top:6px;padding-left:2px;padding-right:2px}.linter-setting-header .linter-tab-settings{border-left:2px solid transparent;border-right:2px solid transparent;cursor:pointer;font-weight:600;padding:6px 12px;white-space:nowrap}.linter-setting-header .linter-tab-settings:first-child{margin-left:6px}.linter-setting-header .linter-tab-settings.linter-tab-settings-active{border:2px solid var(--background-modifier-border);border-bottom-color:var(--background-primary);border-radius:2px;transform:translateY(2px)}.linter-navigation-item:not(.linter-navigation-item-selected)>span:nth-child(2),.linter-visually-hidden{border:0;clip:rect(0 0 0 0);clip-path:rect(0 0 0 0);height:auto;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}textarea.full-width{margin-bottom:.8em;margin-top:.8em;min-height:10em;width:100%}.full-width-textbox-input-wrapper{position:relative}.settings-copy-button{margin:0 0 0 auto;padding:4px;position:absolute;right:.8em;top:.8em}.settings-copy-button svg.linter-clipboard path{fill:var(--text-faint)}.settings-copy-button svg.linter-success path{fill:var(--interactive-success)}.settings-copy-button:active,.settings-copy-button:hover{cursor:pointer}.settings-copy-button:active svg path,.settings-copy-button:hover svg path{fill:var(--text-accent-hover);transition:all .3s ease}.settings-copy-button:focus{outline:0}.linter-custom-regex-replacement-container div:last-child{border:none}.linter-custom-regex-replacement{border:none;border-bottom:var(--hr-thickness) solid;border-color:var(--hr-color);margin-bottom:15px}.linter-custom-regex-replacement-row2{flex-wrap:wrap}.linter-custom-regex-replacement-normal-input{width:40%}.linter-custom-regex-replacement-flags{width:15%}.linter-custom-regex-replacement-label{flex-direction:row-reverse}.linter-custom-regex-replacement-label-input{width:50%}.linter-files-to-ignore-container div:last-child{border:none}.linter-files-to-ignore{border:none;border-bottom:var(--hr-thickness) solid;border-color:var(--hr-color);margin-bottom:15px}.linter-files-to-ignore-normal-input{width:40%}.linter-files-to-ignore-flags{width:15%}.linter-no-border{border:none}.linter-border-bottom{border-bottom:1px solid var(--background-modifier-border);border-top:0;margin-bottom:.75em}.linter-no-padding-top{padding-top:0}.custom-row-description{margin-top:0}.modal-warn,.search-zero-state{font-weight:700}.modal-heading,.search-zero-state{text-align:center}
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"Appearance-dark@@theme-dark-style-select": "theme-dark-background-darker",
|
||||
"Appearance-dark@@card-layout-open-dark": true,
|
||||
"Components@@nav-header-autohide": false,
|
||||
"Components@@tab-title-bar-autohide": false,
|
||||
"Components@@vault-profile-autohide": false,
|
||||
"Components@@CTA-BTN-enable": false,
|
||||
"Components@@file-names-untrim": true,
|
||||
"Components@@folder-font-bold": true,
|
||||
"Components@@file-icon-remove": true,
|
||||
"Components@@outline-enhanced": true,
|
||||
"Components@@new-tab-btn-select": "new-tab-btn-default",
|
||||
"Components@@extra-anim-remove": true,
|
||||
"Components@@setting-item-title-icon-remove": false,
|
||||
"Components@@scrollbar-hide": false,
|
||||
"Components@@restored-scrollbars": false,
|
||||
"Components@@Ribbon-autohide": false,
|
||||
"Components@@status-bar-autohide": false,
|
||||
"Components@@tab-autohide": false
|
||||
}
|
||||
+165
File diff suppressed because one or more lines are too long
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "obsidian-style-settings",
|
||||
"name": "Style Settings",
|
||||
"version": "1.0.9",
|
||||
"minAppVersion": "0.11.5",
|
||||
"description": "Offers controls for adjusting theme, plugin, and snippet CSS variables.",
|
||||
"author": "mgmeyers",
|
||||
"authorUrl": "https://github.com/mgmeyers/obsidian-style-settings",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
+42
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"useCache": false,
|
||||
"hideExcluded": false,
|
||||
"recencyBoost": "0",
|
||||
"downrankedFoldersFilters": [],
|
||||
"ignoreDiacritics": true,
|
||||
"ignoreArabicDiacritics": false,
|
||||
"indexedFileTypes": [],
|
||||
"displayTitle": "",
|
||||
"PDFIndexing": false,
|
||||
"officeIndexing": false,
|
||||
"imagesIndexing": false,
|
||||
"aiImageIndexing": false,
|
||||
"unsupportedFilesIndexing": "default",
|
||||
"splitCamelCase": false,
|
||||
"openInNewPane": false,
|
||||
"vimLikeNavigationShortcut": false,
|
||||
"ribbonIcon": true,
|
||||
"showExcerpt": true,
|
||||
"maxEmbeds": 5,
|
||||
"renderLineReturnInExcerpts": true,
|
||||
"showCreateButton": false,
|
||||
"highlight": true,
|
||||
"showPreviousQueryResults": true,
|
||||
"simpleSearch": false,
|
||||
"tokenizeUrls": false,
|
||||
"fuzziness": "1",
|
||||
"weightBasename": 10,
|
||||
"weightDirectory": 7,
|
||||
"weightH1": 6,
|
||||
"weightH2": 5,
|
||||
"weightH3": 4,
|
||||
"weightUnmarkedTags": 2,
|
||||
"weightCustomProperties": [],
|
||||
"httpApiEnabled": false,
|
||||
"httpApiPort": "51361",
|
||||
"httpApiNotice": true,
|
||||
"welcomeMessage": "1.21.0",
|
||||
"verboseLogging": false,
|
||||
"DANGER_httpHost": null,
|
||||
"DANGER_forceSaveCache": false
|
||||
}
|
||||
Vendored
+171
File diff suppressed because one or more lines are too long
+14
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"id": "omnisearch",
|
||||
"name": "Omnisearch",
|
||||
"version": "1.28.0",
|
||||
"minAppVersion": "1.7.2",
|
||||
"description": "A search engine that just works",
|
||||
"author": "Simon Cambier",
|
||||
"authorUrl": "https://github.com/scambier/obsidian-omnisearch",
|
||||
"fundingUrl": {
|
||||
"Github": "https://github.com/sponsors/scambier",
|
||||
"Ko-fi": "https://ko-fi.com/scambier"
|
||||
},
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
+135
@@ -0,0 +1,135 @@
|
||||
.omnisearch-modal {
|
||||
}
|
||||
|
||||
.omnisearch-result {
|
||||
white-space: normal;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
/* justify-content: space-between; */
|
||||
flex-wrap: nowrap;
|
||||
}
|
||||
|
||||
.omnisearch-result__title-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
column-gap: 5px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.omnisearch-result__title {
|
||||
white-space: pre-wrap;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
gap: 5px;
|
||||
}
|
||||
|
||||
.omnisearch-result__title > span {
|
||||
}
|
||||
|
||||
.omnisearch-result__folder-path {
|
||||
font-size: 0.75rem;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
gap: 5px;
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.omnisearch-result__extension {
|
||||
font-size: 0.7rem;
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.omnisearch-result__counter {
|
||||
font-size: 0.7rem;
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.omnisearch-result__body {
|
||||
white-space: normal;
|
||||
font-size: small;
|
||||
word-wrap: normal;
|
||||
|
||||
overflow: hidden;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 3;
|
||||
-webkit-box-orient: vertical;
|
||||
|
||||
color: var(--text-muted);
|
||||
margin-inline-start: 0.5em;
|
||||
}
|
||||
|
||||
.omnisearch-result__embed {
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
|
||||
.omnisearch-result__image-container {
|
||||
flex-basis: 20%;
|
||||
text-align: end;
|
||||
}
|
||||
|
||||
.omnisearch-highlight {
|
||||
}
|
||||
|
||||
.omnisearch-default-highlight {
|
||||
text-decoration: underline;
|
||||
text-decoration-color: var(--text-highlight-bg);
|
||||
text-decoration-thickness: 3px;
|
||||
text-underline-offset: -1px;
|
||||
text-decoration-skip-ink: none;
|
||||
}
|
||||
|
||||
.omnisearch-input-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: row;
|
||||
gap: 5px;
|
||||
}
|
||||
|
||||
.omnisearch-result__icon {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
.omnisearch-result__icon svg {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.omnisearch-result__icon--emoji {
|
||||
font-size: 16px;
|
||||
vertical-align: middle;
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 600px) {
|
||||
.omnisearch-input-container {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.omnisearch-input-container__buttons {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
width: 100%;
|
||||
padding: 0 1em 0 1em;
|
||||
gap: 1em;
|
||||
}
|
||||
.omnisearch-input-container__buttons > button {
|
||||
flex-grow: 1;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 600px) {
|
||||
.omnisearch-input-container__buttons {
|
||||
margin-inline-end: 1em;
|
||||
}
|
||||
}
|
||||
|
||||
.omnisearch-input-field {
|
||||
position: relative;
|
||||
flex-grow: 1;
|
||||
}
|
||||
+1967
File diff suppressed because it is too large
Load Diff
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "quick-latex",
|
||||
"name": "Quick Latex",
|
||||
"version": "2.6.5",
|
||||
"minAppVersion": "0.9.12",
|
||||
"description": "Speedup latex math typing with auto fraction, custom shorthand, align block shortcut, matrix shortcut...etc",
|
||||
"author": "joeyuping",
|
||||
"authorUrl": "https://github.com/joeyuping/quick_latex_obsidian",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
.text-snippets-class > * > textarea{
|
||||
width:40em;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.text-snippets-class > * {
|
||||
height: 100%;
|
||||
width: 60em;
|
||||
}
|
||||
|
||||
.text-snippets-class {
|
||||
height: 70%;
|
||||
}
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
{
|
||||
"command_timeout": 5,
|
||||
"templates_folder": "99 System/Template",
|
||||
"templates_pairs": [
|
||||
[
|
||||
"",
|
||||
""
|
||||
]
|
||||
],
|
||||
"trigger_on_file_creation": true,
|
||||
"auto_jump_to_cursor": false,
|
||||
"enable_system_commands": false,
|
||||
"shell_path": "",
|
||||
"user_scripts_folder": "",
|
||||
"enable_folder_templates": true,
|
||||
"folder_templates": [
|
||||
{
|
||||
"folder": "04 Journal",
|
||||
"template": "99 System/Template/Daily Note.md"
|
||||
},
|
||||
{
|
||||
"folder": "/",
|
||||
"template": "99 System/Template/Base Note.md"
|
||||
},
|
||||
{
|
||||
"folder": "04 Tools/SocialBase",
|
||||
"template": "99 System/Template/Contact Template.md"
|
||||
},
|
||||
{
|
||||
"folder": "04 Tools/StudyTracker",
|
||||
"template": ""
|
||||
}
|
||||
],
|
||||
"enable_file_templates": false,
|
||||
"file_templates": [
|
||||
{
|
||||
"regex": ".*",
|
||||
"template": ""
|
||||
}
|
||||
],
|
||||
"syntax_highlighting": true,
|
||||
"syntax_highlighting_mobile": false,
|
||||
"enabled_templates_hotkeys": [
|
||||
"99 System/Template/Base Note.md"
|
||||
],
|
||||
"startup_templates": [
|
||||
"99 System/Template/Base Note.md",
|
||||
"99 System/Template/Daily Note.md"
|
||||
],
|
||||
"intellisense_render": 1
|
||||
}
|
||||
+45
File diff suppressed because one or more lines are too long
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"id": "templater-obsidian",
|
||||
"name": "Templater",
|
||||
"version": "2.17.0",
|
||||
"description": "Create and use templates",
|
||||
"minAppVersion": "1.5.0",
|
||||
"author": "SilentVoid",
|
||||
"authorUrl": "https://github.com/SilentVoid13",
|
||||
"helpUrl": "https://silentvoid13.github.io/Templater/",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
+226
@@ -0,0 +1,226 @@
|
||||
.templater_search {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
|
||||
.templater_div {
|
||||
border-top: 1px solid var(--background-modifier-border);
|
||||
}
|
||||
|
||||
.templater_div > .setting-item {
|
||||
border-top: none !important;
|
||||
align-self: center;
|
||||
}
|
||||
|
||||
.templater_div > .setting-item > .setting-item-control {
|
||||
justify-content: space-around;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.templater_div
|
||||
> .setting-item
|
||||
> .setting-item-control
|
||||
> .setting-editor-extra-setting-button {
|
||||
align-self: center;
|
||||
}
|
||||
|
||||
.templater_donating {
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.templater_title {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
margin-top: 5px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.templater_template {
|
||||
align-self: center;
|
||||
margin-left: 5px;
|
||||
margin-right: 5px;
|
||||
width: 70%;
|
||||
}
|
||||
|
||||
.templater_cmd {
|
||||
margin-left: 5px;
|
||||
margin-right: 5px;
|
||||
font-size: 14px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.templater_div2 > .setting-item {
|
||||
align-content: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.templater-prompt-div,
|
||||
.templater-multisuggester-div {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.templater-prompt-form {
|
||||
display: flex;
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.templater-prompt-input,
|
||||
.templater-multisuggester-input {
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.templater-button-div {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
textarea.templater-prompt-input {
|
||||
height: 10rem;
|
||||
}
|
||||
|
||||
textarea.templater-prompt-input:focus {
|
||||
border-color: var(--interactive-accent);
|
||||
}
|
||||
|
||||
.templater-multisuggester-list {
|
||||
margin: 1.5em 0;
|
||||
}
|
||||
|
||||
.cm-s-obsidian .templater-command-bg {
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
background-color: var(--background-primary-alt);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command {
|
||||
font-size: 0.85em;
|
||||
font-family: var(--font-monospace);
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
.cm-s-obsidian .templater-inline .cm-templater-command {
|
||||
background-color: var(--background-primary-alt);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-templater-opening-tag {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-templater-closing-tag {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-templater-interpolation-tag {
|
||||
color: var(--code-property, #008bff);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-templater-execution-tag {
|
||||
color: var(--code-function, #c0d700);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-keyword {
|
||||
color: var(--code-keyword, #00a7aa);
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-atom {
|
||||
color: var(--code-normal, #f39b35);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-value,
|
||||
.cm-s-obsidian .cm-templater-command.cm-number,
|
||||
.cm-s-obsidian .cm-templater-command.cm-type {
|
||||
color: var(--code-value, #a06fca);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-def,
|
||||
.cm-s-obsidian .cm-templater-command.cm-type.cm-def {
|
||||
color: var(--code-normal, var(--text-normal));
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-property,
|
||||
.cm-s-obsidian .cm-templater-command.cm-property.cm-def,
|
||||
.cm-s-obsidian .cm-templater-command.cm-attribute {
|
||||
color: var(--code-function, #98e342);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-variable,
|
||||
.cm-s-obsidian .cm-templater-command.cm-variable-2,
|
||||
.cm-s-obsidian .cm-templater-command.cm-variable-3,
|
||||
.cm-s-obsidian .cm-templater-command.cm-meta {
|
||||
color: var(--code-property, #d4d4d4);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-callee,
|
||||
.cm-s-obsidian .cm-templater-command.cm-operator,
|
||||
.cm-s-obsidian .cm-templater-command.cm-qualifier,
|
||||
.cm-s-obsidian .cm-templater-command.cm-builtin {
|
||||
color: var(--code-operator, #fc4384);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-tag {
|
||||
color: var(--code-tag, #fc4384);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-comment,
|
||||
.cm-s-obsidian .cm-templater-command.cm-comment.cm-tag,
|
||||
.cm-s-obsidian .cm-templater-command.cm-comment.cm-attribute {
|
||||
color: var(--code-comment, #696d70);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-string,
|
||||
.cm-s-obsidian .cm-templater-command.cm-string-2 {
|
||||
color: var(--code-string, #e6db74);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-header,
|
||||
.cm-s-obsidian .cm-templater-command.cm-hr {
|
||||
color: var(--code-keyword, #da7dae);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-link {
|
||||
color: var(--code-normal, #696d70);
|
||||
}
|
||||
|
||||
.cm-s-obsidian .cm-templater-command.cm-error {
|
||||
border-bottom: 1px solid #c42412;
|
||||
}
|
||||
|
||||
.CodeMirror-hints {
|
||||
position: absolute;
|
||||
z-index: 10;
|
||||
overflow: hidden;
|
||||
list-style: none;
|
||||
|
||||
margin: 0;
|
||||
padding: 2px;
|
||||
|
||||
-webkit-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
|
||||
-moz-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
|
||||
box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
|
||||
border-radius: 3px;
|
||||
border: 1px solid silver;
|
||||
|
||||
background: white;
|
||||
font-size: 90%;
|
||||
font-family: monospace;
|
||||
|
||||
max-height: 20em;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.CodeMirror-hint {
|
||||
margin: 0;
|
||||
padding: 0 4px;
|
||||
border-radius: 2px;
|
||||
white-space: pre;
|
||||
color: black;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
li.CodeMirror-hint-active {
|
||||
background: #08f;
|
||||
color: white;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{}
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"version": null,
|
||||
"isAnnounceUpdatesEnabled": true,
|
||||
"isPluginActivated": true,
|
||||
"isTypewriterScrollEnabled": true,
|
||||
"isOnlyActivateAfterFirstInteractionEnabled": true,
|
||||
"isOnlyMaintainTypewriterOffsetWhenReachedEnabled": true,
|
||||
"isTypewriterOnlyUseCommandsEnabled": false,
|
||||
"typewriterOffset": 0.5,
|
||||
"isKeepLinesAboveAndBelowEnabled": false,
|
||||
"linesAboveAndBelow": 5,
|
||||
"isMaxCharsPerLineEnabled": false,
|
||||
"maxCharsPerLine": 64,
|
||||
"isDimUnfocusedEnabled": false,
|
||||
"isDimHighlightListParentEnabled": false,
|
||||
"isDimTableAsOneEnabled": true,
|
||||
"dimUnfocusedMode": "paragraphs",
|
||||
"dimUnfocusedEditorsBehavior": "dim",
|
||||
"dimmedOpacity": 0.25,
|
||||
"isPauseDimUnfocusedWhileScrollingEnabled": true,
|
||||
"isPauseDimUnfocusedWhileSelectingEnabled": true,
|
||||
"isHighlightCurrentLineEnabled": false,
|
||||
"isFadeLinesEnabled": false,
|
||||
"fadeLinesIntensity": 0.5,
|
||||
"isHighlightCurrentLineOnlyInFocusedEditorEnabled": false,
|
||||
"currentLineHighlightStyle": "box",
|
||||
"currentLineHighlightUnderlineThickness": 1,
|
||||
"currentLineHighlightColor-dark": "#444",
|
||||
"currentLineHighlightColor-light": "#ddd",
|
||||
"doesWritingFocusShowHeader": false,
|
||||
"doesWritingFocusShowStatusBar": false,
|
||||
"doesWritingFocusShowVignette": true,
|
||||
"isWritingFocusFullscreen": true,
|
||||
"writingFocusVignetteStyle": "box",
|
||||
"isRestoreCursorPositionEnabled": false
|
||||
}
|
||||
+22
File diff suppressed because one or more lines are too long
+14
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"id": "typewriter-mode",
|
||||
"name": "Typewriter Mode",
|
||||
"author": "Davis Riedel",
|
||||
"authorUrl": "https://davis-riedel.de/en/software",
|
||||
"description": "Typewriter scroll, highlight current line, dim unfocused paragraphs and sentences, writing focus, restore cursor position and more.",
|
||||
"isDesktopOnly": false,
|
||||
"version": "1.1.0",
|
||||
"minAppVersion": "0.15.0",
|
||||
"fundingUrl": {
|
||||
"Buy Me a Coffee": "https://www.buymeacoffee.com/davis.riedel",
|
||||
"GitHub Sponsors": "https://github.com/sponsors/davisriedel"
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
Vendored
+19
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"waypointFlag": "%% Waypoint %%",
|
||||
"landmarkFlag": "%% Landmark %%",
|
||||
"stopScanAtFolderNotes": false,
|
||||
"showFolderNotes": false,
|
||||
"showNonMarkdownFiles": false,
|
||||
"foldersOnTop": true,
|
||||
"debugLogging": false,
|
||||
"useWikiLinks": true,
|
||||
"useFrontMatterTitle": false,
|
||||
"showEnclosingNote": false,
|
||||
"folderNoteType": "INSIDE_FOLDER",
|
||||
"folderNoteFilename": "index",
|
||||
"ignorePaths": [
|
||||
"_attachments, Cache"
|
||||
],
|
||||
"useSpaces": false,
|
||||
"numSpaces": 2
|
||||
}
|
||||
Vendored
+25
File diff suppressed because one or more lines are too long
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "waypoint",
|
||||
"name": "Waypoint",
|
||||
"version": "3.0.1",
|
||||
"minAppVersion": "0.12.0",
|
||||
"description": "Easily generate dynamic content maps in your folder notes using waypoints. Enables folders to show up in the graph view and removes the need for messy tags!",
|
||||
"author": "Idrees Hassan",
|
||||
"authorUrl": "https://idreesinc.com",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
|
||||
Vendored
+10
@@ -0,0 +1,10 @@
|
||||
/* Увеличивает масштаб всех формул MathJax */
|
||||
.math-block,
|
||||
.math-inline {
|
||||
font-size: 1.2em; /* Измените число, чтобы настроить размер (1.15 = 115%) */
|
||||
}
|
||||
|
||||
/* Опционально: если хотите, чтобы выносные формулы ($$ $$) были еще крупнее */
|
||||
.math-block {
|
||||
font-size: 1.25em;
|
||||
}
|
||||
Vendored
+3
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"folder": "99 System/Template"
|
||||
}
|
||||
Vendored
+211
@@ -0,0 +1,211 @@
|
||||
{
|
||||
"packagesHash": {
|
||||
"default": {
|
||||
"packageId": "default",
|
||||
"name": "Default Prompts Package",
|
||||
"version": "0.0.9",
|
||||
"minTextGeneratorVersion": "0.5.0",
|
||||
"description": "This is the main package that comes with Text Generator plugin in Obsidian",
|
||||
"author": "Noureddine Haouari",
|
||||
"tags": "writing, brainstorming",
|
||||
"authorUrl": "https://www.buymeacoffee.com/haouarine",
|
||||
"repo": "text-gen/gpt-3-prompt-templates"
|
||||
},
|
||||
"dalle": {
|
||||
"packageId": "dalle",
|
||||
"name": "OpenAI Dalle Package",
|
||||
"version": "0.1.1",
|
||||
"minTextGeneratorVersion": "0.7.0",
|
||||
"description": "The package contains some interessting Dalle-2/Dalle-3 prompt templates",
|
||||
"author": "Noureddine Haouari",
|
||||
"tags": "photo, dalle-2, dalle-3",
|
||||
"authorUrl": "https://www.buymeacoffee.com/haouarine",
|
||||
"repo": "text-gen/tg-dalle-package"
|
||||
},
|
||||
"huggingface": {
|
||||
"packageId": "huggingface",
|
||||
"name": "Huggingface Prompts Package",
|
||||
"version": "0.0.4",
|
||||
"minTextGeneratorVersion": "0.5.0",
|
||||
"description": "Huggingface Prompts comes with Text Generator plugin in Obsidian",
|
||||
"author": "Noureddine Haouari",
|
||||
"tags": "writing, brainstorming, huggingface",
|
||||
"authorUrl": "https://www.buymeacoffee.com/haouarine",
|
||||
"repo": "text-gen/huggingface"
|
||||
},
|
||||
"awesomePrompts": {
|
||||
"packageId": "awesomePrompts",
|
||||
"name": "Awesome Prompts",
|
||||
"version": "0.0.3",
|
||||
"minTextGeneratorVersion": "0.5.7",
|
||||
"description": "This repo includes ChatGPT prompt curation to use ChatGPT better.",
|
||||
"author": "f",
|
||||
"tags": "writing, brainstorming, awesome",
|
||||
"authorUrl": "https://github.com/f/awesome-chatgpt-prompts",
|
||||
"repo": "text-gen/awesome-tg-package"
|
||||
},
|
||||
"tts": {
|
||||
"packageId": "tts",
|
||||
"name": "Text To Speech Package",
|
||||
"version": "0.0.3",
|
||||
"minTextGeneratorVersion": "0.6.0",
|
||||
"description": "Contains Text To Speech Templates and support for TTS for other templates",
|
||||
"author": "Noureddine",
|
||||
"tags": "TTS, Speak",
|
||||
"authorUrl": "https://www.buymeacoffee.com/haouarine",
|
||||
"repo": "text-gen/TTS"
|
||||
},
|
||||
"vision": {
|
||||
"packageId": "vision",
|
||||
"name": "Vision Package",
|
||||
"version": "0.0.2",
|
||||
"minTextGeneratorVersion": "0.6.0",
|
||||
"description": "Contains Vision Templates and support for Vision for other templates (Scripts)",
|
||||
"author": "Noureddine",
|
||||
"tags": "OpenAI,markdown,gpt-4-vision,vision,images",
|
||||
"authorUrl": "https://www.buymeacoffee.com/haouarine",
|
||||
"repo": "text-gen/tg-vision"
|
||||
},
|
||||
"smartConnections": {
|
||||
"packageId": "smartConnections",
|
||||
"name": "Smart Connections Package",
|
||||
"version": "0.0.2",
|
||||
"minTextGeneratorVersion": "0.6.0",
|
||||
"description": "Contains Smart Connection Templates and support for Smart Connections for other templates (Script)",
|
||||
"author": "Noureddine",
|
||||
"tags": "smartConnections,smart-connections",
|
||||
"authorUrl": "https://www.buymeacoffee.com/haouarine",
|
||||
"repo": "text-gen/tg-smartConnections"
|
||||
},
|
||||
"Experimental": {
|
||||
"packageId": "Experimental",
|
||||
"name": "Experimental Package",
|
||||
"version": "0.0.2",
|
||||
"minTextGeneratorVersion": "0.6.6",
|
||||
"description": "Contains experimental templates",
|
||||
"author": "Noureddine",
|
||||
"tags": "experiments",
|
||||
"authorUrl": "https://www.buymeacoffee.com/haouarine",
|
||||
"repo": "text-gen/experimental-package"
|
||||
},
|
||||
"testExtension": {
|
||||
"core": true,
|
||||
"type": "feature",
|
||||
"packageId": "testExtension",
|
||||
"name": "test extension Package",
|
||||
"version": "0.0.1",
|
||||
"minTextGeneratorVersion": "0.1.0",
|
||||
"description": "testing extension package",
|
||||
"author": "Noureddine Haouari",
|
||||
"tags": "testing",
|
||||
"authorUrl": "https://www.buymeacoffee.com/haouarine",
|
||||
"repo": "text-gen/gpt-3-prompt-templates",
|
||||
"folderName": "testExtension",
|
||||
"price": 20,
|
||||
"installed": false
|
||||
},
|
||||
"excalidraw": {
|
||||
"packageId": "excalidraw",
|
||||
"name": "excalidraw package",
|
||||
"version": "0.0.1",
|
||||
"minTextGeneratorVersion": "0.6.0",
|
||||
"description": "Contains Excalidraw Templates and support for Excalidraw for other templates (Scripts)",
|
||||
"author": "Noureddine",
|
||||
"tags": "OpenAI,markdown,gpt-4-vision,vision,images",
|
||||
"authorUrl": "https://www.buymeacoffee.com/haouarine",
|
||||
"repo": "text-gen/tg-excalidraw",
|
||||
"core": true,
|
||||
"folderName": "excalidrawPackage",
|
||||
"price": 2
|
||||
}
|
||||
},
|
||||
"resources": {},
|
||||
"installedPackagesHash": {
|
||||
"default": {
|
||||
"packageId": "default",
|
||||
"prompts": [
|
||||
{
|
||||
"promptId": "getEmailNeg"
|
||||
},
|
||||
{
|
||||
"promptId": "getEmailPos"
|
||||
},
|
||||
{
|
||||
"promptId": "getIdeas"
|
||||
},
|
||||
{
|
||||
"promptId": "getOutline"
|
||||
},
|
||||
{
|
||||
"promptId": "getParagraph"
|
||||
},
|
||||
{
|
||||
"promptId": "getTags"
|
||||
},
|
||||
{
|
||||
"promptId": "getTitles"
|
||||
},
|
||||
{
|
||||
"promptId": "rewrite"
|
||||
},
|
||||
{
|
||||
"promptId": "simplify"
|
||||
},
|
||||
{
|
||||
"promptId": "summarize"
|
||||
},
|
||||
{
|
||||
"promptId": "summarizeLarge"
|
||||
}
|
||||
],
|
||||
"installedPrompts": [
|
||||
{
|
||||
"promptId": "rewrite",
|
||||
"version": ""
|
||||
},
|
||||
{
|
||||
"promptId": "getTags",
|
||||
"version": ""
|
||||
},
|
||||
{
|
||||
"promptId": "summarize",
|
||||
"version": ""
|
||||
},
|
||||
{
|
||||
"promptId": "getEmailNeg",
|
||||
"version": ""
|
||||
},
|
||||
{
|
||||
"promptId": "getParagraph",
|
||||
"version": ""
|
||||
},
|
||||
{
|
||||
"promptId": "getOutline",
|
||||
"version": ""
|
||||
},
|
||||
{
|
||||
"promptId": "getTitles",
|
||||
"version": ""
|
||||
},
|
||||
{
|
||||
"promptId": "getIdeas",
|
||||
"version": ""
|
||||
},
|
||||
{
|
||||
"promptId": "summarizeLarge",
|
||||
"version": ""
|
||||
},
|
||||
{
|
||||
"promptId": "simplify",
|
||||
"version": ""
|
||||
},
|
||||
{
|
||||
"promptId": "getEmailPos",
|
||||
"version": ""
|
||||
}
|
||||
],
|
||||
"version": "0.0.5"
|
||||
}
|
||||
},
|
||||
"subscriptions": []
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"name": "Border",
|
||||
"version": "1.13.5",
|
||||
"minAppVersion": "0.16.0",
|
||||
"author": "Akifyss",
|
||||
"authorUrl": "https://github.com/Akifyss"
|
||||
}
|
||||
Vendored
+9220
File diff suppressed because one or more lines are too long
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"name": "Obsidian Nord",
|
||||
"version": "0.2.0",
|
||||
"minAppVersion": "0.16.0",
|
||||
"author": "insanum",
|
||||
"authorUrl": "https://insanum.com"
|
||||
}
|
||||
+525
@@ -0,0 +1,525 @@
|
||||
|
||||
:root
|
||||
{
|
||||
--dark0_x: 46,52,64; /* #2e3440 */
|
||||
--dark0: rgb(var(--dark0_x));
|
||||
--dark1_x: 59,66,82; /* #3b4252 */
|
||||
--dark1: rgb(var(--dark1_x));
|
||||
--dark2_x: 67,76,94; /* #434c5e */
|
||||
--dark2: rgb(var(--dark2_x));
|
||||
--dark3_x: 76,86,106; /* #4c566a */
|
||||
--dark3: rgb(var(--dark3_x));
|
||||
|
||||
--light0_x: 216,222,233; /* #d8dee9 */
|
||||
--light0: rgb(var(--light0_x));
|
||||
--light1_x: 229,233,240; /* #e5e9f0 */
|
||||
--light1: rgb(var(--light1_x));
|
||||
--light2_x: 236,239,244; /* #eceff4 */
|
||||
--light2: rgb(var(--light2_x));
|
||||
--light3_x: 255,255,255; /* #ffffff */
|
||||
--light3: rgb(var(--light3_x));
|
||||
|
||||
--frost0_x: 143,188,187; /* #8fbcbb */
|
||||
--frost0: rgb(var(--frost0_x));
|
||||
--frost1_x: 136,192,208; /* #88c0d0 */
|
||||
--frost1: rgb(var(--frost1_x));
|
||||
--frost2_x: 129,161,193; /* #81a1c1 */
|
||||
--frost2: rgb(var(--frost2_x));
|
||||
--frost3_x: 94,129,172; /* #5e81ac */
|
||||
--frost3: rgb(var(--frost3_x));
|
||||
|
||||
--red_x: 191,97,106; /* #bf616a */
|
||||
--red: rgb(var(--red_x));
|
||||
--orange_x: 208,135,112; /* #d08770 */
|
||||
--orange: rgb(var(--orange_x));
|
||||
--yellow_x: 235,203,139; /* #ebcb8b */
|
||||
--yellow: rgb(var(--yellow_x));
|
||||
--green_x: 163,190,140; /* #a3be8c */
|
||||
--green: rgb(var(--green_x));
|
||||
--purple_x: 180,142,173; /* #b48ead */
|
||||
--purple: rgb(var(--purple_x));
|
||||
}
|
||||
|
||||
body
|
||||
{
|
||||
--accent-h: 354; /* --red #bf616a */
|
||||
--accent-s: 42%;
|
||||
--accent-l: 56%;
|
||||
|
||||
--link-decoration: none;
|
||||
--link-decoration-hover: none;
|
||||
--link-external-decoration: none;
|
||||
--link-external-decoration-hover: none;
|
||||
|
||||
--tag-decoration: none;
|
||||
--tag-decoration-hover: underline;
|
||||
--tag-padding-x: .5em;
|
||||
--tag-padding-y: .2em;
|
||||
--tag-radius: .5em;
|
||||
|
||||
--tab-font-weight: 600;
|
||||
--bold-weight: 600;
|
||||
|
||||
--checkbox-radius: 0;
|
||||
|
||||
/* --list-indent: 2em; */
|
||||
|
||||
--embed-border-left: 6px double var(--interactive-accent);
|
||||
}
|
||||
|
||||
.theme-dark
|
||||
{
|
||||
--color-red-rgb: var(--red_x);
|
||||
--color-red: var(--red);
|
||||
--color-purple-rgb: var(--purple_x);
|
||||
--color-purple: var(--purple);
|
||||
--color-green-rgb: var(--green_x);
|
||||
--color-green: var(--green);
|
||||
--color-cyan-rgb: var(--frost1_x);
|
||||
--color-cyan: var(--frost1);
|
||||
--color-blue-rgb: var(--frost3_x);
|
||||
--color-blue: var(--frost3);
|
||||
--color-yellow-rgb: var(--yellow_x);
|
||||
--color-yellow: var(--yellow);
|
||||
--color-orange-rgb: var(--orange_x);
|
||||
--color-orange: var(--orange);
|
||||
/* --color-pink: var(--purple); */
|
||||
|
||||
--background-primary: var(--dark0);
|
||||
--background-primary-alt: var(--dark0);
|
||||
--background-secondary: var(--dark1);
|
||||
--background-secondary-alt: var(--dark2);
|
||||
--background-modifier-border: var(--dark2);
|
||||
|
||||
--cursor-line-background: rgba(var(--red_x), 0.2);
|
||||
|
||||
--text-normal: var(--light2);
|
||||
--text-faint: var(--light0);
|
||||
--text-muted: var(--light1);
|
||||
|
||||
--link-url: var(--purple);
|
||||
|
||||
--h1-color: var(--red);
|
||||
--h2-color: var(--yellow);
|
||||
--h3-color: var(--green);
|
||||
--h4-color: var(--purple);
|
||||
--h5-color: var(--frost0);
|
||||
--h6-color: var(--frost2);
|
||||
|
||||
--text-highlight-bg: var(--frost1);
|
||||
--text-highlight-fg: var(--dark0);
|
||||
|
||||
--text-accent: var(--orange);
|
||||
--text-accent-hover: var(--frost2);
|
||||
|
||||
--tag-color: var(--frost0);
|
||||
--tag-background: var(--dark2);
|
||||
--tag-background-hover: var(--dark1);
|
||||
|
||||
--titlebar-text-color-focused: var(--red);
|
||||
|
||||
--inline-title-color: var(--yellow);
|
||||
|
||||
--bold-color: var(--yellow);
|
||||
--italic-color: var(--yellow);
|
||||
|
||||
--checkbox-color: var(--frost0);
|
||||
--checkbox-color-hover: var(--frost0);
|
||||
--checkbox-border-color: var(--frost0);
|
||||
--checkbox-border-color-hover: var(--frost0);
|
||||
--checklist-done-color: rgba(var(--light2_x), 0.5);
|
||||
|
||||
--table-header-background: hsl(220, 16%, 16%);
|
||||
--table-header-background-hover: var(--dark3);
|
||||
--table-row-even-background: hsl(220, 16%, 20%);
|
||||
--table-row-odd-background: hsl(220, 16%, 24%);
|
||||
--table-row-background-hover: var(--dark3);
|
||||
|
||||
--text-selection: rgba(var(--red_x), 0.6);
|
||||
--flashing-background: rgba(var(--red_x), 0.3);
|
||||
|
||||
--code-normal: var(--frost1);
|
||||
--code-background: var(--dark1);
|
||||
|
||||
--mermaid-note: var(--frost3);
|
||||
--mermaid-loopline: var(--frost1);
|
||||
--mermaid-exclude: var(--dark3);
|
||||
--mermaid-seqnum: var(--dark0);
|
||||
|
||||
--icon-color-hover: var(--red);
|
||||
--icon-color-focused: var(--frost2);
|
||||
|
||||
--nav-item-color-hover: var(--red);
|
||||
--nav-item-color-active: var(--frost2);
|
||||
--nav-file-tag: rgba(var(--yellow_x), 0.9);
|
||||
|
||||
--graph-line: var(--dark3);
|
||||
--graph-node: var(--light3);
|
||||
--graph-node-tag: var(--red);
|
||||
--graph-node-attachment: var(--green);
|
||||
|
||||
--calendar-hover: var(--red);
|
||||
--calendar-background-hover: var(--dark3);
|
||||
--calendar-week: var(--yellow);
|
||||
--calendar-today: var(--yellow);
|
||||
|
||||
--dataview-key: var(--text-faint);
|
||||
--dataview-key-background: rgba(var(--frost2_x), 0.3);
|
||||
--dataview-value: var(--text-faint);
|
||||
--dataview-value-background: rgba(var(--red_x), 0.3);
|
||||
|
||||
--tab-text-color-focused-active: var(--frost2);
|
||||
--tab-text-color-focused-active-current: var(--red);
|
||||
}
|
||||
|
||||
.theme-light
|
||||
{
|
||||
--color-red-rgb: var(--red_x);
|
||||
--color-red: var(--red);
|
||||
--color-purple-rgb: var(--purple_x);
|
||||
--color-purple: var(--purple);
|
||||
--color-green-rgb: var(--green_x);
|
||||
--color-green: var(--green);
|
||||
--color-cyan-rgb: var(--frost1_x);
|
||||
--color-cyan: var(--frost1);
|
||||
--color-blue-rgb: var(--frost3_x);
|
||||
--color-blue: var(--frost3);
|
||||
--color-yellow-rgb: var(--yellow_x);
|
||||
--color-yellow: var(--yellow);
|
||||
--color-orange-rgb: var(--orange_x);
|
||||
--color-orange: var(--orange);
|
||||
/* --color-pink: var(--purple); */
|
||||
|
||||
--background-primary: var(--light3);
|
||||
--background-primary-alt: var(--light3);
|
||||
--background-secondary: var(--light2);
|
||||
--background-secondary-alt: var(--light1);
|
||||
--background-modifier-border: var(--light1);
|
||||
|
||||
--cursor-line-background: rgba(var(--red_x), 0.1);
|
||||
|
||||
--text-normal: var(--dark2);
|
||||
--text-faint: var(--dark0);
|
||||
--text-muted: var(--dark1);
|
||||
|
||||
--link-url: var(--purple);
|
||||
|
||||
--h1-color: var(--red);
|
||||
--h2-color: var(--yellow);
|
||||
--h3-color: var(--green);
|
||||
--h4-color: var(--purple);
|
||||
--h5-color: var(--frost0);
|
||||
--h6-color: var(--frost2);
|
||||
|
||||
--text-highlight-bg: var(--yellow);
|
||||
--text-highlight-fg: var(--dark0);
|
||||
|
||||
--text-accent: var(--orange);
|
||||
--text-accent-hover: var(--frost2);
|
||||
|
||||
--tag-color: var(--dark3);
|
||||
--tag-background: var(--light1);
|
||||
--tag-background-hover: var(--light0);
|
||||
|
||||
--titlebar-text-color-focused: var(--red);
|
||||
|
||||
--inline-title-color: var(--yellow);
|
||||
|
||||
--bold-color: var(--green);
|
||||
--italic-color: var(--green);
|
||||
|
||||
--checkbox-color: var(--frost2);
|
||||
--checkbox-color-hover: var(--frost2);
|
||||
--checkbox-border-color: var(--frost2);
|
||||
--checkbox-border-color-hover: var(--frost2);
|
||||
--checklist-done-color: rgba(var(--dark2_x), 0.4);
|
||||
|
||||
--table-header-background: rgba(var(--light2_x), 0.2);
|
||||
--table-header-background-hover: var(--frost2);
|
||||
--table-row-even-background: rgba(var(--light2_x), 0.4);
|
||||
--table-row-odd-background: rgba(var(--light2_x), 0.8);
|
||||
--table-row-background-hover: var(--frost2);
|
||||
|
||||
--text-selection: rgba(var(--red_x), 0.6);
|
||||
--flashing-background: rgba(var(--red_x), 0.3);
|
||||
|
||||
--code-normal: var(--frost1);
|
||||
--code-background: var(--light2);
|
||||
|
||||
--mermaid-note: var(--frost0);
|
||||
--mermaid-loopline: var(--frost1);
|
||||
--mermaid-exclude: var(--light0);
|
||||
--mermaid-seqnum: var(--light0);
|
||||
|
||||
--icon-color-hover: var(--red);
|
||||
--icon-color-focused: var(--frost3);
|
||||
|
||||
--nav-item-color-hover: var(--red);
|
||||
--nav-item-color-active: var(--frost2);
|
||||
--nav-file-tag: rgba(var(--orange_x), 0.9);
|
||||
|
||||
--graph-line: var(--light0);
|
||||
--graph-node: var(--dark3);
|
||||
--graph-node-tag: var(--red);
|
||||
--graph-node-attachment: var(--green);
|
||||
|
||||
--calendar-hover: var(--red);
|
||||
--calendar-background-hover: var(--light0);
|
||||
--calendar-week: var(--orange);
|
||||
--calendar-today: var(--orange);
|
||||
|
||||
--dataview-key: var(--text-faint);
|
||||
--dataview-key-background: rgba(var(--frost2_x), 0.3);
|
||||
--dataview-value: var(--text-faint);
|
||||
--dataview-value-background: rgba(var(--red_x), 0.3);
|
||||
|
||||
--tab-text-color-focused-active: var(--frost2);
|
||||
--tab-text-color-focused-active-current: var(--red);
|
||||
}
|
||||
|
||||
table
|
||||
{
|
||||
border: 1px solid var(--background-secondary) !important;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
thead
|
||||
{
|
||||
border-bottom: 2px solid var(--background-modifier-border) !important;
|
||||
}
|
||||
|
||||
th
|
||||
{
|
||||
font-weight: 600 !important;
|
||||
border: 1px solid var(--background-secondary) !important;
|
||||
}
|
||||
|
||||
td
|
||||
{
|
||||
border-left: 1px solid var(--background-secondary) !important;
|
||||
border-right: 1px solid var(--background-secondary) !important;
|
||||
border-bottom: 1px solid var(--background-secondary) !important;
|
||||
}
|
||||
|
||||
.markdown-rendered tbody tr:nth-child(even)
|
||||
{
|
||||
background-color: var(--table-row-even-background) !important;
|
||||
}
|
||||
|
||||
.markdown-rendered tbody tr:nth-child(odd)
|
||||
{
|
||||
background-color: var(--table-row-odd-background) !important;
|
||||
}
|
||||
|
||||
.markdown-rendered tbody tr:nth-child(even):hover,
|
||||
.markdown-rendered tbody tr:nth-child(odd):hover
|
||||
{
|
||||
background-color: var(--table-row-background-hover) !important;
|
||||
}
|
||||
|
||||
.markdown-rendered mark
|
||||
{
|
||||
background-color: var(--text-highlight-bg);
|
||||
color: var(--text-highlight-fg);
|
||||
}
|
||||
|
||||
.markdown-rendered mark a
|
||||
{
|
||||
color: var(--red) !important;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.search-result-file-matched-text
|
||||
{
|
||||
color: var(--text-highlight-fg) !important;
|
||||
}
|
||||
|
||||
.cm-hashtag-begin:hover, .cm-hashtag-end:hover
|
||||
{
|
||||
color: var(--text-accent);
|
||||
/* background-color: var(--tag-background-hover); */
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
input[type=checkbox]
|
||||
{
|
||||
border: 1px solid var(--checkbox-color);
|
||||
}
|
||||
|
||||
input[type=checkbox]:checked
|
||||
{
|
||||
background-color: var(--checkbox-color);
|
||||
box-shadow: inset 0 0 0 2px var(--background-primary);
|
||||
}
|
||||
|
||||
input[type=checkbox]:checked:after
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
|
||||
code[class*="language-"],
|
||||
pre[class*="language-"]
|
||||
{
|
||||
line-height: var(--line-height-tight) !important;
|
||||
}
|
||||
|
||||
.cm-url
|
||||
{
|
||||
color: var(--link-url) !important;
|
||||
}
|
||||
|
||||
.cm-url:hover
|
||||
{
|
||||
color: var(--text-accent-hover) !important;
|
||||
}
|
||||
|
||||
/* Keep highlight/marks the same between viewer and editor. */
|
||||
.cm-highlight
|
||||
{
|
||||
color: var(--text-highlight-fg) !important;
|
||||
}
|
||||
|
||||
/* Keep inline code the same between viewer and editor. */
|
||||
.cm-inline-code
|
||||
{
|
||||
border-radius: var(--radius-s);
|
||||
font-size: var(--code-size);
|
||||
padding: 0.1em 0.25em;
|
||||
}
|
||||
|
||||
.cm-formatting-code + .cm-inline-code
|
||||
{
|
||||
border-radius: 0;
|
||||
padding: 0.1em 0;
|
||||
}
|
||||
|
||||
.cm-formatting-code
|
||||
{
|
||||
border-radius: var(--radius-s) 0 0 var(--radius-s);
|
||||
padding: 0.1em 0 0.1em 0.25em;
|
||||
}
|
||||
|
||||
.cm-inline-code + .cm-formatting-code
|
||||
{
|
||||
border-radius: 0 var(--radius-s) var(--radius-s) 0;
|
||||
padding: 0.1em 0.25em 0.1em 0;
|
||||
}
|
||||
|
||||
.cm-line .cm-strong
|
||||
{
|
||||
color: var(--bold-color) !important;
|
||||
}
|
||||
|
||||
/*
|
||||
* Keep list bullet padding the same between viewer and editor.
|
||||
* This is annoying with the cursor in the editor as there is a gap.
|
||||
*/
|
||||
/*
|
||||
.cm-formatting-list
|
||||
{
|
||||
padding-right: 4px !important;
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
* Keep sub-list indenting the same between viewer and editor.
|
||||
* This assumes --list-indent is default at 2em.
|
||||
*/
|
||||
/*
|
||||
.cm-indent
|
||||
{
|
||||
text-indent: 1em !important;
|
||||
}
|
||||
*/
|
||||
|
||||
.mermaid .note
|
||||
{
|
||||
fill: var(--mermaid-note) !important;
|
||||
}
|
||||
|
||||
.mermaid .loopLine
|
||||
{
|
||||
stroke: var(--mermaid-loopline) !important;
|
||||
}
|
||||
|
||||
.mermaid .loopText>tspan,
|
||||
.mermaid .entityLabel
|
||||
{
|
||||
fill: var(--red) !important;
|
||||
}
|
||||
|
||||
.mermaid .exclude-range
|
||||
{
|
||||
fill: var(--mermaid-exclude) !important;
|
||||
}
|
||||
|
||||
.mermaid .sequenceNumber
|
||||
{
|
||||
fill: var(--mermaid-seqnum) !important;
|
||||
}
|
||||
|
||||
.calendar .week-num
|
||||
{
|
||||
color: var(--calendar-week) !important;
|
||||
}
|
||||
|
||||
.calendar .today
|
||||
{
|
||||
color: var(--calendar-today) !important;
|
||||
}
|
||||
|
||||
.calendar .week-num:hover,
|
||||
.calendar .day:hover
|
||||
{
|
||||
color: var(--calendar-hover) !important;
|
||||
background-color: var(--calendar-background-hover) !important;
|
||||
}
|
||||
|
||||
.markdown-embed-title
|
||||
{
|
||||
color: var(--yellow);
|
||||
font-weight: 600 !important;
|
||||
}
|
||||
|
||||
.cm-active
|
||||
{
|
||||
background-color: var(--cursor-line-background) !important;
|
||||
}
|
||||
|
||||
.nav-file-tag
|
||||
{
|
||||
color: var(--nav-file-tag) !important;
|
||||
}
|
||||
|
||||
.is-flashing
|
||||
{
|
||||
background-color: var(--flashing-background) !important;
|
||||
}
|
||||
|
||||
.dataview.inline-field-key
|
||||
{
|
||||
border-top-left-radius: var(--radius-s);
|
||||
border-bottom-left-radius: var(--radius-s);
|
||||
padding-left: 4px;
|
||||
font-family: var(--font-monospace);
|
||||
font-size: var(--font-smaller);
|
||||
color: var(--dataview-key) !important;
|
||||
background-color: var(--dataview-key-background) !important;
|
||||
}
|
||||
|
||||
.dataview.inline-field-value
|
||||
{
|
||||
border-top-right-radius: var(--radius-s);
|
||||
border-bottom-right-radius: var(--radius-s);
|
||||
padding-right: 4px;
|
||||
font-family: var(--font-monospace);
|
||||
font-size: var(--font-smaller);
|
||||
color: var(--dataview-value) !important;
|
||||
background-color: var(--dataview-value-background) !important;
|
||||
}
|
||||
|
||||
.suggestion-highlight
|
||||
{
|
||||
color: var(--red);
|
||||
}
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"name": "Red Graphite",
|
||||
"version": "1.0.5",
|
||||
"minAppVersion": "1.0.0",
|
||||
"author": "Sean Williams",
|
||||
"authorUrl": "https://github.com/seanwcom/Red-Graphite-for-Obsidian"
|
||||
}
|
||||
+59
File diff suppressed because one or more lines are too long
Vendored
+35
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"types": {
|
||||
"aliases": "aliases",
|
||||
"cssclasses": "multitext",
|
||||
"tags": "tags",
|
||||
"dg-home": "checkbox",
|
||||
"dg-publish": "checkbox",
|
||||
"birthday": "date",
|
||||
"died": "date",
|
||||
"created": "date",
|
||||
"updated": "date",
|
||||
"TQ_explain": "checkbox",
|
||||
"TQ_extra_instructions": "text",
|
||||
"TQ_short_mode": "checkbox",
|
||||
"TQ_show_backlink": "checkbox",
|
||||
"TQ_show_cancelled_date": "checkbox",
|
||||
"TQ_show_created_date": "checkbox",
|
||||
"TQ_show_depends_on": "checkbox",
|
||||
"TQ_show_done_date": "checkbox",
|
||||
"TQ_show_due_date": "checkbox",
|
||||
"TQ_show_edit_button": "checkbox",
|
||||
"TQ_show_id": "checkbox",
|
||||
"TQ_show_on_completion": "checkbox",
|
||||
"TQ_show_postpone_button": "checkbox",
|
||||
"TQ_show_priority": "checkbox",
|
||||
"TQ_show_recurrence_rule": "checkbox",
|
||||
"TQ_show_scheduled_date": "checkbox",
|
||||
"TQ_show_start_date": "checkbox",
|
||||
"TQ_show_tags": "checkbox",
|
||||
"TQ_show_task_count": "checkbox",
|
||||
"TQ_show_toolbar": "checkbox",
|
||||
"TQ_show_tree": "checkbox",
|
||||
"TQ_show_urgency": "checkbox"
|
||||
}
|
||||
}
|
||||
Vendored
+5
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"openExternalURLs": false,
|
||||
"enableAdblocking": true,
|
||||
"searchEngine": "google"
|
||||
}
|
||||
Vendored
+272
@@ -0,0 +1,272 @@
|
||||
{
|
||||
"main": {
|
||||
"id": "5324373015726ba8",
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "4509724f8bf84da7",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "e7a7b303c61786dc",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "empty",
|
||||
"state": {},
|
||||
"icon": "lucide-file",
|
||||
"title": "New tab"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "vertical"
|
||||
},
|
||||
"left": {
|
||||
"id": "a9c2d5e65288011a",
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "383cca303cf4b57d",
|
||||
"type": "tabs",
|
||||
"dimension": 50.1358695652174,
|
||||
"children": [
|
||||
{
|
||||
"id": "27e6486165131cfa",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "file-explorer",
|
||||
"state": {
|
||||
"sortOrder": "alphabetical",
|
||||
"autoReveal": false
|
||||
},
|
||||
"icon": "lucide-folder-closed",
|
||||
"title": "Files"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "66079465678173e5",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "search",
|
||||
"state": {
|
||||
"query": "",
|
||||
"matchingCase": false,
|
||||
"explainSearch": false,
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical"
|
||||
},
|
||||
"icon": "lucide-search",
|
||||
"title": "Search"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "c2541ce190da912e",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "bookmarks",
|
||||
"state": {},
|
||||
"icon": "lucide-bookmark",
|
||||
"title": "Bookmarks"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "7921dc32786b4055",
|
||||
"type": "tabs",
|
||||
"dimension": 49.86413043478261,
|
||||
"children": [
|
||||
{
|
||||
"id": "94123d63799f77ef",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "calendar",
|
||||
"state": {},
|
||||
"icon": "calendar-with-checkmark",
|
||||
"title": "Calendar"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
"width": 222.5
|
||||
},
|
||||
"right": {
|
||||
"id": "38c591aa0966839e",
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "86a193b1d3159ff8",
|
||||
"type": "tabs",
|
||||
"dimension": 55.51075268817204,
|
||||
"children": [
|
||||
{
|
||||
"id": "7d88e94aecfb2924",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "backlink",
|
||||
"state": {
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical",
|
||||
"showSearch": false,
|
||||
"searchQuery": "",
|
||||
"backlinkCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
},
|
||||
"icon": "links-coming-in",
|
||||
"title": "Backlinks"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ebf18fc720aeda08",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "outgoing-link",
|
||||
"state": {
|
||||
"linksCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
},
|
||||
"icon": "links-going-out",
|
||||
"title": "Outgoing links"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "673ce6e6c09cfc9c",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "tag",
|
||||
"state": {
|
||||
"sortOrder": "frequency",
|
||||
"useHierarchy": true,
|
||||
"showSearch": false,
|
||||
"searchQuery": ""
|
||||
},
|
||||
"icon": "lucide-tags",
|
||||
"title": "Tags"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "394fb6e28d09b8f3",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "all-properties",
|
||||
"state": {
|
||||
"sortOrder": "frequency",
|
||||
"showSearch": false,
|
||||
"searchQuery": ""
|
||||
},
|
||||
"icon": "lucide-archive",
|
||||
"title": "All properties"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "b35a3d31fd414ebf",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "outline",
|
||||
"state": {
|
||||
"followCursor": false,
|
||||
"showSearch": false,
|
||||
"searchQuery": ""
|
||||
},
|
||||
"icon": "lucide-list",
|
||||
"title": "Outline"
|
||||
}
|
||||
}
|
||||
],
|
||||
"currentTab": 4
|
||||
},
|
||||
{
|
||||
"id": "953ae0f10eedfdc6",
|
||||
"type": "tabs",
|
||||
"dimension": 44.48924731182796,
|
||||
"children": [
|
||||
{
|
||||
"id": "294b81fcbc79c560",
|
||||
"type": "leaf",
|
||||
"pinned": true,
|
||||
"state": {
|
||||
"type": "graph",
|
||||
"state": {},
|
||||
"pinned": true,
|
||||
"icon": "lucide-git-fork",
|
||||
"title": "Graph view"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
"width": 288.5
|
||||
},
|
||||
"left-ribbon": {
|
||||
"hiddenItems": {
|
||||
"switcher:Open quick switcher": false,
|
||||
"graph:Open graph view": false,
|
||||
"canvas:Create new canvas": false,
|
||||
"daily-notes:Open today's daily note": false,
|
||||
"templates:Insert template": false,
|
||||
"command-palette:Open command palette": false,
|
||||
"markdown-importer:Open format converter": false,
|
||||
"random-note:Open random note": false,
|
||||
"audio-recorder:Start/stop recording": false,
|
||||
"bases:Create new base": false,
|
||||
"templater-obsidian:Templater": false,
|
||||
"omnisearch:Omnisearch": false,
|
||||
"obsidian-excalidraw-plugin:New drawing": false
|
||||
}
|
||||
},
|
||||
"active": "27e6486165131cfa",
|
||||
"lastOpenFiles": [
|
||||
"01 Library/02 DevOps/Kubernetes/Kubernetes.md",
|
||||
"01 Library/02 DevOps/Kubernetes/ReplicaSet.md",
|
||||
"01 Library/02 DevOps/Kubernetes",
|
||||
"01 Library/02 DevOps/Terraform.md",
|
||||
"01 Library/02 DevOps/Контейнеризация/Docker Swarm.md",
|
||||
"01 Library/02 DevOps/Контейнеризация/Apache Mesos.md",
|
||||
"01 Library/01 Admin/CA и NGINX.md",
|
||||
"02 Projects/Наука/НИР/НИР.md",
|
||||
"99 System/Archive/Идеи для статьи.md",
|
||||
"04 Tools/SocialBase/SocialBase.md",
|
||||
"02 Projects/Личные/Финансы/Подписки - календарь.md",
|
||||
"04 Tools/TravelTracker/TravelTracker.md",
|
||||
"04 Tools/TravelTracker/Places/Рязань.md",
|
||||
"02 Projects/Личные/Цели на 2026 год.md",
|
||||
"02 Projects/Ил - Проекты/DFS to Samba.md",
|
||||
"99 System/Archive/Сравнение хранилищ секретов.md",
|
||||
"03 Journal/03 Journal.md",
|
||||
"03 Journal/2026-03-23.md",
|
||||
"GEMINI.md",
|
||||
"99 System/Vault Index.md",
|
||||
"05 Minds/Заметка для потока мыслей.md",
|
||||
"04 Tools/Неоконченные заметки.md",
|
||||
"00 Inbox/Untitled 1.md",
|
||||
"04 Tools/TaskManager.md",
|
||||
"04 Tools/StudyTracker/StudyTracker.md",
|
||||
"04 Tools/StudyTracker/Books/Антихрупкость.md",
|
||||
"04 Tools/StudyTracker/Books/Компьютерные сети.md",
|
||||
"99 System/Cache/Pasted image 20260417105833.png",
|
||||
"99 System/Cache/Pasted image 20260417105754.png",
|
||||
"Excalidraw",
|
||||
"99 System/Cache/Pasted image 20260413131243.png",
|
||||
"99 System/Cache/Pasted image 20260413131152.png",
|
||||
"99 System/Cache/Pasted image 20260413131129.png",
|
||||
"99 System/Cache/Pasted image 20260413130714.png",
|
||||
"05 NoxPKB/wiki",
|
||||
"05 NoxPKB/raw",
|
||||
"05 NoxPKB",
|
||||
"99 System/Cache/Pasted image 20260410110555.png",
|
||||
"99 System/Cache/Pasted image 20260410110002.png",
|
||||
"99 System/Cache/Pasted image 20260410105854.png",
|
||||
"99 System/Cache/Pasted image 20260410105817.png",
|
||||
"04 Tools/TravelTracker/Countries",
|
||||
"04 Tools/TravelTracker/Places",
|
||||
"04 Tools/StudyTracker/Courses",
|
||||
"04 Tools/StudyTracker/Books",
|
||||
"04 Tools/TravelTracker"
|
||||
]
|
||||
}
|
||||
Vendored
+4
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"workspaces": {},
|
||||
"active": ""
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
---
|
||||
status: seed
|
||||
type: concept
|
||||
tags: []
|
||||
created: 2025-12-17
|
||||
updated: 2026-04-11
|
||||
title:
|
||||
---
|
||||
Если при *уменьшении* индикатора, состояние экономики *ухудшается*, то индикатор **убывающий**.
|
||||
$x_{текущий} > x_{порог}$ - значение не должно быть меньше порога
|
||||
|
||||
Если при увеличении индикатора, состоянии экономики *ухудшается*, то индикатор **возрастающий**.
|
||||
$x_{текущий} < x_{порог}$ - значение не должно быть больше порога
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
status: seed
|
||||
type: concept
|
||||
tags: []
|
||||
created: 2025-12-17
|
||||
updated: 2026-04-16
|
||||
title:
|
||||
---
|
||||
Программа сдается ВЮ, пояснительную записку ДЮ.
|
||||
|
||||
- проведение анализа подразумевает нормализацию текста (убрать стоп-слова, числительные, имена собственные(имена людей, названия объектов географических, юридических))
|
||||
- индивидуализированная тема курсовой работы (Поиск стоп-слов в УК РФ на основе закона Хипса/Ципфа)
|
||||
- В отчет вписать всех в команде в столбик
|
||||
|
||||
Оформление курсовой работы:
|
||||
Титульник с названием
|
||||
Аннотация
|
||||
Содержание
|
||||
Постановка задачи
|
||||
Введение (как будем решать)
|
||||
Описание того, как разработали (не писать про GPT)
|
||||
Какие результаты получили
|
||||
Выводы
|
||||
Списки литературы (не менее 5 пунктов)
|
||||
Приложение
|
||||
|
||||
Картинки, демонстрирующие работу приложения
|
||||
Не менее 12 страниц (рекомендуемое 15 страниц)
|
||||
|
||||
Сдача полностью на двух лекциях (макс баллы), дальше за каждую неделю -5 баллов.
|
||||
@@ -0,0 +1,105 @@
|
||||
---
|
||||
status: processing
|
||||
type: concept
|
||||
tags: []
|
||||
created: 2025-12-17
|
||||
updated: 2026-04-13
|
||||
title: Нейронные сети - ДВ
|
||||
---
|
||||
|
||||
# Нейронные сети - ДВ
|
||||
Два основных направления исследование по ИИ:
|
||||
1) Моделирование результатов естественного мышления
|
||||
- Важнее всего результат
|
||||
- Хорошее совпадение поведения Искусственно-созданных и естественных интеллектуальных систем
|
||||
- Внутренние механизмы не важны
|
||||
1) Моделирование механизмов естественного мышления
|
||||
|
||||
*В первой точке зрения* рассматривается продукт интеллектуальной деятельности человека, изучается его структура и ставится цель воспроизвести этот продукт средствами современной техники (машинный интеллект).
|
||||
(Системы нечеткого вывода, экспертные системы, построенные по принципу **баз знаний**)
|
||||
|
||||
*Во втором* направлении рассматриваются данные о нейрофизиологических и психологических механизмах интеллектуальной деятельности и разумного поведения человека. Ставится цель воспроизвести эти механизмы с помощью тех или иных технических устройств.
|
||||
(Рассматривают принципы функционирования и попытки смоделировать эти принципы, например, *нейронные сети*)
|
||||
|
||||
![[Pasted image 20260410103922.png]]
|
||||
|
||||
Входные сигналы дендритного дерева взвешиваются и суммируются на пути к аксонам, где генерируется выходной импульс. Выходной сигнал передается (проходит) по ветвям аксона, достигает синапсов, которые соединяют аксоны с дендритами других нейронов.
|
||||
|
||||
Нейроны бывают:
|
||||
1) Рецепторные - обеспечивают ввод в мозг сенсорной информации, поступающей от органов чувств;
|
||||
2) Промежуточные - трансформируют сигналы, поступившие от рецепторов (рецепторных нейронов) и передают их эффекторным;
|
||||
3) Эффекторные - отображают необходимое действие.
|
||||
|
||||
В 40-х годах прошлого столетия, человечество задумалось о возможности моделировать умственный процесс человека с помощью ЭВМ.
|
||||
В 1957 году появляется примитивная модель - Персептрон Розенблатта.
|
||||
|
||||
С 70-х годов началось бурное развитие этого направления.
|
||||
|
||||
Основной задачей стала задача распознавания образом (первичной - распознавание образов букв)
|
||||
Самой сложной задачей является задача классификации (например, задачей распознавания лиц)
|
||||
|
||||
Искусственный нейрон состоит из элементов тех типов:
|
||||
- Умножители (синапсы)
|
||||
- Сумматоры
|
||||
- Нелинейные преобразователи
|
||||
|
||||
![[Pasted image 20260410105854.png]]
|
||||
|
||||
Функцию активации ещё часто называют блоком нелинейного преобразования
|
||||
![[Pasted image 20260410110002.png]]
|
||||
|
||||
При этом, к $S$ может прибавляться некоторое смещение, называемое *порогом срабатывания нейрона*: $S = \sum\limits_{i=1}^{n}\omega_{i}*x_{i}+b$
|
||||
|
||||
Функцией активации нейрона, как правило, является *сигмоида*.
|
||||
|
||||
![[Pasted image 20260410110555.png]]
|
||||
|
||||
Для производной логистической функции верно следующее:
|
||||
$f^{'}(x)=a*f(x)*(1-f(x))$
|
||||
Следовательно значение произвольной функции вычисляется через её значение.
|
||||
Если $a=1$, то это превращается в $y^{'}=y*(1-y)$
|
||||
![[Pasted image 20260413130714.png]]
|
||||
В качестве активационной функции также часто используется гиперболический тангенс.
|
||||
$$th(x)= \frac{sh(x)}{ch(x)}=\frac{e^{x}-e^{-x}}{e^{x}+e^{-x}}=\frac{e^{2x}-1}{e^{2x}+1}$$
|
||||
Подобно логистической функции гиперболический тангенс является s-образной функцией, но он симметричен относительно начала координат, и в точке 0 значение выходного сигнала равно нулю.
|
||||
|
||||
## Функция активации сети Хопфилда
|
||||
$$y_{i} = \begin{cases} 1, \\ -1 \end{cases}$$
|
||||
|
||||
![[Pasted image 20260413131243.png]]
|
||||
|
||||
Бинарная функция:
|
||||
1, если S больше порога
|
||||
0, если S < порога ($\theta$)
|
||||
|
||||
## Модели нейронных сетей
|
||||
### Персептрон
|
||||
\- *Персептрон*, или *перцептрон* (англ. perceptron от лат. perceptio — восприятие; нем. perzeptron) — математическая и компьютерная модель восприятия информации мозгом (кибернетическая модель мозга), предложенная Фрэнком Розенблаттом в 1957 году и реализованная в виде электронной машины "Марк-1" в 1960 году.
|
||||
|
||||
Любая нейронная сеть осуществляет некоторое нелинейное преобразование: $Y=F(X)$
|
||||
|
||||
Сущность нелинейного преобразования зависит от архитектуры сети и от характеристик самих нейронов (функции активации)
|
||||
|
||||
Нейронные сети в процессе функционирования осуществляется преобразование входного вектора $X$ в элементами $x_{1}, x_{2},\dots, x_{n}$ в выходной вектор $Y$ с компонентами $y_{1},\dots, y_{m}$
|
||||
Конкретный вид, выполняемого сетью преобразования, зависит от архитектуры сети и от характеристик отдельных нейронов.
|
||||
Преимущество НС - <u>обучаемость</u>.
|
||||
|
||||
Внутри сети могут быть представлены в виде совокупности матриц весов.
|
||||
Суть обучения сводится к настройке весов ($W$), чтобы для заданног вектора X из обуч. выборки, чтобы на выходе получить наиболее близкий вектор Y.
|
||||
|
||||
Процесс обучения с учителем:
|
||||
$X^{1} \to D^{1} \approx Y^{1}$
|
||||
$X^{2} \to D^{2}$
|
||||
$\vdots$
|
||||
$X^{p} \to D^{p}$
|
||||
|
||||
Задача классификации, задача кластеризации и задача прогнозирования - решаются с помощью НС.
|
||||
|
||||
Персептрон - *один* слой искусственных нейронов.
|
||||
|
||||
Перспептрон решает задачу линейной разделимости:
|
||||
Разбиение гиперпространства гиперплоскостями.
|
||||
|
||||
# Алгоритм обратного распространения ошибки
|
||||
|
||||
$y` = y*(1-y)$
|
||||
@@ -0,0 +1,28 @@
|
||||
---
|
||||
status: seed
|
||||
type: concept
|
||||
tags: []
|
||||
created: 2025-12-17
|
||||
updated: 2026-04-17
|
||||
title:
|
||||
---
|
||||
## Функция активации $f$
|
||||
$$u_{i} = (\sum\limits_{i=0}^{n} w^{1}_{ij}*x_{j})$$
|
||||
$$y_{l}=f(\sum\limits_{i=1}^{k}w_{li}^{2}u_{i})$$
|
||||
$$y_{l}=f(\sum\limits_{i=0}^{k}w_{li}^{2}\ f(\sum\limits^{N}_{j=1}w_{ij}^{(1)}x_{j})),\ l=\overline{1,m}$$
|
||||
## Алгоритм обратного распространения ошибки
|
||||
- итеративный градиентный алгоритм обучения, который используется с целью минимизации среднеквадратичного отклонения текущих от требуемых выходов многослойных нейронных сетей с последовательными связями.
|
||||
- На каждом шаге алгоритма на вход сети поочередно подаются все обучающие примеры, реальные выходные значения сети сравниваются с требуемыми значениями, и вычисляется ошибка.
|
||||
- Значение ошибки, а также градиента поверхности ошибок используется для корректировки весов, после чего все действия повторяются.
|
||||
- Процесс обучения прекращается либо когда пройдено определенное количество шагов обучения, либо когда ошибка достигнет некоторого определенного малого уровня
|
||||
|
||||
Минимизация ошибки происходит методом градиентного спуска (итеративный метод приближения к точке минимума функции)
|
||||
$$w_{ij}(t+1)=w_{ij}(t)-\alpha*\frac{\delta E(k)}{\delta w_{ij}(t)},$$$$i=\overline{1,n},\ j=\overline{1,p}$$Здесь $w_{ij}$ - весовой коэффициент синаптической связи, соединяющий $i$-ый нейрон слоя $n-1$ с $j$-ым нейроном слоя $n$.
|
||||
|
||||
$\alpha$ - коэффициент скорости обучения ($0 < \alpha < 1$)
|
||||
$E$ - среднеквадратичная ошибка сети для одного из $p$ образов, определяемая по формуле: $$E=\frac{1}{2}\sum\limits_{l=1}^{m}(y_{l}-d_{l})^{2}$$
|
||||
![[Pasted image 20260417105754.png|536]]
|
||||
|
||||
![[Pasted image 20260417105833.png|540]]
|
||||
|
||||
|
||||
@@ -0,0 +1,285 @@
|
||||
---
|
||||
status: seed
|
||||
type: concept
|
||||
tags: []
|
||||
created: 2025-12-17
|
||||
updated: 2026-03-28
|
||||
title: Экономическая безопасность
|
||||
---
|
||||
|
||||
# Экономическая безопасность
|
||||
**Экономическая безопасность** - это состояние защищенности экономики от внешних и внутренних угроз, позволяющее стране развиваться самостоятельно и стабильно.
|
||||
|
||||
Уровни ЭБ:
|
||||
1) Международная
|
||||
1) Глобальная
|
||||
2) Региональная
|
||||
2) Национальная
|
||||
1) Государства
|
||||
2) Региона
|
||||
3) Общества
|
||||
4) Частная
|
||||
1) Предприятия (микро-уровень)
|
||||
2) Домохозяйств
|
||||
3) Личности
|
||||
|
||||
Основные этапы развития:
|
||||
1) Древность - Средневековье: защита караванов, госрегулирование цен, контроль за зерном, протекционизм
|
||||
2) Новое время: меркантилизм, колониальная экспансия.
|
||||
3) Индустриализация: паровые двигатели, революция, ЖД, ЦБ, биржи.
|
||||
4) 20-ый век: мировые войны, Великая депрессия, госпланирование, Бреттон-Вудская система (МВФ, Всемирный банк)
|
||||
5) Современность: глобализация, цифровизация, новые вызовы.
|
||||
|
||||
**Неоколониализм** - система неравноправных отношений, в основе которых лежит экономическая экспансия в виде косвенного контроля.
|
||||
|
||||
Термин "**Экономическая безопасность**" впервые был употреблен Ф.Рузвельтом в 1934 г.
|
||||
В России он появился в 1994 г., а в 1996 г. была принята первая Гос.Стратегия ЭБ.
|
||||
|
||||
**Объект ЭБ** - *экономическая система* в целом, и её составляющие (институциональные преобразования личности), способствующие повышению уровня ЭБ.
|
||||
|
||||
**Субъект ЭБ** - *государство* через *институты*.
|
||||
|
||||
**Предмет ЭБ** - *методы*, *инструменты* и *механизмы*, отвечающие требованиям ЭБ.
|
||||
|
||||
Структура ЭБ:
|
||||
1) Концепция и стратегия
|
||||
2) Национальные интересы
|
||||
3) Угрозы в экономике
|
||||
4) Индикаторы и пороги
|
||||
5) Меры по обеспечению безопасности
|
||||
|
||||
Нормативная база:
|
||||
- Конституция и кодексы (НК, БК, УК и др.)
|
||||
- Федеральные законы № 390, № 172, др.
|
||||
- Указы Президента
|
||||
|
||||
Ключевые понятия из *Стратегии ЭБ*:
|
||||
- **Национальная безопасность** - защищенность нац. интересов.
|
||||
- **Национальные интересы** - объективно значимые потребности личности, общества и государства.
|
||||
- **Стратегические национальные приоритеты** - основные направления нац. безопасности и устойчивого развития РФ.
|
||||
- **Угроза НБ** - совокупность условий и факторов, создающие прямую или косвенную возможность причинения ущерба нац. интересам РФ.
|
||||
- **Система обеспечения НБ** - совокупность органов власти (осуществляющих обеспечение ЭБ) и их инструментов.
|
||||
|
||||
Нац. интересы:
|
||||
- Повышение качества жизни граждан
|
||||
- Защита суверенитета и территориальной целостности
|
||||
- Развитие безопасного информационного пространства
|
||||
- Др.
|
||||
|
||||
**Экономический суверенитет** - объективная независимость государства во внешней и внутренней экономической политике.
|
||||
|
||||
**Нац. интересы в эк. сфере** - значимые потребности страны для обеспечения *стратегических приоритетов* РФ.
|
||||
|
||||
Уровни опасности ЭБ:
|
||||
1) *Вызов* - факторы, которые могут привести к угрозе.
|
||||
2) *Угроза* - факторы, создающие возможность нанесения ущерба.
|
||||
3) *Риск* - возможность нанесения ущерба, в связи с реализацией угрозы.
|
||||
4) *Опасность* - реализация вызов, угроз и рисков, сопровождаемая разрушением системы.
|
||||
|
||||
**Виды угроз:**
|
||||
- внешние/внутренние
|
||||
- постоянные/разовые
|
||||
- реальные/потенциальные
|
||||
- активные/пассивные
|
||||
- явные/скрытые
|
||||
- всеобщие/локальные
|
||||
- прогнозируемые/непрогнозируемые
|
||||
- естественные/антропогенные
|
||||
|
||||
**Меры противодействия**:
|
||||
- по выявлению
|
||||
- по предупреждению
|
||||
- по обнаружению
|
||||
- по локализации
|
||||
- по устранению последствий
|
||||
|
||||
**Государственное регулирование экономики** - целенаправленная деятельность государства в лице соответствующих гос. органов, обеспечивающих *достижение* стратегических целей, и *регламетирующих* хоз. отношений в обществе.
|
||||
|
||||
Формы гос. регулирования экономики:
|
||||
1) Прямые:
|
||||
- Создание гос. сектора
|
||||
- Перераспределение ресурсов/доходов
|
||||
- Защита основ рыночной экономики (ФАС)
|
||||
- Информирование населения о состоянии экономики
|
||||
1) Косвенные:
|
||||
- Фискальная политика - налогообложение, расходы и бюджет.
|
||||
- Монетарная политика - контроль над денежной массой.
|
||||
- Внешнеэкономическая политика - экономические отношение с другими субъектами мировой экономики.
|
||||
|
||||
**Бюджетно-налоговое регулирование** - совокупность средств, направленных на аккумуляцию и распределение фин. ресурсов.
|
||||
|
||||
**Денежно-кредитная политика** - политика воздействия на количестве денег в обращении с целью обеспечения стабильности цен, полной занятости населения и роста объема производства. (осуществляет ЦБ)
|
||||
|
||||
**Платежный баланс** - баланс, отражающий соотношение поступлений, полученных из-за границы и платежей за границу за период времени.
|
||||
|
||||
**Денежная масса** - наличные деньги и безналичные денежные средства резидентов РФ.
|
||||
**Денежные агрегаты** - это статистические показатели структуры и объема денежной массы.
|
||||
- *M0* - наличные деньги в обращении
|
||||
- *M1* - Переводные депозиты
|
||||
- *M2* - другие депозиты
|
||||
- *Широкая денежная масса* - депозиты в валюте, сберегательные сертификаты.
|
||||
|
||||
Функции государства в экономике:
|
||||
- Распределительная и перераспределительная - сокращение различий в размерах доходов между субъектами.
|
||||
- Стимулирующая - связана с активацией сил, движущих развитие общества.
|
||||
- Контрольная - контроль за соблюдением правил и норм.
|
||||
|
||||
**Госдолг к ВВП** применяется для объективного и достоверного сравнения уровня долговой нагрузки различных стран мира.
|
||||
|
||||
**Торговый баланс** - отношение экспорта к импорту, результатом является *Сальдо*.
|
||||
|
||||
Фазы развития экономики между кризисами:
|
||||
1) Возрождение (Рост ВВП, снижение инфляции)
|
||||
2) Развитие (Рост ВВП, рост инфляции)
|
||||
3) Нокдаун (Снижение ВВП, рост инфляции)
|
||||
4) Охлаждение (Снижение ВВП, снижение инфляции)
|
||||
|
||||
**Составляющие ЭБ** - структурные элементы нац. системы ЭБ.
|
||||
1) Финансовая составляющая
|
||||
2) Демографическая
|
||||
3) Энергетическая
|
||||
4) Социальная
|
||||
5) ...
|
||||
|
||||
Порядок оценки:
|
||||
1) Критерии ЭБ - качественные признаки
|
||||
2) Индикаторы
|
||||
3) Показатели - количественное выражение индикаторов
|
||||
4) Пороговые значения - болевые точки экономики
|
||||
|
||||
**Финансовая безопасность** - устойчивое функционирование финансовой системы страны.
|
||||
|
||||
**Производственная (промышленная) безопасность** - способность индустрии устойчиво осуществлять расширенное воспроизводство.
|
||||
|
||||
*Расширенное воспроизводство* - непрерывный процесс производства экономических благ в увеличенных размерах.
|
||||
|
||||
**Продовольственная безопасность** - постоянная доступность достаточного количества продовольствия для поддержания активной жизни населения.
|
||||
|
||||
**Социальная б.** - состояние защищенности личности, групп и общности от угроз.
|
||||
|
||||
**Демографическая б.** - состояние защищенности жизни и воспроизводства населения.
|
||||
|
||||
**Экологическая б.** - состояние защищенности государства от последствий воздействия на окружающую среду.
|
||||
|
||||
**Энергетическая б.** - состояние защищенности государства от угроз дефицита энергоносителей и бесперебойности энергоснабжения.
|
||||
|
||||
**Внешнеэкономическая б.** - защищенность нац. интересов от внешних вызовов.
|
||||
|
||||
**Инвестиционная б.** - суверенитет процессов и отраслей от иностранного капитала.
|
||||
|
||||
**Инновационная б.** - способность обеспечить уровень развития инновационной системы, необходимого для стабильности функционирования страны.
|
||||
|
||||
**Научно-техническая б.** - состояние защищенности научно-технического потенциала страны.
|
||||
|
||||
**Финансы**:
|
||||
- в широком смысле - система отношений в обществе по поводу образования, распределения и использования денежных фондов.
|
||||
- узком - совокупность отношений, организованных государством, осуществляются формирование, использования фондов денежных средств.
|
||||
|
||||
**Функции финансов:**
|
||||
- Распределительная
|
||||
- Контрольная
|
||||
- Регулирующая
|
||||
- Стабилизирующая
|
||||
- Фискальная
|
||||
- Стимулирующая
|
||||
|
||||
Субъекты ФБ:
|
||||
- Международные и национальные инстиутуты
|
||||
- Президент РФ, органы гос. власти, регионов РФ и местного самоуправления
|
||||
- ЦБ РФ, ЮЛ и ФЛ
|
||||
|
||||
Предмет:
|
||||
- Деятельность субъектов ФБ
|
||||
- Методы, инструменты и технологии ФБ
|
||||
|
||||
Объекты фин. безопасности:
|
||||
1) Централизованные денежные фонды (формируются государством)
|
||||
- Бюджеты (федеральный, региональный, местный)
|
||||
- Внебюджетные фонды (пенсионный, социальный, медицинский)
|
||||
1) Децентрализованный ДФ
|
||||
- Юридических лиц (уставные, резервные, депозиты ФЛ)
|
||||
- Физических лиц (финансы самозанятых, инвестиции, вклады)
|
||||
|
||||
Индикаторы ФБ:
|
||||
- Индекс денежной массы
|
||||
- Уровень инфляции
|
||||
- Внешний долг
|
||||
- Оборот розничной торговли
|
||||
- ...
|
||||
|
||||
Угрозы ФБ:
|
||||
1) Внешние
|
||||
- Утрата внешнеэкономических позиций
|
||||
- Противодействие равноправному участию РФ в международной торговле
|
||||
- ...
|
||||
1) Внутренние
|
||||
- Недостаточность гос. контроля
|
||||
- Отсутствие соц. ориентированности экономики
|
||||
|
||||
Меры защиты:
|
||||
1) Концептуально-методические (зарубежный опыт, НИРы, системы индикаторов)
|
||||
2) Финансово-экономические (законодательные гарантии надежности фин. системы, контроль за исполнением фин. обязательств субъектов)
|
||||
3) Организационно-технологические (повышение надежности тех. процессов и операций)
|
||||
|
||||
Индикаторы внешнеэкономической безопасности:
|
||||
- Госдолг
|
||||
- Чистый ввоз (вывоз) капитала
|
||||
- Сальдо торгового баланса
|
||||
- ...
|
||||
|
||||
**Глобализация мировой экономики** - процесс объединения мирового экономического пространства со свободным перемещением ресурсов.
|
||||
|
||||
Угрозы ФБ в условиях глобализации:
|
||||
1) Неравномерное распределение благ.
|
||||
2) Трудности конкурирования отечественного производителя с импортом.
|
||||
3) Потеря суверенитета экономики
|
||||
4) Сужение рамок для экономической политики
|
||||
|
||||
Возможности:
|
||||
1) Импульс для развития технологий
|
||||
2) Необходимость усиления для конкурентоспособности
|
||||
3) Рационализация производства
|
||||
4) Увеличение числа фин.инструментов
|
||||
|
||||
ОД/ФТ/ФРОМУ как угроза ФБ:
|
||||
1) Подрыв основ легального бизнеса
|
||||
2) Искажение целевого влияния органов власти
|
||||
3) Деформация структурных изменений в экономике
|
||||
Специфические аспекты развития ОПГ: интенсивный, экстенсивный
|
||||
|
||||
Льготные налоговые и офшорные режимы
|
||||
Цели:
|
||||
- Снижение налогов
|
||||
- Охрана экономических активов, размещая их в наиболее безопасных условиях
|
||||
- Аккумулирование и накопление финансов
|
||||
- Снижение рисков
|
||||
- ОД/ФТ/ФРОМУ
|
||||
Функции:
|
||||
1) Банкинг
|
||||
2) Страхование
|
||||
3) Оформление воздушных и водных судов
|
||||
4) Инвестирование
|
||||
|
||||
Деофшоризация - система, направленная против сокрытия доходов компаний, находящихся в офшорах.
|
||||
|
||||
**Реальный сектор экономики** - совокупность отраслей экономики материальных и нематериальных товаров и услуг, за исключением финансовых и биржевых операций.
|
||||
|
||||
Примеры РСЭ:
|
||||
- Топливно-энергитический комплекс
|
||||
- АПК
|
||||
- Металлургический
|
||||
- Лесопромышленный
|
||||
|
||||
Угрозы развития РСЭ:
|
||||
1) Спад (стагнация)
|
||||
2) Структурная деформированность
|
||||
3) Высокий возрастной уровень
|
||||
4) ...
|
||||
|
||||
**Промышленная политика** - совокупность политик в области сектора услуг и их инструментов, интегрально воздействующих на экономику.
|
||||
|
||||
Подходы к ПП:
|
||||
1) Традиционная (вертикальная)
|
||||
2) Новая (горизонтальная)
|
||||
|
||||
**Строительная политика** - курс государства по поощрению практики, связанной с капитальным и жилым строительством.
|
||||
@@ -0,0 +1,41 @@
|
||||
---
|
||||
status: stable
|
||||
type: lab
|
||||
tags:
|
||||
- admin
|
||||
- network
|
||||
updated: 2026-02-27
|
||||
title: CA И NGINX
|
||||
created: 2025-12-17
|
||||
---
|
||||
|
||||
# CA И NGINX
|
||||
При запросе в локальный центр сертификации Microsoft, он выдает два файла:
|
||||
|
||||
1. certnew.cer - сертификат
|
||||
2. certnew.p7b - цепочка сертификатов
|
||||
|
||||
Для работы в Nginx необходимо их перевернуть в pem-формат.
|
||||
|
||||
Если экспортированы они в base64, то cer уже в нужном формате, а p7b надо разделить на блоки:
|
||||
|
||||
```text
|
||||
openssl pkcs7 -print_certs -in certnew.p7b -out chain.pem
|
||||
```
|
||||
|
||||
И надо объединить их в одну цепочку сертификатов:
|
||||
|
||||
```text
|
||||
cat certnew.cer chain.pem > fullchain.pem
|
||||
```
|
||||
|
||||
Далее в конфигурации Nginx:
|
||||
|
||||
```text
|
||||
...
|
||||
server {
|
||||
ssl_certificate /path/to/fullchain.pem
|
||||
ssl_certificate_key /path/to/server.key
|
||||
}
|
||||
...
|
||||
```
|
||||
@@ -0,0 +1,34 @@
|
||||
---
|
||||
status: stable
|
||||
type: concept
|
||||
tags:
|
||||
- devops
|
||||
created: 2026-02-13
|
||||
updated: 2026-02-27
|
||||
title: Ansible - Основы
|
||||
---
|
||||
|
||||
# Ansible - Основы
|
||||
|
||||
**Ansible** - инструмент автоматизации развертывания и оркестрации инфраструктуры.
|
||||
|
||||
**Характеристики**
|
||||
|
||||
- **Безагентский**: не требует установки ПО на управляемых хостах (использует SSH).
|
||||
- Язык описания задач — YAML: декларативный и простой в чтении (формат playbook).
|
||||
- **Idempotency**: повторное выполнение не меняет результат, если всё уже настроено.
|
||||
|
||||
## Основные Понятия
|
||||
|
||||
|Term|Def|
|
||||
|---|---|
|
||||
|Playbook|Декларативное описание инфраструктуры, с которой работает в декларативном ключе|
|
||||
|Inventory|Файл инвентаризации, призван отслеживать хосты, к которым мы <br>применяем свои команды и сценарии|
|
||||
|Include|Конструкция, позволяющая переиспользовать уже написанные структуры кода (tasks, playbooks, handlers, vars)|
|
||||
|Task|Единица работы, которая описывается в плейбуке и выполняется <br>во время запуска на исполнение|
|
||||
|Handlers|Обработчики, которые позволяют выполнить некоторую описанную <br>задачу после выполнения другой задачи (вызов через _**notify**_)|
|
||||
|Tags|Механизм тегирования (присвоения меток) задачам (Tasks) и ролям <br>(Roles), позволяющий запускать в плейбуке только те задачи и роли, которые <br>помечены определенной меткой (тегом)|
|
||||
|Vars|Переменные могут быть заданы во время сбора фактов при запуске плейбука <br>или указаны вручную.|
|
||||
|Role|Сборник плейбуков|
|
||||
|Module|Минимальная единица действия - набор действий, встроенных в Ansible|
|
||||
|Facts|Автоматически собираемая с машин информация|
|
||||
@@ -0,0 +1,52 @@
|
||||
---
|
||||
status: stable
|
||||
type: concept
|
||||
tags:
|
||||
- devops
|
||||
updated: 2026-02-27
|
||||
title: Fail2Ban - Ansible
|
||||
created: 2025-12-17
|
||||
---
|
||||
|
||||
# Fail2Ban - Ansible
|
||||
|
||||
**Fail2ban** — это система защиты от brute-force атак (например, перебора паролей по SSH, FTP, веб-панелям). Она анализирует лог-файлы и временно блокирует IP-адреса, с которых замечена подозрительная активность.
|
||||
|
||||
## Установка С Помощью Средств Ansible
|
||||
|
||||
Образец конфига `jail.local`
|
||||
|
||||
```text
|
||||
[sshd]
|
||||
enabled = true
|
||||
port = ssh
|
||||
logpath = /var/log/auth.log
|
||||
maxretry = 5
|
||||
bantime = 3600
|
||||
findtime = 600
|
||||
```
|
||||
|
||||
```text
|
||||
- name: Установка и настройка Fail2ban
|
||||
hosts: all
|
||||
become: true
|
||||
tasks:
|
||||
- name: Установить fail2ban
|
||||
apt:
|
||||
name: fail2ban
|
||||
state: present
|
||||
|
||||
- name: Копировать конфиг jail.local
|
||||
template:
|
||||
src: jail.local.j2
|
||||
dest: /etc/fail2ban/jail.local
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: Перезапустить fail2ban
|
||||
service:
|
||||
name: fail2ban
|
||||
state: restarted
|
||||
enabled: true
|
||||
```
|
||||
@@ -0,0 +1,83 @@
|
||||
---
|
||||
status: stable
|
||||
type: concept
|
||||
tags:
|
||||
- devops
|
||||
updated: 2026-02-27
|
||||
title: Inventory - Ansible
|
||||
created: 2025-12-17
|
||||
---
|
||||
|
||||
# Inventory - Ansible
|
||||
|
||||
Особенности Ansible:
|
||||
|
||||
1. Подключение по SSH
|
||||
2. Agentless - нет программ на клиентах
|
||||
|
||||
Структура файла `hosts.ini`
|
||||
|
||||
```text-xml
|
||||
192.168.0.1
|
||||
192.168.0.2
|
||||
|
||||
[web] # группа серверов
|
||||
192.168.0.3
|
||||
192.168.0.4
|
||||
```
|
||||
|
||||
Можно использовать псевдонимы, вместо ip
|
||||
|
||||
```text
|
||||
app ansible_host=ip_server1
|
||||
db ansible_host=ip_server2
|
||||
web ansible_host=ip_server3
|
||||
```
|
||||
|
||||
Другие полезные параметры **inventory**:
|
||||
|
||||
- `ansible_connection: ssh/winrm/local/docker` - тип подключения к серверу
|
||||
- `ansible_port: 22/5986` - порт подключения
|
||||
- `ansible_user: root` - логин для входа по ssh (или др.)
|
||||
- `ansible_ssh_pass: password` или `ansible_password: password` - пароль для входа по ssh.
|
||||
|
||||
Группы для объединения групп:
|
||||
|
||||
```text
|
||||
[mail_internal]
|
||||
mail1.serv
|
||||
|
||||
[mail_external]
|
||||
mail2.serv
|
||||
|
||||
[mail_all:children]
|
||||
mail_internal
|
||||
mail_external
|
||||
```
|
||||
|
||||
Помимо `ini`-формата, можно использовать YAML-файлы:
|
||||
|
||||
```yaml
|
||||
all:
|
||||
children:
|
||||
webservers:
|
||||
hosts:
|
||||
web1.example.com:
|
||||
ansible_host: 192.168.1.10
|
||||
ansible_user: admin
|
||||
web2.example.com:
|
||||
ansible_host: 192.168.1.11
|
||||
vars:
|
||||
ansible_port: 22
|
||||
ansible_python_interpreter: /usr/bin/python3
|
||||
|
||||
databases:
|
||||
hosts:
|
||||
db1.example.com:
|
||||
db2.example.com:
|
||||
|
||||
production:
|
||||
children:
|
||||
webservers:
|
||||
databases:
|
||||
```
|
||||
@@ -0,0 +1,74 @@
|
||||
---
|
||||
status: stable
|
||||
type: concept
|
||||
tags:
|
||||
- devops
|
||||
updated: 2026-02-27
|
||||
title: Loops - Ansuble
|
||||
created: 2025-12-17
|
||||
---
|
||||
|
||||
# Loops - Ansuble
|
||||
|
||||
Для перебора значений в модулях Ansbible используются две конструкции:
|
||||
|
||||
1. `loop` - универсален, используется, когда перебираемые значения - это строки в словаре (`user = { name: Boris; age: 22 }`)
|
||||
2. Директива `with_*` - где `*` - обозначение конкретного итератора
|
||||
|
||||
## Loop
|
||||
|
||||
```text
|
||||
-
|
||||
name: Цикл
|
||||
hosts: all
|
||||
tasks:
|
||||
-
|
||||
name: Цикл loop для создания пользователя
|
||||
user:
|
||||
name: '{{ item.name }}'
|
||||
age: '{{ item.age }}'
|
||||
uid: '{{ item.uid }}'
|
||||
loop:
|
||||
- name: Boris
|
||||
age: 22
|
||||
uid: 1011
|
||||
- name: Anna
|
||||
age: 23
|
||||
uid: 1012
|
||||
...
|
||||
```
|
||||
|
||||
## with_
|
||||
|
||||
```text
|
||||
-
|
||||
name: Цикл
|
||||
hosts: all
|
||||
tasks:
|
||||
-
|
||||
name: Цикл with для создания пользователя
|
||||
user:
|
||||
name: '{{ item }}'
|
||||
age: '{{ item }}'
|
||||
uid: '{{ item }}'
|
||||
with_items:
|
||||
- name: Boris
|
||||
- name: Anna
|
||||
...
|
||||
```
|
||||
|
||||
```text
|
||||
-
|
||||
name: 'Print list of fruits'
|
||||
hosts: localhost
|
||||
vars:
|
||||
fruits:
|
||||
- Apple
|
||||
- Banana
|
||||
- Grapes
|
||||
- Orange
|
||||
tasks:
|
||||
-
|
||||
command: 'echo "{{ item }}"'
|
||||
with_items: '{{ fruits }}'
|
||||
```
|
||||
@@ -0,0 +1,89 @@
|
||||
---
|
||||
status: stable
|
||||
type: concept
|
||||
tags:
|
||||
- devops
|
||||
updated: 2026-02-27
|
||||
title: Modules - Ansible
|
||||
created: 2025-12-17
|
||||
---
|
||||
|
||||
# Modules - Ansible
|
||||
|
||||
## Module Command
|
||||
|
||||
Выполнение команды на удаленном узле.
|
||||
|
||||
```yaml
|
||||
- name: Display home directory
|
||||
command: ls ~/
|
||||
```
|
||||
|
||||
У самих команд могут быть параметры, например
|
||||
|
||||
```yaml
|
||||
command: cat resolv.conf chdir=/etc # ansible сначала убедится, что мы в директории /etc или перейдет в неё, а затем выполнит команду cat
|
||||
|
||||
command: mkdir /folder creates=/folder # ansible создаст папку только в том случае, если её не существует
|
||||
```
|
||||
|
||||
# Module Script
|
||||
|
||||
Выполняет скрипт, находящийся на хост-контроллере
|
||||
|
||||
```yaml
|
||||
-
|
||||
name: Тестовый плейбук со скриптом
|
||||
hosts: all
|
||||
tasks:
|
||||
- name: Запуск скрипта с хоста
|
||||
script: /root/script.sh -arg1 -arg2
|
||||
```
|
||||
|
||||
## Module LineInFile
|
||||
|
||||
Записывает указанную строку в конец указанного файла _если точнее, ansible убеждается в наличии такой строки, но если её нет, то записывает в конец_
|
||||
|
||||
```yaml
|
||||
-
|
||||
name: Тестовый плейбук
|
||||
hosts: all
|
||||
tasks:
|
||||
- lineinfile:
|
||||
path: /etc/resolv.conf
|
||||
line: 'nameserver 10.1.250.10'
|
||||
```
|
||||
|
||||
## Module Service
|
||||
|
||||
Работает с сервисами сервера (systemd)
|
||||
|
||||
```yaml
|
||||
-
|
||||
name: 'Execute a script on all web server nodes'
|
||||
hosts: web_nodes
|
||||
tasks:
|
||||
-
|
||||
name: 'Start httpd service on web server nodes'
|
||||
service:
|
||||
state: started
|
||||
```
|
||||
|
||||
## User
|
||||
|
||||
> ansible.builtin.user
|
||||
|
||||
Работа с пользователями системы (linux)
|
||||
|
||||
```yaml
|
||||
-
|
||||
name: 'Create new user'
|
||||
hosts: all
|
||||
tasks:
|
||||
-
|
||||
name: 'Create user John'
|
||||
user:
|
||||
name: John
|
||||
uid: 1040
|
||||
group: dev
|
||||
```
|
||||
@@ -0,0 +1,51 @@
|
||||
---
|
||||
status: stable
|
||||
type: concept
|
||||
tags:
|
||||
- devops
|
||||
updated: 2026-02-27
|
||||
title: Playbooks - Ansible
|
||||
created: 2025-12-17
|
||||
---
|
||||
|
||||
# Playbooks - Ansible
|
||||
|
||||
- Playbook - отдельный yml файл.
|
||||
|
||||
_Module_ - любое атомарное действие в Ansible.
|
||||
|
||||
Запуск playbook:
|
||||
|
||||
```text
|
||||
ansible-playbook playbook.yml
|
||||
```
|
||||
|
||||
Существует возможность запуска каких-то модулей без использования playbook Например, можно провести `ping` какой-то машины с хоста с помощью команды:
|
||||
|
||||
```text
|
||||
ansible node1 -m ping
|
||||
```
|
||||
|
||||
В общем случае, для любого модуля:
|
||||
|
||||
```text
|
||||
ansible <hosts> -m <module>
|
||||
```
|
||||
|
||||
Также можно на узле выполнить команду:
|
||||
|
||||
```text
|
||||
ansible <hosts> -a <command>
|
||||
```
|
||||
|
||||
Например
|
||||
|
||||
```text
|
||||
ansible all -a "/sbin/reboot"
|
||||
```
|
||||
|
||||
Если необходимо отладить сценарий можно добавить к команде `-vv`
|
||||
|
||||
```text
|
||||
ansible-playbook playbook.yml -vv
|
||||
```
|
||||
@@ -0,0 +1,66 @@
|
||||
---
|
||||
status: stable
|
||||
type: concept
|
||||
tags:
|
||||
- devops
|
||||
updated: 2026-03-01
|
||||
title: DevOps - основы
|
||||
created: 2025-12-17
|
||||
---
|
||||
|
||||
# DevOps - Основы
|
||||
|
||||
Конспект урока: [Devops вводный 1 урок. Что такое Devops и история его развития.pdf](#root/4yWHzaG6M7iE/SWLwobVesSih/pRoFr75wb413/O6DeMoaS4kWb)
|
||||
|
||||
## Возникновение DevOps
|
||||
|
||||
**DevOps** - _методология взаимодействия_ специалистов по разработке с экспертами по информационно-технологическому обслуживанию, а также взаимная интеграция их рабочих процессов для обеспечения высокого качества продукта.
|
||||
|
||||
### Инфраструктура Как Код (IaC)
|
||||
|
||||
Подход к развертыванию, работе и настройке инфраструктуры в виде файлов конфигурации и систем управления конфигурацией.
|
||||
|
||||
DevOps-инженер управляет инфраструктурой и конфигурацией с помощью декларативных подходов.
|
||||
|
||||
- Управление инфраструктурой
|
||||
- Стандартизация образов
|
||||
- Использование инструментов для декларативного управления инфраструктурой, конфигурацией и сервисами (Ansible, Terraform).
|
||||
|
||||
[[IaC - основы]]
|
||||
|
||||
### Непрерывная Сборки И Доставка (развертывание) (CI/CD)
|
||||
|
||||
Методология разработки и деплоя, подразумевающая автоматическую сборку, тестирование и развертывание программного кода.
|
||||
|
||||
- Технологии контейнеризации (Docker, Podman)
|
||||
- Микросервисная архитектура
|
||||
- Обеспечение непрерывной доставки продукта
|
||||
- Обеспечение безопасности контейнеров и микросервисов
|
||||
|
||||
### Мониторинг, Логирование, Аудит, Трассировка
|
||||
|
||||
- Принципы работы систем мониторинга
|
||||
- Инструменты логирования и аудита
|
||||
- Сбор и обработка логов приложений и инфраструктуры
|
||||
- Трассировка приложений в контексте взаимодействия с командами разработки
|
||||
|
||||
### Контейнерная Оркестрация
|
||||
|
||||
- Оркестрация контейнерных и неконтейнерных нагрузок
|
||||
- Обеспечение ИБ контейнеров и оркестраторов
|
||||
- Развертывание и администрирование высоконагруженных кластеров
|
||||
- Интеграция оркестраторов с инструментами CI/CD
|
||||
|
||||
## Инструментарий
|
||||
|
||||
1. Системы контроля версий (Git, SVC)
|
||||
2. CI/CD (**Gitlab Ci**, Jenkins, Teamcity)
|
||||
3. Контейнеризация (**Docker**, Podman, Cri-o)
|
||||
4. Оркестрация (**Kubernetes**, Swarm, Nomad, Mesos)
|
||||
5. Управление конфигурацией (**Ansible**, Chef, Puppet)
|
||||
6. Управление инфраструктурой (**Terraform**, Cloudformation)
|
||||
7. Мониторинг (Prometheus, Loki, Grafana, …)
|
||||
8. Безопасность (Trivy, Clair, Falco, Kube-hunter, …)
|
||||
9. DevSecOps-анализ (SAST, SCA, DAST, IAST, RASP)
|
||||
|
||||

|
||||
@@ -0,0 +1,52 @@
|
||||
---
|
||||
status: stable
|
||||
type: concept
|
||||
tags:
|
||||
- devops
|
||||
created: 2026-02-13
|
||||
updated: 2026-02-27
|
||||
title: IaC - Основы
|
||||
---
|
||||
|
||||
# IaC - Основы
|
||||
|
||||
*Infrastructure-as-Code (Инфраструктура как код)*
|
||||
|
||||
Основными инструментами выступают Terraform и Ansible
|
||||
|
||||
## Terraform
|
||||
|
||||
- ПО, разработанное компанией HashiCorp, призванное управлять инфрой в декларативном ключе.
|
||||
|
||||
Для работы с инфрой через terraform необходимо лишь описать желаемое состояние (конфигурацию), в которой в декларативном формате изложена желаемая инфраструктура.
|
||||
|
||||
> Декларативный подход - пишем не "как" надо сделать, а "какое" **состояние** мы хотим увидеть
|
||||
|
||||
Описывается в файле `main.ttf`:
|
||||
|
||||

|
||||
|
||||
Terraform-провайдер
|
||||
|
||||
- Это обязательное звено - это интерпретатор, который обрабатывает наш конфиг и вызывает нужные API для работы непосредственно с вендором.
|
||||
|
||||

|
||||
|
||||
Поддерживаемые в terraform типы ресурсов (CRUD):
|
||||
|
||||
- аккаунты и ресурсные группы
|
||||
- ВМ, контейнеры
|
||||
- виртуальные сетевые сегменты
|
||||
- диски и образы
|
||||
- оркестраторы контейнерных и неконтейнерных нагрузок
|
||||
- и т.д. …
|
||||
|
||||
## Ansible
|
||||
|
||||
- ПО, от компании Red Hat, изначально созданное для управления конфигурацией.
|
||||
|
||||
Использует также декларативный язык
|
||||
|
||||

|
||||
|
||||
[[Ansible - основы]]
|
||||
@@ -0,0 +1,56 @@
|
||||
---
|
||||
status: stable
|
||||
type: concept
|
||||
tags:
|
||||
- devops
|
||||
- container
|
||||
created: 2026-02-13
|
||||
updated: 2026-02-27
|
||||
title: Kubernetes
|
||||
---
|
||||
|
||||
# Kubernetes
|
||||
K8s состоит из двух основных компонент:
|
||||
1) **Control Plane** - плоскость управления
|
||||
2) **Data Plane** - плоскость данных
|
||||
![[Pasted image 20251220211253.png|600]]
|
||||
|
||||
## Компоненты Control Plane
|
||||
1) etcd - open-source key-value хранилище, использующее алгоритм консенсуса raft для обеспечения надежного способа хранения данных.
|
||||
В k8s используется для хранения конфигурации всего кластера.
|
||||
![[Pasted image 20251220211307.png|300]]
|
||||
2) kube-api-server - основной компонент для взаимодействия с кластером и обязательный посредник между всем компонентами k8s в data и control plane
|
||||
- используется REST API
|
||||
- является точкой входа в кластер
|
||||
- обязательный участник любого взаимодействия с компонентами кластера
|
||||
- обеспечение разграничивания прав доступа к содержимому кластера (авторизация и аутентификация)
|
||||
- stateless-компонент
|
||||
- установка на каждую master-ноду
|
||||
- выбор лидера происходит по алгоритму **lease**
|
||||
|
||||
> [!abstract] lease
|
||||
> Алгоритм выбора лидирующего узла в распределнных системах, позволяющий сохранять консистентность данных
|
||||
> Суть проста: узел, который первым запишет себя в хранилище конфигурации кластера, как лидер, тот и станет лидером
|
||||
> Если лидер перестал выполнять свои функции, то борьба за место лидера по такому же принципу
|
||||
|
||||
3) kube-controller-manager - компонент, ответственный за работу контроллеров.
|
||||
- связывает kube-controller и отвечает за их работу
|
||||
- сборка мусора
|
||||
- stateless
|
||||
- на каждой master-ноде
|
||||
- выбор лидера аналогично по алгоритму lease
|
||||
![[Pasted image 20251220211330.png|400]]
|
||||
|
||||
Существующие kube-controllers:
|
||||
- node-controller - поддержка связи с узлами кластера, инициализация перенаправления рабочих нагрузок с вышедший из строя узлов.
|
||||
- replicaset-c. - инициализация процедуры создания и функционирования сущности [[ReplicaSet]]
|
||||
- endpoint-c.
|
||||
- token-c.
|
||||
- account-c.
|
||||
|
||||
Конспект от MA: [[Devops вводный 9 урок. Введение в Kubernetes. Компоненты control и Data plane.pdf]]
|
||||
|
||||
Другие решения:
|
||||
[[Docker Swarm]]
|
||||
[[Apache Mesos]]
|
||||
[[HashiCorp Nomad]]
|
||||
@@ -0,0 +1,18 @@
|
||||
---
|
||||
status: stable
|
||||
type: concept
|
||||
tags:
|
||||
- devops
|
||||
created: 2026-02-13
|
||||
updated: 2026-02-27
|
||||
title: ReplicaSet
|
||||
---
|
||||
|
||||
# ReplicaSet
|
||||
**ReplicaSet** - базовый контроллер в K8s, задача которого - поддерживать в кластере ровно столько реплик подов, сколько было указано в конфигурации.
|
||||
|
||||
ReplicaSet постоянно сравнивает текущее состояние кластера с желаемым состоянием, которое описано администратором.
|
||||
Состоит из трех ключевых элементов:
|
||||
1) Селектор (Selector) - определяет, какими подами должен управлять этот RS.
|
||||
2) Количество реплик (Replicas) - число, указывающее на желаемое количество реплик в поде.
|
||||
3) Шаблон пода (Pod Template) - описание того, как должен выглядеть новый под, если его понадобится создать.
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
status: stable
|
||||
type: concept
|
||||
tags:
|
||||
- devops
|
||||
created: 2026-02-13
|
||||
updated: 2026-02-27
|
||||
title: Terraform
|
||||
---
|
||||
|
||||
# Terraform
|
||||
|
||||
[Devops вводный 3 урок. Работа с IaC через terraform и ansible.pdf](#root/LjCayegQsEBv/vJCtNA7LSLFA/ARzmNd1EFrgt)
|
||||
|
||||
Terraform - ПО, разработанное HashiCorp для централизованного управления инфраструктурой по методологии [[IaC - основы|IaC]].
|
||||
|
||||
Использует в своей работе сущности:
|
||||
|
||||
1. `main.tf` - основной файл с декларативным описанием желаемого состояния инфраструктуры.
|
||||
2. `terraform.d/` -директория, в которой хранится terraform-провайдер (api для взаимодействия с конкретной платформой) после его загрузки.
|
||||
3. `.terraform/` - директория, в которой хранятся файлы, в том числе и файлы провайдера.
|
||||
4. `terraform.lock.hcl` - файл блокировки для кэша `.terraform/`.
|
||||
5. `terraform.tfstate` - файл, для регистрации состояния инфраструктуры
|
||||
|
||||
Команды, используемые в работе с Terraform:
|
||||
|
||||
1. `terraform init` - инициализация рабочей директории, содержащей файлы tf.
|
||||
2. `terraform plan` - команда для предварительного просмотра изменений без фактического применения.
|
||||
3. `terraform apply` - применение изменений на инфре.
|
||||
4. `terraform refresh` -
|
||||
@@ -0,0 +1,45 @@
|
||||
---
|
||||
status: stable
|
||||
type: concept
|
||||
tags:
|
||||
- devops
|
||||
created: 2026-02-13
|
||||
updated: 2026-02-27
|
||||
title: Apache Mesos
|
||||
---
|
||||
|
||||
# Apache Mesos
|
||||
|
||||
- инструмент менеджмента кластерных решений по оркестрации контейнерных и не-контейнерных нагрузок.
|
||||
|
||||
Архитектура основана на трех составляющих:
|
||||
|
||||

|
||||
|
||||
1. Узлы управления (master node)
|
||||
2. Рабочие узлы (agent)
|
||||
3. Фреймворки (framework)
|
||||
|
||||
Одновременно могут использоваться несколько фреймворки - именно они запускают рабочие нагрузки.
|
||||
|
||||
Фреймворки состоят из:
|
||||
|
||||
1. Планировщик фреймворка (scheduler)
|
||||
2. Исполнитель фреймворка (executor)
|
||||
|
||||
Планировки устанавливается на всех узлах, а исполнитель выполняет задачи на рабочих узлах.
|
||||
|
||||
Master-узлы предоставляют ресурсы используемым фреймворкам, а Scheduler фреймворка выбирает, на каких ресурсах agent-узлов Executor будет выполнять рабочее задание.
|
||||
|
||||
Популярные фреймворки:
|
||||
|
||||
1. Marathon (оркестрация контейнерных нагрузок)
|
||||
2. Apache Aurora (оркестрация рабочих cron-заданий) - deprecated*
|
||||
3. Mesosphere dc/os (операционная система на базе Apache mesos и Marathon.
|
||||
Имеется community и enterprise-версии. ) - deprecated
|
||||
4. Mesosphere dc/os 2.0 (Kubernetes-совместимый фреймворк - nobest (не готово)
|
||||
|
||||
Другие решения:
|
||||
[[Docker Swarm]]
|
||||
[[01 Library/02 DevOps/Контейнеризация/Kubernetes]]
|
||||
[[HashiCorp Nomad]]
|
||||
@@ -0,0 +1,53 @@
|
||||
---
|
||||
status: stable
|
||||
type: concept
|
||||
tags:
|
||||
- devops
|
||||
created: 2026-02-13
|
||||
updated: 2026-02-27
|
||||
title: Docker Swarm
|
||||
---
|
||||
|
||||
# Docker Swarm
|
||||
|
||||
- встроенное в docker решение по обеспечению оркестрации контейнеров
|
||||
- оркестрирует только контейнеры и причем только docker
|
||||
- но весь прост в освоении
|
||||
|
||||

|
||||
|
||||
Архитектура делится на:
|
||||
|
||||
1. Узлы управления (master)
|
||||
2. Рабочие узлы (worker)
|
||||
|
||||
Docker Swarm не поддерживает шаблонизацию
|
||||
|
||||
---
|
||||
|
||||
Swarm поддерживает следующие типы сетей:
|
||||
|
||||
- bridge
|
||||
- overlay
|
||||
- ingress (overlay с возможностью балансировки трафика)
|
||||
|
||||
В Swarm есть поддержка **service-discovering** (обнаружение сервисов)
|
||||
|
||||
Работа с персистентным хранением решается через Volumes.
|
||||
|
||||
Нет автоскейлинга (масштабирования)
|
||||
|
||||
Зато есть поддержка паттерна **rolling update** (постепенное обновление сервисов без downtime)
|
||||
|
||||
Docker Swarm хорошо интегрируется с инструментами мониторинга.
|
||||
|
||||
Существует встроенное хранилище секретами - docker secrets.
|
||||
|
||||
Есть mTLS
|
||||
|
||||
Сетевые политики (network policy) не поддерживаются.
|
||||
|
||||
Другие решения:
|
||||
[[Apache Mesos]]
|
||||
[[01 Library/02 DevOps/Контейнеризация/Kubernetes]]
|
||||
[[HashiCorp Nomad]]
|
||||
@@ -0,0 +1,34 @@
|
||||
---
|
||||
status: stable
|
||||
type: concept
|
||||
tags:
|
||||
- devops
|
||||
updated: 2026-02-27
|
||||
title: Docker - Дополнительные Знания
|
||||
created: 2025-12-17
|
||||
---
|
||||
|
||||
# Docker - Дополнительные Знания
|
||||
|
||||
## Запуск Контейнера С Непривилегированным Пользователем
|
||||
|
||||
Рассмотрим пример работы с непривилегированным пользователем:
|
||||
|
||||
- не использовать root внутри контейнера и не запускать его с повышенными привелегиями
|
||||
- создать пользователя можно сразу создать в Dockerfile
|
||||
- переключить пользователя можно с помощью директивы **USER** в Dockerfile
|
||||
|
||||
```dockerfile
|
||||
FROM mariadb
|
||||
USER 999
|
||||
```
|
||||
|
||||
## Rootless-mode - Podman
|
||||
|
||||
Docker решил предпринять попытки отказаться от docker daemon и docker socket с root привилегиями и разрабатывает концепцию rootless-mode
|
||||
|
||||
- Идея нетривиальна в реализации, так как возникают особенности установки бинарников и запуска скриптов.
|
||||
- Логичной заменой есть Podman, написанный на golang, она уже rootless и daemonless по умолчанию.
|
||||
- Podman обратно совместим в docker (в т.ч. собирает свои образы из Dockerfile)
|
||||
- Существует podman builder, позволяющий описывать образы с помощью **bash**.
|
||||
- Практически все команды докера существуют в подмане.
|
||||
@@ -0,0 +1,85 @@
|
||||
---
|
||||
status: stable
|
||||
type: concept
|
||||
tags:
|
||||
- devops
|
||||
updated: 2026-02-27
|
||||
title: Images, Dockerfile - Docker
|
||||
created: 2025-12-17
|
||||
---
|
||||
|
||||
# Images, Dockerfile - Docker
|
||||
|
||||
Запуск контейнеров происходит на основе images (образов). Образы собираются с помощью Dockerfile.
|
||||
|
||||
Основные инструкции в Dockerfile:
|
||||
|
||||
- **FROM** - использование базового образа
|
||||
- **RUN** - выполнение команд и создание слоя образа
|
||||
- **COPY** - копирование в контейнер файлов и папок
|
||||
- **ADD** - аналогично COPY, но с распаковкой архивов
|
||||
|
||||
Дополнительные:
|
||||
|
||||
- _LABEL_ - описание метаданных
|
||||
- _ENV_ - задание переменных среды
|
||||
- _CMD_ - описание команд с аргументами для выполнения при запуске контейнера
|
||||
- _WORKDIR_ - задание рабочей директории для следующей инструкции
|
||||
- _ARG_ - задание переменных для передачи во время сборки
|
||||
- _ENTRYPOINT_ - предоставление команды с аргументами для вызова во время выполнения контейнера
|
||||
- _VOLUME_ - создание точки монтирования для работы с docker volume
|
||||
- _EXPOSE_ - открытие порта в контейнере
|
||||
|
||||
> Все эти команды создают отдельный слой (layer) для сборки контейнера
|
||||
|
||||
## Оптимизация Образа
|
||||
|
||||
```dockerfile
|
||||
FROM ubuntu
|
||||
|
||||
RUN apt update
|
||||
RUN apt install python3 -y
|
||||
RUN apt install python3-dev -y
|
||||
```
|
||||
|
||||
- Сокращение инструкций **RUN** (уменьшение количества слоев)
|
||||
|
||||
```dockerfile
|
||||
FROM ubuntu
|
||||
|
||||
RUN apt update
|
||||
RUN apt install python3 python3-dev -y
|
||||
```
|
||||
|
||||
> Docker будет пересобирать только те слои, которые были изменены
|
||||
|
||||
```dockerfile
|
||||
FROM ubuntu
|
||||
|
||||
RUN apt update && \
|
||||
apt install python3 python3-dev -y
|
||||
```
|
||||
|
||||
- Удаление кеша пакетных менеджеров
|
||||
|
||||
```dockerfile
|
||||
RUN apt update && \
|
||||
apt install python3 python3-dev -y \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
```
|
||||
|
||||
- Удаление файлов в той же инструкции, где их создавали
|
||||
- Инструкции, которые предположительно будут часто изменяться, ставить ниже остальных
|
||||
- Сокращение количество инструкций **COPY**
|
||||
|
||||
```dockerfile
|
||||
RUN apt update && \
|
||||
apt install python3 python3-dev -y \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY file1 file2 file3 ./dir
|
||||
```
|
||||
|
||||
- Использование легковесных базовых образов, где есть такая возможность
|
||||
|
||||

|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
status: stable
|
||||
type: concept
|
||||
tags:
|
||||
- devops
|
||||
updated: 2026-02-27
|
||||
title: Multistaging - Docker
|
||||
created: 2025-12-17
|
||||
---
|
||||
|
||||
# Multistaging - Docker
|
||||
|
||||
При сборке docker-образов мы можем использовать механизм многоэтапной сборки - Multistaging.
|
||||
|
||||
При использовании multistaging мы разделяем процедуру сборки на несколько этапов, обозначая их метками.
|
||||
|
||||

|
||||
|
||||
**Использование механизма Multistaging позволяет:**
|
||||
|
||||
- Собирать легковесные образы.
|
||||
- Сократить время сборки образов и запуска на основе контейнеров.
|
||||
- Повысить производительность работы контейнеров.
|
||||
- Переиспользовать вспомогательные образы из промежуточных этапов.
|
||||
- Сократить поверхность атаки на наши контейнеры для потенциального
|
||||
злоумышленника.
|
||||
@@ -0,0 +1,75 @@
|
||||
---
|
||||
status: stable
|
||||
type: concept
|
||||
tags:
|
||||
- devops
|
||||
updated: 2026-02-27
|
||||
title: Network Drivers - Docker
|
||||
created: 2025-12-17
|
||||
---
|
||||
|
||||
# Network Drivers - Docker
|
||||
|
||||
При работе с docker возникает необходимость обеспечить работу контейнеров в сети:
|
||||
|
||||
- настройка правил маршрутизации (iptables)
|
||||
- формирование пакетов
|
||||
- инкапсуляция пакетов
|
||||
- шифрование и безопасность
|
||||
|
||||
Для этого используются Network Drivers
|
||||
|
||||
Сетевых драйверов поддерживаются несколько вариаций, каждый из них способен обеспечить все основные функции:
|
||||
|
||||
- bridge (мост)
|
||||
- host
|
||||
- overlay
|
||||
- macvlan
|
||||
- none
|
||||
- 3rd-party plugins
|
||||
|
||||
**Bridge**
|
||||
|
||||
Объединение контейнеров в bridge-сеть:
|
||||
|
||||
- контейнеры обьеденены в сеть
|
||||
- контейнеры в сети имеют связь друг с другом
|
||||
- контейнеры из другой сети не имеют сетевой связности
|
||||
- используется в docker **по умолчанию**
|
||||
|
||||
**Host**
|
||||
|
||||
Использует сеть хоста (удаляется сетевая изоляция)
|
||||
|
||||
- удаляет сетевую изоляцию между контейнером и хостом
|
||||
- возможны проблемы с занятым портов, сетевыми ограничениями хостовой сети (поддерживается только в Linux)
|
||||
|
||||
**Overlay**
|
||||
|
||||
Создание сети для объединения контейнеров на разных хостах путем создания оверлейной сети
|
||||
|
||||
- не поддерживает шифрование на win-хостах
|
||||
|
||||
**MacVLAN**
|
||||
|
||||
Работа с контейнерами, как с физическими устройствами
|
||||
|
||||
- присваивает каждому контейнеру в сети физический MAC-адрес
|
||||
- позволяет обращаться к контейнеру как к настоящему устройству
|
||||
- поддерживается только в Linux
|
||||
|
||||
**None**
|
||||
|
||||
Отключение всех сетей в контейнере
|
||||
|
||||
- может быть использован для изоляции контейнера
|
||||
|
||||
## Работа С Bridge-сетями
|
||||
|
||||
Docker по умолчанию использует bridge-сеть, так как он позволяет добиться большей изоляции от внешних сетей хоста.
|
||||
|
||||
Контейнеры внутри одного "бриджа" не имеют доступа к другим из других бридж сетей.
|
||||
|
||||
Если нам нужна гибкая настройка сети внутри самого контейнера, потребуются доп. **capabilities** (например, **CAP_NET_ADMIN**)
|
||||
|
||||
В качестве альтернативы можно рассмотреть CNI-плагины (сторонние - 3rd-party)
|
||||
@@ -0,0 +1,55 @@
|
||||
---
|
||||
status: stable
|
||||
type: concept
|
||||
tags:
|
||||
- devops
|
||||
updated: 2026-02-27
|
||||
title: Storage Drivers - Docker
|
||||
created: 2025-12-17
|
||||
---
|
||||
|
||||
# Storage Drivers - Docker
|
||||
|
||||
Для работы с данными в контейнере имеется специальный контейнерный слой (**container layer**). Он появляется только в момент запуска контейнера, для работы с данными.
|
||||
|
||||

|
||||
|
||||
Для работы с данными в контейнерном слое и работы со слоями образа _docker_ задействует _**драйверы хранилища**_ **(storage drivers).**
|
||||
|
||||
Доступны в Docker 6 SD:
|
||||
|
||||

|
||||
|
||||
## Block Level (блочные хранилища)
|
||||
|
||||
- распределяют данные на блоки одинакового размеры по оборудованию
|
||||
- не зависит от пути к данным
|
||||
- быстрое получение
|
||||
|
||||
Примеры: ZFS, DeviceMapper
|
||||
|
||||
## File Level (файловые хранилища)
|
||||
|
||||
- данные хранятся единым фрагментов
|
||||
- присутсвует иерархия директорий
|
||||
- доступ к файлу зависит от единственного пути
|
||||
- наиболее распространенный способ хранения данных
|
||||
|
||||
Примеры: AUFS, Overlay, **Overlay2** (по умолчанию)
|
||||
|
||||
## Object Level (объектно-ориентированные хранилища)
|
||||
|
||||
- данные распределяются по оборудованию по частям
|
||||
- связывает объекты данных с их метадатой
|
||||
- объекты могут быть только перезаписаны (изменять нельзя)
|
||||
- для доступа требуется реализация API интерфейса
|
||||
|
||||
По умолчанию, в Docker используется Overlay2, изменить это можно в `/etc/docker/daemon.json`
|
||||
|
||||
**Backing Filesystem**
|
||||
|
||||
Резервная файловая система, в которой расположен `/var/lib/docker`
|
||||
|
||||
Для работы storage driver требуется **совместимая** backing filesystem.
|
||||
|
||||

|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user