我一直在尝试编码练习,以掩盖除了输入的最后四位数或字符之外的所有数字.
我认为我的解决方案有效但看起来有点笨拙.有没有人有关于如何重构它的想法?
这是我的代码:
def mask(string)
z = string.to_s.length
if z <= 4
return string
elsif z > 4
array = []
string1 = string.to_s.chars
string1[0..((z-1)-4)].each do |s|
array << "#"
end
array << string1[(z-4)..(z-1)]
puts array.join(", ").delete(", ").inspect
end
end
Run Code Online (Sandbox Code Playgroud) 我正在使用 Contenful 作为我的 Gatsby 网站的 CMS。在其富文本反应渲染器的配置中,我尝试将富文本字段中的所有代码包装在标签中,<pre>以便维护所有格式并添加我自己的样式。
这是我尝试过的:
const Blog = (props) => {
const Code = ({children}) => <pre><code style={{backgroundColor: "red"}}>{children}</code></pre>
const options = {
renderMark: {
[MARKS.CODE]: code => <Code>{code}</Code>},
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,当我选择“普通文本”时,Contentful 会将每一行代码片段包装在段落标签内,这不是有效的 HTML(<pre>标签不能是<p>标签的直接后代),并且会弄乱我的所有格式。
有谁知道如何覆盖该行为或解决方法,以呈现来自 Contentful in Gatsby 的格式正确的代码片段?