Skip to content

Commit

Permalink
Added file name variable ${path}
Browse files Browse the repository at this point in the history
  • Loading branch information
imlinhanchao committed Jan 21, 2021
1 parent ca5880f commit 1eefc7e
Show file tree
Hide file tree
Showing 9 changed files with 23 additions and 6 deletions.
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
# Change Log
All notable changes to the "markdown-image" extension will be documented in this file.

## [1.0.12] - 2021-01-21
### Added
- Added file name variable `${path}`: "The path of the Markdown file being edited relative to the root directory."

## [1.0.11] - 2021-01-06
### Fixed
- Fix api url of `sm.ms`.
- Fixed api url of `sm.ms`.
- Fixed the file name with spaces cannot be found in Linux.
### Added
- Added prompt without token in `sm.ms`.
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@ sudo yum install xclip
```

## Release Notes
### 1.0.12
- Added file name variable `${path}`: "The path of the Markdown file being edited relative to the root directory."

### 1.0.11
- Fix api url of `sm.ms`.
Expand Down
3 changes: 3 additions & 0 deletions README.zh-cn.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,9 @@ sudo yum install xclip


## 发布历史
### 1.0.12
- 添加了文件名变量 `${path}`: 正在编辑的 Markdown 文件相对于根目录的路径。

### 1.0.11
- 修正 `sm.ms` API 地址。
- 修复了在 Linux 中找不到带空格的文件名的问题。
Expand Down
3 changes: 3 additions & 0 deletions README.zh-tw.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,9 @@ sudo yum install xclip
```

## 發布歷史
### 1.0.12
- 添加了文件名變量 `${path}`: 正在編輯的 Markdown 文件相對於根目錄的路徑。

