Chrome Extension enables WYSIWYG editor in Azure DevOps markdown wiki. Based on great work of Toast UI Editor.
- Node.js (v12 or higher)
- npm (comes with Node.js)
- Google Chrome browser
To build the development version of the extension, follow these steps:
-
Clone the Repository:
git clone https://github.com/bthos/azure-devops-wiki-editor.git cd azure-devops-wiki-editor
-
Install Dependencies: Make sure you have Node.js and npm installed. Then, run the following command to install the required dependencies:
npm install
-
Build the Development Version: Run the following command to build the development version of the extension:
npm run dev-build
This will create a development build in the dist/
directory. The development build includes source maps and unminified code for easier debugging.
To build the production version of the extension, follow these steps:
-
Install Dependencies: If you haven't already, install the dependencies:
npm install
-
Clean the Build Directory (Optional):
npm run clean
-
Build the Production Version: Run the following command to build the production version of the extension:
npm run build
This will create a production build in the dist/
directory. The production build is optimized with minified code and no source maps. It also creates a ZIP file ready for distribution.
To test the editor functionality locally before installing it as a Chrome extension:
-
Start the development server:
npm run server
-
Open your browser and navigate to:
http://localhost:8080/test.html
-
You'll see a test page with the WYSIWYG editor where you can try out the features without needing to install the extension.
- Build the extension using either the development or production build steps above
- Open Chrome and navigate to
chrome://extensions/
- Enable "Developer mode" by toggling the switch in the top right corner
- Click on the "Load unpacked" button
- Select the
dist/
directory where the build files are located - Navigate to any Azure DevOps wiki page
- Try editing a page to verify the WYSIWYG editor appears and functions correctly
- Test the following features:
- Basic text formatting (bold, italic, lists)
- Creating and editing tables
- Adding links and images
- Switching between WYSIWYG and Markdown modes
- Saving changes to the wiki page
If the editor doesn't appear:
- Check the browser's console for any error messages
- Try refreshing the page
- Ensure the extension is enabled in Chrome
- Verify you're on a supported Azure DevOps wiki page (URL should match
*://dev.azure.com/*/_wiki/*
or*://*.visualstudio.com/*/_wiki/*
)
- WYSIWYG editing interface for Azure DevOps Wiki pages
- Real-time preview of markdown changes
- Support for all standard markdown syntax:
- Headers (H1-H6)
- Lists (ordered and unordered)
- Tables with easy editing interface
- Code blocks with syntax highlighting
- Task lists (checkboxes)
- Blockquotes
- Azure DevOps specific features:
- @mentions support
- Wiki TOC generation (
[[_TOC_]]
) - Wiki links
- Work item links (#123)
- Image upload and embedding
- Split screen mode (editor/preview)
- Full screen editing mode
Action | Windows/Linux | macOS |
---|---|---|
Bold | Ctrl+B | โ+B |
Italic | Ctrl+I | โ+I |
Strike Through | Ctrl+S | โ+S |
Heading 1-6 | Ctrl+1-6 | โ+1-6 |
Code Block | Ctrl+Shift+C | โ+Shift+C |
Link | Ctrl+K | โ+K |
Switch to HTML | Ctrl+Tab | โ+Tab |
Save Changes | Ctrl+S | โ+S |
- Fork the repository
- Create a new branch for your feature or bugfix
- Make your changes
- Test thoroughly using the steps above
- Create a pull request with a clear description of your changes
This project is licensed under the ISC License. See the LICENSE file for details.
The source code for this project is available at GitHub.
If you encounter any issues:
- Check the existing issues to see if it's already reported
- If not, create a new issue with:
- Steps to reproduce the problem
- Expected behavior
- Actual behavior
- Browser version and OS
- Any relevant error messages from the console
@toast-ui/editor
: ^3.2.2 - The core WYSIWYG editor component
@types/chrome
: ^0.0.239 - TypeScript definitions for Chrome extension APIscopy-webpack-plugin
: ^11.0.0 - Copies static assets during buildcross-env
: ^7.0.3 - Sets environment variables across platformscss-minimizer-webpack-plugin
: ^7.0.2 - Minimizes CSS fileshttp-server
: ^14.1.1 - Simple HTTP server for developmentterser-webpack-plugin
: ^5.3.14 - JavaScript minificationts-loader
: ^9.4.4 - TypeScript loader for webpacktypescript
: ^5.1.6 - TypeScript compilerwebpack
: ^5.88.1 - Module bundlerwebpack-cli
: ^5.1.4 - Webpack command line interfacezip-webpack-plugin
: ^4.0.3 - Creates ZIP file for production builds
clean
: Removes the dist directory and zip filestest
: Currently just a placeholder (exits with code 0)dev-build
: Builds development version with source mapsbuild
: Builds production version with optimizations and creates ZIP fileserver
: Starts a local development serverversion
: Updates version.txt file and adds it to git