aiday-mar_code-style-keys/README.md

81 lines
1.6 KiB
Markdown
Raw Permalink Normal View History

2026-06-14 09:16:15 +00:00
# Code Style Keys
2022-04-15 18:13:31 +00:00
2026-06-14 09:16:15 +00:00
Code Style Keys is an Obsidian plugin that makes wrapping selected text in backticks faster while editing notes.
2022-04-15 18:13:31 +00:00
2026-06-14 09:16:15 +00:00
When you press the backtick key with text selected:
2022-04-15 18:13:31 +00:00
2026-06-14 09:16:15 +00:00
- Single-line selection becomes inline code: `selected text`.
2026-06-14 09:26:12 +00:00
- Multi-line selection becomes a fenced code block
2022-04-15 18:13:31 +00:00
2026-06-14 09:16:15 +00:00
The plugin also prevents duplicate trailing backticks that can appear from the original keypress.
2022-04-15 18:13:31 +00:00
2026-06-14 09:16:15 +00:00
## Why this plugin
2022-04-15 18:13:31 +00:00
2026-06-14 09:16:15 +00:00
This plugin is useful if you frequently format code snippets and want one quick key action instead of manually typing wrappers.
2022-04-15 18:13:31 +00:00
2026-06-14 09:16:15 +00:00
## How it works
2022-04-15 18:13:31 +00:00
2026-06-14 09:16:15 +00:00
The plugin listens for the `beforeinput` event. If the typed character is a backtick and the active editor has a selection, it:
2022-04-15 18:13:31 +00:00
2026-06-14 09:16:15 +00:00
1. Cancels the default input.
2. Replaces the selection with inline or fenced code syntax.
3. Performs a short cleanup pass to remove one extra trailing backtick when necessary.
2022-04-15 18:13:31 +00:00
2026-06-14 09:16:15 +00:00
## Install for development
2022-04-15 18:13:31 +00:00
2026-06-14 09:16:15 +00:00
1. Make sure Node.js 18+ is installed.
2. Install dependencies:
2022-04-15 18:13:31 +00:00
2026-06-14 09:16:15 +00:00
```bash
npm install
```
2022-04-15 18:13:31 +00:00
2026-06-14 09:16:15 +00:00
3. Start watch build:
2022-04-15 18:13:31 +00:00
2026-06-14 09:16:15 +00:00
```bash
npm run dev
```
2022-04-15 18:13:31 +00:00
2026-06-14 09:16:15 +00:00
4. In Obsidian, reload the app and enable Code Style Keys in Community Plugins.
2022-04-15 18:13:31 +00:00
2026-06-14 09:16:15 +00:00
## Build for production
feat: modernize sample plugin Check whether the target version key already exists in versions.json instead of whether the minAppVersion value exists. The old check incorrectly skipped writing a new entry when a prior version mapped to the same minAppVersion. Modernize TypeScript and esbuild configuration - Set target to ES2021 (Obsidian runs on modern Electron/Chromium) - Replace individual strict flags with strict: true - Update lib to ES2021 + DOM - Remove importHelpers and allowJs - Add skipLibCheck, forceConsistentCasingInFileNames, noFallthroughCasesInSwitch - Align esbuild target to es2021 Update dependencies - Bump @types/node from ^16.11.6 to ^22.15.17 (Node 16 is EOL) - Bump eslint-plugin-obsidianmd from 0.1.9 to 0.2.4 - Bump globals from 14.0.0 to 16.1.0 - Bump typescript-eslint from 8.35.1 to 8.32.1 - Remove tslib (no longer needed without importHelpers) Fix code issues and update minimum app version - Prefix unused parameters with _ (evt, view) - Use definite assignment assertion on settings property - Fix editorCallback parameter type (MarkdownView | MarkdownFileInfo) - Replace document/window with activeDocument/activeWindow - Replace let with const in SampleModal.onOpen - Bump minAppVersion from 0.15.0 to 1.0.0 - Update eslint config for obsidianmd plugin 0.2.4 compatibility Update documentation - Fix entry point references (main.ts -> src/main.ts) - Update minimum Node.js version to v18 - Replace outdated eslint instructions with npm run lint - Update code examples for strict mode and activeWindow - Remove yarn as alternative to npm Update eslint configuration Bump to eslint 10 Return to eslint 9 chore: formatting feat: add release CI chore: bumped obsidian eslint plugin to latest version chore: cleanup redundant code chore: moved obsidian to devDependencies fix: apply ignore patterns before rulesets docs: updated AGENTS.md to match codebase fix: set quote_style to single chore: formatting
2026-04-24 14:22:08 +00:00
2026-06-14 09:16:15 +00:00
```bash
npm run build
```
2022-04-15 18:13:31 +00:00
2026-06-14 09:16:15 +00:00
## Manual installation
2022-12-05 20:49:16 +00:00
2026-06-14 09:16:15 +00:00
Copy these files into your vault at:
2022-12-05 20:49:16 +00:00
2026-06-14 09:16:15 +00:00
`<Vault>/.obsidian/plugins/code-style-keys/`
2022-12-05 20:55:39 +00:00
2026-06-14 09:16:15 +00:00
- `main.js`
- `manifest.json`
- `styles.css` (if used)
Then reload Obsidian and enable the plugin.
## Configuration
This version has no settings.
## Compatibility
- Desktop and mobile supported (`isDesktopOnly: false`).
- Minimum app version is defined in `manifest.json`.
## Development notes
2022-12-05 20:49:16 +00:00
2026-06-14 09:16:15 +00:00
- Entry point: `src/main.ts`
- Build tool: esbuild
- Lint:
2022-12-05 20:49:16 +00:00
2026-06-14 09:16:15 +00:00
```bash
npm run lint
2022-12-05 20:49:16 +00:00
```
2022-04-15 18:13:31 +00:00
2026-06-14 09:16:15 +00:00
## License
2022-04-15 18:13:31 +00:00
2026-06-14 09:16:15 +00:00
MIT