### 1.0.11
- 修正 `sm.ms` API 地址。
- 修復了在 Linux 中找不到帶空格的文件名的問題。
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "markdown-image",
"displayName": "Markdown Image",
"description": "Easy to insert a image to markdown",
"version": "1.0.11",
"version": "1.0.12",
"publisher": "hancel",
"engines": {
"vscode": "^1.33.0"
Expand Down
2 changes: 1 addition & 1 deletion package.nls.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"markdown-image.base.uploadMethod.SM.MS": "Upload the image to sm.ms. You can configure `Token` through markdown-image.sm_ms.token if you have an account.",
"markdown-image.base.uploadMethod.Qiniu": "Upload the image to qiniu.com.",
"markdown-image.base.uploadMethod.DIY": "You can define your code used to upload. You need to configure the code path through markdown-image.DIY.path",
"markdown-image.base.fileNameFormat": "The filename format for upload. Not Support in `Imgur` and `SM.MS`. You can use some variables: \n\n- `${filename}`: The original filename. \n- `${mdname}`: The name of the Markdown file being edited. \n- `${hash}`: The sha256 hash of image. \n- `${timestramp}`: The timestramp of upload time. \n- `${YY}`: The Year \n-`${MM}`:The Month \n- `${DD}`: The Day \n- `${hh}`: The 12-hour clock \n- `${HH}`: The 24-hour clock \n- `${mm}`: The minutes \n- `${ss}`: The seconds \n- `${mss}`: The milliseconds \n- `${rand,number}`: A random number, for example: `${rand,100}`. It will generate random numbers from 0 to 99.",
"markdown-image.base.fileNameFormat": "The filename format for upload. Not Support in `Imgur` and `SM.MS`. You can use some variables: \n\n- `${filename}`: The original filename. \n- `${mdname}`: The name of the Markdown file being edited. \n- `${path}`: The path of the Markdown file being edited relative to the root directory. \n- `${hash}`: The sha256 hash of image. \n- `${timestramp}`: The timestramp of upload time. \n- `${YY}`: The Year \n-`${MM}`:The Month \n- `${DD}`: The Day \n- `${hh}`: The 12-hour clock \n- `${HH}`: The 24-hour clock \n- `${mm}`: The minutes \n- `${ss}`: The seconds \n- `${mss}`: The milliseconds \n- `${rand,number}`: A random number, for example: `${rand,100}`. It will generate random numbers from 0 to 99.",
"markdown-image.local.path": "Picture storage directory that in the local (automatically created if it does not exist).",
"markdown-image.coding.path": "Picture upload directory that in the repository (automatically created if it does not exist).",
"markdown-image.coding.token": "Coding person [access token](https://help.coding.net/docs/member/tokens.html).",
Expand Down
2 changes: 1 addition & 1 deletion package.nls.zh-cn.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"markdown-image.base.uploadMethod.SM.MS": "将图像上传到 sm.ms。 您如果有一个帐户,可以通过 markdown-image.sm_ms.token 配置 `Secret Token` 。",
"markdown-image.base.uploadMethod.Qiniu": "将图片上传到七牛对象存储,你有很多项目需要配置。",
"markdown-image.base.uploadMethod.DIY": "您可以自定义用于上传的代码。您需要通过 markdown-image.DIY.path 配置代码路径。",
"markdown-image.base.fileNameFormat": "上传的文件名格式字符串。不支持 `Imgur` 和 `SM.MS`。 你有一些变量可以使用: \n\n- `${filename}`: 原始的文件名。 \n- `${mdname}`: 正在编辑的 Markdown 文件的名称。 \n- `${hash}`: 图像的 sha256 哈希。 \n- `${timestramp}`: 上传时间的时间戳。 \n- `${YY}`: 年份 \n-`${MM}`: 月份 \n- `${DD}`: 日期 \n- `${hh}`: 12小时制小时 \n- `${HH}`: 24小时制小时 \n- `${mm}`: 分 \n- `${ss}`: 秒 \n- `${mss}`: 毫秒 \n- `${rand,number}`: 随机数, 比如:`${rand,100}`. 它将生成从 0 到 99 的随机数。",
"markdown-image.base.fileNameFormat": "上传的文件名格式字符串。不支持 `Imgur` 和 `SM.MS`。 你有一些变量可以使用: \n\n- `${filename}`: 原始的文件名。 \n- `${mdname}`: 正在编辑的 Markdown 文件的名称。 \n- `${path}`: 正在编辑的Markdown文件相对于根目录的路径。 \n- `${hash}`: 图像的 sha256 哈希。 \n- `${timestramp}`: 上传时间的时间戳。 \n- `${YY}`: 年份 \n-`${MM}`: 月份 \n- `${DD}`: 日期 \n- `${hh}`: 12小时制小时 \n- `${HH}`: 24小时制小时 \n- `${mm}`: 分 \n- `${ss}`: 秒 \n- `${mss}`: 毫秒 \n- `${rand,number}`: 随机数, 比如:`${rand,100}`. 它将生成从 0 到 99 的随机数。",
"markdown-image.local.path": "本地的图片存储目录(如果不存在,则自动创建)。支持相对路径,相对于所粘贴的 Markdown 文件。`/` 表示打开的文件夹根目录。。",
"markdown-image.coding.path": "仓库中的图片保存目录(如果不存在,则自动创建)。",
"markdown-image.coding.token": "Coding 的个人[访问令牌](https://help.coding.net/docs/member/tokens.html),用于访问仓库,上传图片。",
Expand Down
2 changes: 1 addition & 1 deletion package.nls.zh-tw.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
    "markdown-image.base.uploadMethod.SM.MS": "將圖像上傳到 sm.ms 。 您如果有一個帳戶,可以通過 markdown-image.sm_ms.token 配置 `Secret Token` 。",
    "markdown-image.base.uploadMethod.Qiniu": "將圖片上傳到七牛對象存儲,你有很多項目需要配置。",
    "markdown-image.base.uploadMethod.DIY": "您可以自定義用於上傳的代碼。您需要通過 markdown-image.DIY.path 配置代碼路徑。",
    "markdown-image.base.fileNameFormat": "上傳的文件名格式字符串。不支持 `Imgur` 和 `SM.MS`。 你有一些變量可以使用: \n\n- `${filename}`: 原始的文件名。 \n- `${mdname}`: 正在編輯的 Markdown 文件的名稱。 \n- `${hash}`: 圖像的 sha256 哈希。 \n- `${timestramp}`: 上傳時間的時間戳。 \n- `${YY}`: 年份 \n- `${MM}`: 月份 \n- `${DD}`: 日期 \n- `${hh}`: 12小時制小時 \n- `${HH}`: 24小時制小時 \n- `${mm}`: 分 \n- `${ss}`: 秒 \n- `${mss}`: 毫秒 \n- `${rand,number}`: 隨機數, 比如:`${rand,100}`. 它將生成從 0 到99 的隨機數。",
    "markdown-image.base.fileNameFormat": "上傳的文件名格式字符串。不支持 `Imgur` 和 `SM.MS`。 你有一些變量可以使用: \n\n- `${filename}`: 原始的文件名。 \n- `${mdname}`: 正在編輯的 Markdown 文件的名稱。 \n- `${path}`: 正在編輯的 Markdown 文件相對於根目錄的路徑。 \n- `${hash}`: 圖像的 sha256 哈希。 \n- `${timestramp}`: 上傳時間的時間戳。 \n- `${YY}`: 年份 \n- `${MM}`: 月份 \n- `${DD}`: 日期 \n- `${hh}`: 12小時制小時 \n- `${HH}`: 24小時制小時 \n- `${mm}`: 分 \n- `${ss}`: 秒 \n- `${mss}`: 毫秒 \n- `${rand,number}`: 隨機數, 比如:`${rand,100}`. 它將生成從 0 到99 的隨機數。",
    "markdown-image.local.path": "本地的圖片存儲目錄(如果不存在,則自動創建)。支持相對路徑,相對於所粘貼的 Markdown 文件。`/` 表示打開的文件夾根目錄。。 ",
    "markdown-image.coding.path": "倉庫中的圖片保存目錄(如果不存在,則自動創建)。",
    "markdown-image.coding.token": "Coding 的個人[訪問令牌](https://help.coding.net/docs/member/tokens.html),用於訪問倉庫,上傳圖片。",
Expand Down
7 changes: 6 additions & 1 deletion src/lib/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ function getSelections() : vscode.Selection[] | null{
async function formatName(format: string, filePath: string, isPaste: boolean): Promise<string> {
let saveName = format;
let variables = [
'filename', 'mdname', 'hash', 'timestramp', 'YY', 'MM', 'DD', 'HH', 'hh', 'mm', 'ss', 'mss', 'rand,(\\d+)'
'filename', 'mdname', 'path', 'hash', 'timestramp', 'YY', 'MM', 'DD', 'HH', 'hh', 'mm', 'ss', 'mss', 'rand,(\\d+)'
];
for (let i = 0; i < variables.length; i++) {
let reg = new RegExp(`\\$\\{${variables[i]}\\}`, 'g');
Expand All @@ -91,6 +91,11 @@ async function formatName(format: string, filePath: string, isPaste: boolean): P
saveName = saveName.replace(reg, data);
break;
}
case 'path': {
let data = path.dirname(getCurrentFilePath()).replace(getCurrentRoot(), '').slice(1);
saveName = saveName.replace(reg, data);
break;
}
case 'hash': {
let data = hash(fs.readFileSync(filePath));
saveName = saveName.replace(reg, data);
Expand Down

0 comments on commit 1eefc7e

Please sign in to comment.