如何将语法突出显示应用于 ActiveAdmin 行?
How can I apply syntax highlighting to an ActiveAdmin row?
我将 Ruby 代码存储在数据库中,这样如果管理员需要调整代码逻辑,他们可以使用 ActiveAdmin 进行编辑。我的应用程序是以这种方式编写的,可以从数据库中加载和调用此代码。
我现在的问题是在 ActiveAdmin UI 显示页面中呈现的文本不是非常可读的代码,因为它不是等宽的或突出显示的语法。如何将语法突出显示应用于此特定行?
你会用 Rouge gem 吗?如果是这样,您可以包装您的代码还是需要猴子修补 ActiveAdmin?还有哪些其他解决方案?
ActiveAdmin.register Model do
show do |model|
attributes_table do
row :name
row :logic # render this logic text as Ruby code
row :created_at
row :updated_at
end
end
end
您应该能够使用 Arbe 语法将其包装在 pre
或 code
标记中:
ActiveAdmin.register Model do
show do |model|
attributes_table do
row :name
row :logic, do |logic|
pre( code(model.logic, class: 'lang-ruby') )
end
row :created_at
row :updated_at
end
end
end
您也可以使用 code
标签代替 pre
,它们只是略有不同。无论哪种方式,都应该使用 CSS.
进行更严格的定制
原发帖人注意:如果使用 highlight.js.
,请用 pre
包裹 code
块
我将 Ruby 代码存储在数据库中,这样如果管理员需要调整代码逻辑,他们可以使用 ActiveAdmin 进行编辑。我的应用程序是以这种方式编写的,可以从数据库中加载和调用此代码。
我现在的问题是在 ActiveAdmin UI 显示页面中呈现的文本不是非常可读的代码,因为它不是等宽的或突出显示的语法。如何将语法突出显示应用于此特定行?
你会用 Rouge gem 吗?如果是这样,您可以包装您的代码还是需要猴子修补 ActiveAdmin?还有哪些其他解决方案?
ActiveAdmin.register Model do
show do |model|
attributes_table do
row :name
row :logic # render this logic text as Ruby code
row :created_at
row :updated_at
end
end
end
您应该能够使用 Arbe 语法将其包装在 pre
或 code
标记中:
ActiveAdmin.register Model do
show do |model|
attributes_table do
row :name
row :logic, do |logic|
pre( code(model.logic, class: 'lang-ruby') )
end
row :created_at
row :updated_at
end
end
end
您也可以使用 code
标签代替 pre
,它们只是略有不同。无论哪种方式,都应该使用 CSS.
原发帖人注意:如果使用 highlight.js.
,请用pre
包裹 code
块