# vscode-markdown-paste-image
**Repository Path**: treert/vscode-markdown-paste-image
## Basic Information
- **Project Name**: vscode-markdown-paste-image
- **Description**: paste image from clipboard to markdown directly!
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-02-21
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Markdown Paste
Smartly paste for Markdown.
**Support Mac/Windows/Linux!**.

## Requirements
* 'xclip' command be required (Linux)
* 'powershell' command be required (Win32)
* 'pbpaste' command be required (Mac)
## Features
- Paste smart
    Smartly paste in markdown by pressing 'Ctrl+Alt+V' ('Cmd+Alt+V' on Mac)
    - If you paste an image, the extension will create an new file for the image and insert link code to Markdown.
    - If you paste a text, it will test the text with customize regex, and replace matched content by regex.
    - If you paste a text contain HTML tag, it will try to convert the HTML content to Markdown.
    - If you paste a rich text, it will try to convert the rich text to Markdown.(Linux only)
    
- Download file
    Use `Markdown Download` command (Linux or Windows:`Ctrl+Alt+D`, Mac:`Cmd+Alt+D`) to download file and insert link code into Markdown.
    
- Ruby tag
    Also if you want to write article for learning asian language like Chinese or Japanese, ruby tag(for example:聪明) may be useful. Now a ruby tag snippet are prepare for you, select some text and press 'Ctrl+Alt+T'.
    ```HTML
    聪明
    ```
    This extension will not get the pronunciation for you in this version. You have to replace 'pronunciation' by yourself.
- Insert latex math symbol and emoji
    You can insert latex math symbol and emoji to any text file, such as Julia source file.
    press 'Ctrl+Alt+\\' or input "Insert latex math symbol" in vscode command panel, then input latex symbol name and choose symbol you want.
    
## Config
- `MarkdownPaste.path`
    The folder path that image will be saved. Support absolute path and relative path and the following predefined variables
    - ${workspaceRoot} - the path of the folder opened in VS Code
    - ${fileBasename} - the current opened file's basename
    - ${fileBasenameNoExtension} - the current opened file's basename with no file extension
    - ${fileExtname} - the current opened file's extension
    - ${fileDirname} - the current opened file's dirname
    Default value is `./`, mean save image in the folder contains current file.
- `MarkdownPaste.silence`
    enable/disable showing confirm box while paste image. Set this config option to `true`, filename confirm box will not be shown while paste image.
    Default value is `false`
- `MarkdownPaste.enableImgTag`
    enable/disable using HTML img tag with width and height for pasting image. If this option be enabled, you can input width and height by using `[,width,height]` in filename confirm input box. for example input `\abc\filename.png,200,100`, then ` ` will be inserted. Note that if `MarkdownPaste.silence` be enabled, this option will be not work.
    Default value is `true`
- `MarkdownPaste.rules`
    If you want to define your own regex to parse and replace content for pasting text. You can fill the following JSON, and set it to this option.
    ```JSON
    [{
        // rule 1
        "regex": "(https?:\/\/.*)", // your javascript style regex
        "options": "ig",            // regex option
        "replace": "[]($1)"         // replace string
    },
    {
        // rule 2
        "regex": "(https?:\/\/.*)", // your javascript style regex
        "options": "ig",            // regex option
        "replace": "[]($1)"         // replace string
    },
    ...
    ]
    ```
    The extension will try to test text content by regex defined in this option, if matched it whill replace content by using the TypeScript function string.replace().
    Default value is
    ```JSON
    [{
        "regex": "^(?:https?:\/\/)?(?:(?:(?:www\\.?)?youtube\\.com(?:\/(?:(?:watch\\?.*?v=([^&\\s]+).*)|))?))",
        "options": "g",
        "replace": "[](https://www.youtube.com/watch?v=$1)"
    },
    {
        "regex": "^(https?:\/\/.*)",
        "options": "ig",
        "replace": "[]($1)"
    }]
    ```
## Format
### File name format
If you selected some text in editor, then extension will use it as the image file name.
If not the image will be saved in this format: "Y-MM-DD-HH-mm-ss.png".
### File link format
When you editing a markdown, it will pasted as markdown image link format ``, the imagePath will be resolve to relative path of current markdown file. In other file, it just paste the image's path.
## FAQ
1. Extension not working on windows os.
   https://github.com/telesoho/vscode-markdown-paste-image/issues/6
## Contact
If you have some any question or advice, Welcome to [issue](https://github.com/telesoho/vscode-markdown-paste-image/issues)
## License
The extension and source are licensed under the [MIT license](LICENSE.txt).
` will be inserted. Note that if `MarkdownPaste.silence` be enabled, this option will be not work.
    Default value is `true`
- `MarkdownPaste.rules`
    If you want to define your own regex to parse and replace content for pasting text. You can fill the following JSON, and set it to this option.
    ```JSON
    [{
        // rule 1
        "regex": "(https?:\/\/.*)", // your javascript style regex
        "options": "ig",            // regex option
        "replace": "[]($1)"         // replace string
    },
    {
        // rule 2
        "regex": "(https?:\/\/.*)", // your javascript style regex
        "options": "ig",            // regex option
        "replace": "[]($1)"         // replace string
    },
    ...
    ]
    ```
    The extension will try to test text content by regex defined in this option, if matched it whill replace content by using the TypeScript function string.replace().
    Default value is
    ```JSON
    [{
        "regex": "^(?:https?:\/\/)?(?:(?:(?:www\\.?)?youtube\\.com(?:\/(?:(?:watch\\?.*?v=([^&\\s]+).*)|))?))",
        "options": "g",
        "replace": "[](https://www.youtube.com/watch?v=$1)"
    },
    {
        "regex": "^(https?:\/\/.*)",
        "options": "ig",
        "replace": "[]($1)"
    }]
    ```
## Format
### File name format
If you selected some text in editor, then extension will use it as the image file name.
If not the image will be saved in this format: "Y-MM-DD-HH-mm-ss.png".
### File link format
When you editing a markdown, it will pasted as markdown image link format ``, the imagePath will be resolve to relative path of current markdown file. In other file, it just paste the image's path.
## FAQ
1. Extension not working on windows os.
   https://github.com/telesoho/vscode-markdown-paste-image/issues/6
## Contact
If you have some any question or advice, Welcome to [issue](https://github.com/telesoho/vscode-markdown-paste-image/issues)
## License
The extension and source are licensed under the [MIT license](LICENSE.txt).