Skip to content

Commit 3d28ce3

Browse files
committed
feat: add isMeta method.
1 parent af23cd9 commit 3d28ce3

File tree

3 files changed

+32
-1
lines changed

3 files changed

+32
-1
lines changed

core/README-zh.md

+10
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,16 @@ export type CodeBlockData = {
137137
};
138138
```
139139

140+
## isMeta
141+
142+
```js
143+
import { isMeta } from 'markdown-react-code-preview-loader';
144+
145+
isMeta('mdx:preview') // => true
146+
isMeta('mdx:preview:demo12') // => true
147+
isMeta('mdx:preview--demo12') // => false
148+
```
149+
140150
## getMetaId
141151

142152
```js

core/README.md

+10
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,16 @@ export type CodeBlockData = {
136136
};
137137
```
138138

139+
## isMeta
140+
141+
```js
142+
import { isMeta } from 'markdown-react-code-preview-loader';
143+
144+
isMeta('mdx:preview') // => true
145+
isMeta('mdx:preview:demo12') // => true
146+
isMeta('mdx:preview--demo12') // => false
147+
```
148+
139149
## getMetaId
140150

141151
```js

core/src/utils/index.ts

+12-1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,17 @@ export const getMetaId = (meta: string = '') => {
3131
return metaRaw.replace(/^mdx:preview:?/, '');
3232
};
3333

34+
/**
35+
* ```js
36+
* isMeta('mdx:preview') => true
37+
* isMeta('mdx:preview:demo12') => true
38+
* isMeta('mdx:preview--demo12') => false
39+
* ```
40+
* @param meta
41+
* @returns boolean
42+
*/
43+
export const isMeta = (meta: string = '') => meta && meta.includes('mdx:preview');
44+
3445
/** 获取需要渲染的代码块 **/
3546
const getCodeBlock = (child: MarkDownTreeType['children'], opts: Options = {}) => {
3647
const { lang = ['jsx', 'tsx'] } = opts;
@@ -41,7 +52,7 @@ const getCodeBlock = (child: MarkDownTreeType['children'], opts: Options = {}) =
4152
if (item && item.type === 'code' && lang.includes(item.lang)) {
4253
const line = item.position.start.line;
4354
const metaId = getMetaId(item.meta);
44-
if (metaId) {
55+
if (isMeta(item.meta)) {
4556
let name = typeof metaId === 'string' ? metaId : line;
4657
const funName = `BaseCode${line}`;
4758
const returnCode = getTransformValue(item.value, `${funName}.${lang}`, funName, opts);

0 commit comments

Comments
 (0)