详细说明: - 添加了V2版本的工作流页面和结果页面 - 更新了Serena记忆文件 - 添加了详细实施计划文档 - 优化了Vite配置 - 更新了项目文档CLAUDE.md - 构建了演示系统的dist版本 - 包含了exhibition-demo的完整依赖
37 lines
1.0 KiB
JavaScript
37 lines
1.0 KiB
JavaScript
'use strict'
|
|
var refractorRuby = require('./ruby.js')
|
|
var refractorMarkupTemplating = require('./markup-templating.js')
|
|
module.exports = erb
|
|
erb.displayName = 'erb'
|
|
erb.aliases = []
|
|
function erb(Prism) {
|
|
Prism.register(refractorRuby)
|
|
Prism.register(refractorMarkupTemplating)
|
|
;(function (Prism) {
|
|
Prism.languages.erb = {
|
|
delimiter: {
|
|
pattern: /^(\s*)<%=?|%>(?=\s*$)/,
|
|
lookbehind: true,
|
|
alias: 'punctuation'
|
|
},
|
|
ruby: {
|
|
pattern: /\s*\S[\s\S]*/,
|
|
alias: 'language-ruby',
|
|
inside: Prism.languages.ruby
|
|
}
|
|
}
|
|
Prism.hooks.add('before-tokenize', function (env) {
|
|
var erbPattern =
|
|
/<%=?(?:[^\r\n]|[\r\n](?!=begin)|[\r\n]=begin\s(?:[^\r\n]|[\r\n](?!=end))*[\r\n]=end)+?%>/g
|
|
Prism.languages['markup-templating'].buildPlaceholders(
|
|
env,
|
|
'erb',
|
|
erbPattern
|
|
)
|
|
})
|
|
Prism.hooks.add('after-tokenize', function (env) {
|
|
Prism.languages['markup-templating'].tokenizePlaceholders(env, 'erb')
|
|
})
|
|
})(Prism)
|
|
}
|