代码图片生成器
https://spacexcode.com/codeimage
Untitled-1
function toObject (arr, key) {
arr.reduce((a, b) => (
{ ...a, [b[key]]: b }
), {});
}
主题
Breeze
背景
暗黑模式
内边距
语言
JavaScript
介绍
要学好一门技术,最好的方式就是实践。上面这样一个代码图片生成器,就是当初为了学习 React 技术开发,特地找的一个功能不是很复杂,但是涉及的技术点又不至于太单一, 于是找了这样一个工具型的项目(UI 参照 ray.so),代码从零开始实现来检验自己学的知识是否牢固。
简单来讲解下,实现这个项目用到的一些技术点和背后的原理:
- 代码高亮选择了最主流的
highlight.js
库; - 网页元素界面转图片使用了
html2canvas
工具; - 代码编辑器实时高亮是上层使用了
textarea
输入框,设置字体和背景透明,下层使用div
显示代码,并结合highlight.js
做代码高亮; - 透明背景通过 CSS 属性背景图片设置线性渐变
linear-gradient
模拟实现; - 代码背景框的左右拖拽来改变宽度功能。