• Stars
    star
    389
  • Rank 110,500 (Top 3 %)
  • Language
    TypeScript
  • License
    Mozilla Public Li...
  • Created over 3 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An Obsidian.md plugin that adds a minimal text editor modal for a smoother writing/editing experience ✍🏽.

cMenu Plugin

cMenu-Plugin Downloads cMenu-Plugin Releases

Status: This plugin is now available in Obsidian plugin store

cMenu is a plugin that adds a minimal and user friendly text editor modal for a smoother writing/editing experience ✍🏽. This plugin makes text editing and firing commands easier for those that don't wish to configure a multitude of hotkeys.

Demo

Ease of Use

This plugin was specifically designed for note-takers that want to have a simple text editor to aid in marking up their notes. cMenu solves the issue of having to memorize numerous hotkeys and/or use multiple key presses to get the desired markup. When you use cMenu, you'll only have to focus on writing!

How it Works

With the newest update of cMenu, you can add just about any command from Obsidian's command library onto the menu bar. By default, the menu bar will have the following commands: Toggle bold, Toggle italics, Toggle strikethrough, cMenu: Toggle Underline, cMenu: Toggle Superscript, cMenu: Toggle Subscript, Toggle code, cMenu: Toggle codeblock, and Toggle blockquote.

"menuCommands": [
    {
      id: "cmenu-plugin:editor:toggle-bold",
      name: "cMenu: Toggle bold",
      icon: "bold-glyph",
    },
    {
      id: "cmenu-plugin:editor:toggle-italics",
      name: "cMenu: Toggle italics",
      icon: "italic-glyph",
    },
    {
      id: "cmenu-plugin:editor:toggle-strikethrough",
      name: "cMenu: Toggle strikethrough",
      icon: "strikethrough-glyph",
    },
    {
      id: "cmenu-plugin:underline",
      name: "cMenu: Toggle underline",
      icon: "underline-glyph",
    },
    {
      id: "cmenu-plugin:superscript",
      name: "cMenu: Toggle superscript",
      icon: "superscript-glyph",
    },
    {
      id: "cmenu-plugin:subscript",
      name: "cMenu: Toggle subscript",
      icon: "subscript-glyph",
    },
    {
      id: "cmenu-plugin:editor:toggle-code",
      name: "cMenu: Toggle code",
      icon: "code-glyph",
    },
    {
      id: "cmenu-plugin:codeblock",
      name: "cMenu: Toggle codeblock",
      icon: "codeblock-glyph",
    },
    {
      id: "cmenu-plugin:editor:toggle-blockquote",
      name: "cMenu: Toggle blockquote",
      icon: "quote-glyph",
    }
  ],

As you can see, cMenu adds four new commands to Obsidian's command library and modifies fourteen of Obsidian's text editing commands. Those commands are added to an array of commands that are then read within the generation of the cMenu modal. If you would like to remove and/or add new commands, you can do so within the cMenu settings panel. Use the bright button (your accent color) to add a new command onto the menu. And use the gret button to remove them from the menu. When you add/remove a new command, you will see a message in your console, indicating the status of said command. With the newest update 1.1.2, ycMenu will reload everytime a command is added or deleted. No need for closing out your current notes,

The plugins Templater and Hotkeys for Templates are strongly recommended to use with cMenu. For example: I have a template that spawns the chess opening "Alekhine's Defense." With Hotkeys for Templates, I can choose to add this template to Obsidian's command library. Now that it's in the command library, I can choose to append this command to cMenu. This means you can really add just about anything to cMenu now, which makes it much more powerful!

cMenu also has a few stylistic changes that are also customizeable. For those that use the plugin Sliding Panes, you can now change cMenu's append method to "body." That way, cMenu will no longer appends to the workspace area, but to the body of the app. This is a bit of a work around for the current issue with Sliding Panes but I'm actively looking into a better solution.

With cMenu, you can change the design aesthetic. Glass morphism is a pretty popular design trend so I thought "why not add this to cMenu?!" You can choose to have a "glass" style for cMenu, which gives it a unique look.

cMenu Status Bar Menu

With the new 1.1.0 update, you can control to bottom value of cMenu, as well as toggle to hide cMenu and add/delete new command items. The delete button will remove the most recently added command.

Installation

This plugin is now available in the community plugin store. You can install it from there and enable it. For a manual installation, you can download the necessary files and place them within your plugins folder.


Changelog

0.1.0 - Jul 27, 2021

Changed
  • Interfaces are renamed to match plugin info
  • Now uses workspace.getActiveViewOfType(MarkdownView) instead of activeLeaf for menu creation

0.2.0 - Aug 02, 2021

Changed
  • Now uses workspace.getActiveViewOfType(MarkdownView) to store text selection
