This commit is contained in:
14
src/api/common/text/elements/quote.ts
Normal file
14
src/api/common/text/elements/quote.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
/**
|
||||
* Quoted text
|
||||
*/
|
||||
|
||||
module.exports = text => {
|
||||
const match = text.match(/^"([\s\S]+?)\n"/);
|
||||
if (!match) return null;
|
||||
const quote = match[0];
|
||||
return {
|
||||
type: 'quote',
|
||||
content: quote,
|
||||
quote: quote.substr(1, quote.length - 2).trim(),
|
||||
};
|
||||
};
|
@@ -10,6 +10,7 @@ const elements = [
|
||||
require('./elements/hashtag'),
|
||||
require('./elements/code'),
|
||||
require('./elements/inline-code'),
|
||||
require('./elements/quote'),
|
||||
require('./elements/emoji')
|
||||
];
|
||||
|
||||
@@ -33,12 +34,12 @@ export default (source: string) => {
|
||||
// パース
|
||||
while (source != '') {
|
||||
const parsed = elements.some(el => {
|
||||
let tokens = el(source, i);
|
||||
if (tokens) {
|
||||
if (!Array.isArray(tokens)) {
|
||||
tokens = [tokens];
|
||||
let _tokens = el(source, i);
|
||||
if (_tokens) {
|
||||
if (!Array.isArray(_tokens)) {
|
||||
_tokens = [_tokens];
|
||||
}
|
||||
tokens.forEach(push);
|
||||
_tokens.forEach(push);
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
|
Reference in New Issue
Block a user