backup: 2026-04-17 11:28

This commit is contained in:
Dmitry
2026-04-17 11:28:35 +03:00
commit 21a95ec314
653 changed files with 244637 additions and 0 deletions
+22
View File
@@ -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"
}
+14
View File
@@ -0,0 +1,14 @@
{
"cssTheme": "Border",
"accentColor": "#3daee9",
"enabledCssSnippets": [
"math-blocks"
],
"theme": "obsidian",
"interfaceFontFamily": "Inter",
"textFontFamily": "Inter",
"baseFontSizeAction": true,
"baseFontSize": 16,
"monospaceFontFamily": "",
"nativeMenus": false
}
+3
View File
@@ -0,0 +1,3 @@
{
"backlinkInDocument": false
}
+62
View File
@@ -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
}
}
]
}
+18
View File
@@ -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"
]
+33
View File
@@ -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
}
+6
View File
@@ -0,0 +1,6 @@
{
"folder": "03 Journal",
"template": "99 System/Template/Daily Note",
"format": "YYYY/MM - MMMM/DD.MM.YY - dddd",
"autorun": false
}
+37
View File
@@ -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
}
+83
View File
@@ -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"
}
]
}
+10
View File
@@ -0,0 +1,10 @@
{
"shouldConfirmBeforeCreate": true,
"weekStart": "locale",
"wordsPerDot": 250,
"showWeeklyNote": false,
"weeklyNoteFormat": "",
"weeklyNoteTemplate": "",
"weeklyNoteFolder": "",
"localeOverride": "system-default"
}
+4459
View File
File diff suppressed because it is too large Load Diff
+10
View File
@@ -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"
}
+20876
View File
File diff suppressed because one or more lines are too long
+11
View File
@@ -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
View File
@@ -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: ")";
}
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
+10
View File
@@ -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
}
File diff suppressed because it is too large Load Diff
+129
View File
@@ -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
}
}
File diff suppressed because it is too large Load Diff
+12
View File
@@ -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
View File
@@ -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
View File
@@ -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
}
File diff suppressed because it is too large Load Diff
+12
View File
@@ -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/"
}
File diff suppressed because it is too large Load Diff
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
}
+31
View File
@@ -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;
}
}
+65
View File
@@ -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"
}
File diff suppressed because one or more lines are too long
+10
View File
@@ -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
View File
@@ -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
View File
@@ -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
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
+11
View File
@@ -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
}
+1
View File
@@ -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}
+20
View File
@@ -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
}
File diff suppressed because one or more lines are too long
+10
View File
@@ -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
View File
@@ -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
}
File diff suppressed because one or more lines are too long
+14
View File
@@ -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
View File
@@ -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;
}
File diff suppressed because it is too large Load Diff
+10
View File
@@ -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
View File
@@ -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
View File
@@ -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
}
File diff suppressed because one or more lines are too long
+11
View File
@@ -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
View File
@@ -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
View File
@@ -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
}
File diff suppressed because one or more lines are too long
+14
View File
@@ -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
+19
View File
@@ -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
}
File diff suppressed because one or more lines are too long
+10
View File
@@ -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
View File
@@ -0,0 +1 @@
+10
View File
@@ -0,0 +1,10 @@
/* Увеличивает масштаб всех формул MathJax */
.math-block,
.math-inline {
font-size: 1.2em; /* Измените число, чтобы настроить размер (1.15 = 115%) */
}
/* Опционально: если хотите, чтобы выносные формулы ($$ $$) были еще крупнее */
.math-block {
font-size: 1.25em;
}
+3
View File
@@ -0,0 +1,3 @@
{
"folder": "99 System/Template"
}
+211
View File
@@ -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
View File
@@ -0,0 +1,7 @@
{
"name": "Border",
"version": "1.13.5",
"minAppVersion": "0.16.0",
"author": "Akifyss",
"authorUrl": "https://github.com/Akifyss"
}
+9220
View File
File diff suppressed because one or more lines are too long
+7
View File
@@ -0,0 +1,7 @@
{
"name": "Obsidian Nord",
"version": "0.2.0",
"minAppVersion": "0.16.0",
"author": "insanum",
"authorUrl": "https://insanum.com"
}
+525
View File
@@ -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
View File
@@ -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"
}
File diff suppressed because one or more lines are too long
+35
View File
@@ -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"
}
}
+5
View File
@@ -0,0 +1,5 @@
{
"openExternalURLs": false,
"enableAdblocking": true,
"searchEngine": "google"
}
+272
View File
@@ -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"
]
}
+4
View File
@@ -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_{порог}$ - значение не должно быть больше порога
+30
View File
@@ -0,0 +1,30 @@
---
status: seed
type: concept
tags: []
created: 2025-12-17
updated: 2026-04-16
title:
---
Программа сдается ВЮ, пояснительную записку ДЮ.
- проведение анализа подразумевает нормализацию текста (убрать стоп-слова, числительные, имена собственные(имена людей, названия объектов географических, юридических))
- индивидуализированная тема курсовой работы (Поиск стоп-слов в УК РФ на основе закона Хипса/Ципфа)
- В отчет вписать всех в команде в столбик
Оформление курсовой работы:
Титульник с названием
Аннотация
Содержание
Постановка задачи
Введение (как будем решать)
Описание того, как разработали (не писать про GPT)
Какие результаты получили
Выводы
Списки литературы (не менее 5 пунктов)
Приложение
Картинки, демонстрирующие работу приложения
Не менее 12 страниц (рекомендуемое 15 страниц)
Сдача полностью на двух лекциях (макс баллы), дальше за каждую неделю -5 баллов.
+105
View File
@@ -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) Новая (горизонтальная)
**Строительная политика** - курс государства по поощрению практики, связанной с капитальным и жилым строительством.
+41
View File
@@ -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)
![](DevOps_image.png)
@@ -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`:
![](1_IaC%20-%20основы_image.png)
Terraform-провайдер
- Это обязательное звено - это интерпретатор, который обрабатывает наш конфиг и вызывает нужные API для работы непосредственно с вендором.
![](IaC%20-%20основы_изображение.png)
Поддерживаемые в terraform типы ресурсов (CRUD):
- аккаунты и ресурсные группы
- ВМ, контейнеры
- виртуальные сетевые сегменты
- диски и образы
- оркестраторы контейнерных и неконтейнерных нагрузок
- и т.д. …
## Ansible
- ПО, от компании Red Hat, изначально созданное для управления конфигурацией. 
Использует также декларативный язык
![](IaC%20-%20основы_image.png)
[[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) - описание того, как должен выглядеть новый под, если его понадобится создать.
+30
View File
@@ -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
- инструмент менеджмента кластерных решений по оркестрации контейнерных и не-контейнерных нагрузок.
Архитектура основана на трех составляющих:
![Picture background|200](Apache%20Mesos_mesos.png)
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
- но весь прост в освоении
![Picture background|200](Docker%20Swarm_daf199465f470.jpg)
Архитектура делится на:
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
```
- Использование легковесных базовых образов, где есть такая возможность
![](Images,%20Dockerfile%20-%20Docke.png)
@@ -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%20-%20Docker_imag.png)
**Использование механизма 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**). Он появляется только в момент запуска контейнера, для работы с данными.
![](1_Storage%20Drivers%20-%20Docker_i.png)
Для работы с данными в контейнерном слое и работы со слоями образа _docker_ задействует _**драйверы хранилища**_ **(storage drivers).**
Доступны в Docker 6 SD:
![](Storage%20Drivers%20-%20Docker_i.png)
## 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.
![](2_Storage%20Drivers%20-%20Docker_i.png)

Some files were not shown because too many files have changed in this diff Show More