摘要:最近发现了一个新的写的思路,仔细一想,自己仿佛积累了不少写的思路和想法,总结一下,抛砖引玉。本文所说主要分以下三种本地外链文章中带本地楼主在工作和学习中是比较喜欢写的,抛出问题非常直观。对于楼主来说,多数情况下是一个文件就可以搞定的。
最近发现了一个新的写 demo 的思路,仔细一想,自己仿佛积累了不少写 demo 的思路和想法,总结一下,抛砖引玉。
本文所说 demo 主要分以下三种:
本地 demo
外链 demo
文章中带 demo
本地 demo楼主在工作和学习中是比较喜欢写 demo 的,抛出问题非常直观。
本地写 demo,爱咋整就可以咋整,简单到可以只有一个 HTML 文件,复杂到引入 React / Vue 等框架类库,视情况而定。对于楼主来说,多数情况下是一个 HTML 文件就可以搞定的。最方便的情况下,直接新建个 HTML 文件,然后起一个本地 server 即可,本地 server 可以用 Python、PHP 等起,对于前端来说,http-server 是个不错的选择,然后再配置个 alias,比如我在 .zshrc 中配置 alias s="http-server",可以秒启。如果是稍微复杂的情况,需要些许调试,那么修改后自动刷新是必须的,我写了一个简单的脚手架 gulp-simple 可以满足这个需求。但是我比较懒,觉得这样还不太方便,毕竟需要编辑器和浏览器两边切换查看效果(单屏的情况下),有时只是查看一个简单的 css 特性,这样搞就显得麻烦了,我又给自己开发了两个简单的在线编辑器,分别是 html editor1 以及 html editor2,方便调试简单的 html 页面。
本地 demo 大概三个方式,总结下:
本地新建 HTML 文件,双击启动或者本地启 server
使用 gulp-simple(需要简单调试的页面)
使用 html editor1 或者 html editor2 在线编辑以及调试
外链 demo你写了个炫酷的页面,希望分享给别人,如果把 HTML 文件发给别人,显然不是一个好的想法,最简单的方式就是将文件上传到服务器,发送链接给别人,也正是接下去要说的外链 demo。
最方便的选择是选择第三方服务,类似 codepen 或者 jsfiddle,国内的 runjs 也做的不错可以试试。(这些网站均有很多不错的 demo,可以看看实现)
因为个人是重度 GitHub 用户,自从知道 GitHub Pages 这玩意后,一般的外链 demo 都放在那了,所以 GitHub Pages 也不失为一个好的选择。(点这里 看我的全部 demo)
说到 GitHub Pages,其实 GitHub 中的 repo 中的静态 HTML 页面也是可以查看效果的(归根结底还是 GitHub Pages),通常用来生成项目主页等。具体设置在具体 repo 的 Settings -> Options -> GitHub Pages 中,选择分支(一般是 master branch 即可),点击 save 即可,比如我在 codedog 项目中生成的 demo。还有另一个方法,进入 GitHub & BitBucket HTML Preview 这个网站,生成静态页面链接,但是只适用于只有一个 HTML 页面的场景,如果有引用 css 的话路径会错误。
另外,如果有自己的服务器,那么很显然部署到自己的服务器就可以了。
外链 demo 同样大概三个方式,总结下:
codepen / jsfiddle / runjs
GitHub Pages
自己的服务器
文章中带 demo重点重点,这才是本文的重点!
有的时候写文章,需要配个简单的 demo,怎么破?外链当然可以,但是没有直接显示在文章中显得直观。
我理想中的状态是,可以用 markdown 写文章,但是文章中有些代码可以方便查看 HTML 效果。最后,我开发了 codedog 这个工具,用 markdown 写文章,自动生成 html 文件,比如我前段时间在看 《CSS 揭秘》这本书,我用 markdown 做笔记,用 codedog 生成的 HTML 可以方便查看 CSS 效果,而且支持在线编辑,简直是爽,具体实现效果可以 点击这里 查看。
但是 codedog 这个工具是为了这个需求量身定做的,有一定的局限性,有时候要实现文章中带 demo 的效果,不得不在 markdown 和 HTML 中取舍,比如我之前为了学习 flex 写的 这个 demo,是纯 HTML 写的,且存在一定的特殊性(不可复用)
最后就要说到文章开头说的 “发现了一个新的写 demo 的思路”,做到首尾呼应,是什么呢?
通过设置 style 标签的 display:block 样式可以让页面的 style 标签显示出来,并且加上 contentEditable 属性后可以让样式成为可编辑状态,更改后的样式效果也是实时更新呈现,这就给交互创造了新的可能。
之前的实现如果页面有样式,并且修改样式直接预览(类似 html editor1 或者 html editor2 ),其实实现是获取 value 然后再插入 HTML 文档流中,而通过设置 style 标签的 display:block 样式,操作的就是实际的样式,不需要拐弯抹角。
写了个简单的 demo 可以看下,确实是另一种思路。
所以说,"文章中带 demo" 所说的文章实现,可能是 HTML 的,也可能是 markdown 的,具体如何,需要视情况而定了。
总结下:
如果是 markdown 写的文章(如果需要涉及 inline 的 demo),最后肯定是要编译成 HTML 预览,思路类似 codedog
如果直接用 HTML 写文章,类似 这个),那么我觉得复用性其实不是很高,毕竟交互方式是不一样的(也可以没有交互),这个时候(如果有交互),可以试试 这种方式。
总结总结就不总结了,都在上面了,如果有补充,热烈欢迎 ?
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/51710.html
摘要:是一门很神奇的语言,很多和它不相干的功能却能起到很显著的效果,有些在看起来实现都有一定的工作量,一句属性就能轻而易举的解决,下面来看几个例子主要和事件相关。那么,如何借助来监听这些呢可以从过渡和动画两个思路来考虑。 CSS是一门很神奇的语言,很多和它不相干的功能却能起到很显著的效果,有些在js看起来实现都有一定的工作量,CSS一句属性就能轻而易举的解决,下面来看几个例子(主要和js事件...
摘要:扩展单一职责原则又称单一功能原则,面向对象五个基本原则之一。马丁表示此原则是基于汤姆狄马克和的著作中的内聚性原则发展出的。 [解读]Thinking in React 原文:http://facebook.github.io/react/docs/thinking-in-react.html 前言 Thought is the seed of action 这是放置在官方的QUICK ...
摘要:打开可读写的文件,该文件必须存在。若文件不存在则建立该文件。多文件读写保存假设一个需求如下多个文件都要处理和上面的处理方式类似处理完之后保存到一个新文件夹内其实这个需求实质上只是比单文件读操作只多了一个写操作。 记录下第一次使用Python读写文件的过程,虽然很简单,第一次实现其实也有些注意的事项。 单个文件的读操作: 我们先假设一个需求如下: 读取一个test.txt文件 删除指定...
摘要:前端面试题及答案总结掘金技术征文金三银四,金九银十,用来形容求职最好的几个月。因为的存在,至少在被标准化的那一刻起,就支持异步编程了。然而异步编程真正发展壮大,的流行功不可没。 showImg(https://segmentfault.com/img/bVVQOH?w=640&h=319); 1、2017前端面试题及答案总结 |掘金技术征文 金三银四,金九银十,用来形容求职最好的几个月...
阅读 2940·2023-04-26 01:52
阅读 3467·2021-09-04 16:40
阅读 3628·2021-08-31 09:41
阅读 1763·2021-08-09 13:41
阅读 554·2019-08-30 15:54
阅读 2957·2019-08-30 11:22
阅读 1611·2019-08-30 10:52
阅读 946·2019-08-29 13:24