Fixed
  • cMenu appends to .mod-vertical.mod-root parent instead of body parent.
  • cMenu left positioning is set by function that finds width dynamically on menu creation.

0.3.0 - Aug 02, 2021

Fixed
  • Fixed small bug that causes an extra resize handle to be created.

1.0.0 - Aug 11, 2021

Fixed
  • Fixed issue with Sliding Panes with a toggle-able append method setting.
Added
  • Added new glass morphism setting.
  • Added new custom commands setting

1.0.1 - Aug 11, 2021

Added
  • Added more icons to command icon chooser

1.0.2 - Aug 13, 2021

Changed
  • Removed most !importants for better custom styling
Added
  • Added a few more icons
  • Added updates to UI

1.0.3 - Aug 13, 2021

Added
  • Added feather icons

1.1.0 - Aug 27, 2021

Added
  • Added new status bar menu for extra cMenu setting: Hide/Show buttons, Bottom value change
  • Added modified text editing commands
    • Commands will maintain focus in editor after execution

1.1.2 - Sep 14, 2021

Added
  • Added remix icons for command customization (makes it a bit slow :/)
  • Added reload function (button to execute and execution after add/delete)
  • Added custom columns setting
  • Added command reordering in settings
  • Added command to hide/show cMenu
  • Added remove tags functionality

Checklist

  • Glassmorphism setting
    • Setting to toggle for glass effect with cMenu
  • Fix to work with Sliding Panes (workaround)
    • Setting to toggle for cMenu to toggle to body instead of modroot
  • Add custom commands to cMenu
    • Choose icons for commands without
  • Modify text editing commands
    • Maintain focus in editor
  • Change cMenu bottom value
  • Hide/show cMenu
  • Add more command icons (Remix Icons)
  • Custom cMenu columns
    • Setting to customize cMenu columns (control number of command buttons per row on cMenu)
  • Reload cMenu
    • Add reload after new command added and command deletion functions.
    • Add general reload button (runs reload function)
  • Identify if text has been selected
  • Easy command button reordering
  • cMenu workspaces/nested menu
  • Follow the cursor setting
    • Setting to toggle for cMenu to follow mouse cursor

Support

If you like this plugin and are considering donating to support continued development, use the button below!

Created with ❀️ by Chetachi

More Repositories

1

Highlightr-Plugin

A minimal and aesthetically pleasing highlighting menu that makes color-coded highlighting much easier 🎨.
TypeScript
601
star
2

Yin-and-Yang-Theme

An Obsidian.md theme with a stark contrast between dark mode and light mode, much like the Yin and Yang symbol ☯️.
CSS
532
star
3

MySnippets-Plugin

MySnippets is a plugin that adds a status bar menu allowing the user to quickly manage their snippets within the comfort of their workspace πŸ–Œ.
TypeScript
155
star
4

Obsidian-Snippets

A repo full of my snippets for Obsidian.md. Use them to customize your workspace and/or add to a theme! πŸͺ„
CSS
137
star
5

Obsidian-Templates

These are a few of my templates for the Templater Obsidian.md plugin.
65
star
6

Get-Info-Plugin

A small menu that is tucked inside your status bar and shows helpful information for your chosen file πŸ“„.
TypeScript
33
star
7

Pixr-Plugin

An Obsidian.md plugin that brings Unsplash, the largest open collection of high-quality photos, into Obsidian for a better image-use workflow πŸŒ„.
TypeScript
24
star
8

ChetachiLabs

My portfolio website.
JavaScript
7
star
9

Tobi-Ecommerce-App

Tobi is a full-stack plant e-commerce application built in Angular and Spring Boot.
TypeScript
5
star
10

Writr-Goals

TypeScript
5
star
11

NoteToSelves

JavaScript
2
star
12

LightMode-DarkMode-Plugin

TypeScript
2
star
13

Tennis-Game

A classic arcade tennis game
HTML
1
star
14

chetachiezikeuzor

1
star
15

Good-Eats

1
star
16

Projects

1
star
17

Welcome-Email-Template

1
star
18

PicSplash

JavaScript
1
star
19

project-wiki

1
star
20

Daily-Journal-Setup

1
star
21

palindrome-checker

JavaScript
1
star
22

frontend

JavaScript
1
star
23

Je-Lis

JavaScript
1
star
24

FCC

1
star
25

dcreact

JavaScript
1
star
26

Paths-Plugin

TypeScript
1
star
27

Palatinate-Flavored-Yin-and-Yang

A Palatinate flavored fork of Yin and Yang theme
CSS
1
star
28

Obsidian-Icon-Packs

Icon packs to replace Obsidian's default Icons
1
star
29

Customize-Statusbar-Plugin

TypeScript
1
star