Snippet 是一款代码片段收集工具,经过一天三夜的开发终于上线了。

由于使用原生 JS 开发,效果利用 CSS3 实现,所以如果想有一个好的视觉体验,请使用 Chrome/FireFox 预览(后续会持续优化)。

基本功能

代码片段收集工具?你说的是 gist 么?这东西有用?昨天我在社交平台发上线预告的时候,有几个朋友提出来疑问。二话不多说,先去看线上效果

本应用使用 Jekyll 构建,托管在 github 上,提供了如下基本功能:

  • Snippet 按照文件夹储存分类呈现
  • 整合在一起之后,单页面预览所有 Snippet
  • 提供了快捷的搜索功能
  • 每个 Snippet 对应 github 直接编辑的地址
  • 提供了一个添加 Snippet 的快捷入口
  • Snippet 的语法就是 markdown ,当然也可以跟写博客似的写 snipet,嵌入 demo,嵌入说明等。

所以只要有 github 权限,可以直接编辑代码,立即生效。

使用说明

一个小东西,硬生生开发了十几个小时。我对很多小细节扣的比较多,虽然自己不是设计出身,但是要求自己设计出来的东西能看、好看,所以常常走简约路线,复杂的设计搞不定。为了体验更好一些,我在页面上添加了几个小功能:

1. 添加 snippet

进入页面之后,你可能看清楚了,左上角位置有个不是很明显的加号,点进去就会跑到 github 页面,由于是我的仓库,只有我能够直接编辑,其他人如果想添加代码段,需要 fork 过去之后,提交 PR,后续我会开发一个工具,方便其他人直接提交代码。

新建文件夹十分方便,输入 /foldName 然后回车,github 就会自动建立一个文件夹,当然,如果文件夹存在,就会是进入文件夹。

2. 搜索 snippet

当我做完之后,发现找到一个自己收藏的 snippet 可真难,于是很自然的开发了一个搜索工具,搜索的范围是所有 snippet 的 title 名称,如果匹配到了就展示出来(当然,需要你点击 Enter 按钮)。

3. 编辑 snippet

这个快捷入口直达该 snippet 的编辑地址,可以线上编辑,commit 之后立即生效。

这也是我为什么不使用 hexo 本地构建而使用 Jekyll 让 github 自动构建的目的(hexo 写插件用的语言是 nodejs,而 jekyll 是 ruby,所以各有利弊,本博客使用的就是 hexo 构建)。如果你喜欢这个 snippet ,可以点击编辑按钮左侧的小红心,哈哈~

后续开发

整个应用的开发,相对还是比较仓促的,存在比较多大的问题,所以后续有空也会不断优化它,直到我和大家用的都爽~ 那么,后续需要做的事情有:

  • 响应式预览页面
  • 收集 snippet 的工具
  • 补充更多类型 snippet,提升完整度
  • github 访问较慢,托管到 gitcafe 或者 coding

好了,如果大家喜欢这个应用,就去 github 上 start/fork 并且提交你的 snippet 吧!!

贡献代码

如果你想贡献代码,可以执行如下操作:

git clone https://github.com/{YOUR_GITHUB_NAME}/snippets.git
cd snippets
git chechout -b gh-pages
cd snippets
# 选择你想提交的文件类型,比如 html
cd html
touch {YOUR_CONTRIBUTE_FILE_NAME}.snippet

可以使用 markdown 语法。其中,{YOUR_CONTRIBUTE_FILE_NAME}.snippet 的格式为:

---
title: {NAME}
--- {CONTENT}
  • 提交代码
git add --all
git commit -m "add file html/{YOUR_CONTRIBUTE_FILE_NAME}.snippet"
git push origin gh-pages
  • 然后在你的 PR 页面提交一个 PR 到 barretlee/snippets 的仓库

本文转自我的个人博客:http://www.barretlee.com/blog/2015/09/29/new-application-snippet/

新应用上线 Snippet的更多相关文章

  1. 【网站】i新媒上线了!

    [New]i新媒上线了! i新媒,是新媒体人常用和必备的工具导航,我们整合了自媒体平台.行业资讯.运营营销.学习创业等常用的网站,让新媒体人更快地获取有用的知识. 访问链接:https://ixm.h ...

  2. 【HUAWEI Mate30】抽奖啦!华为IoT新福利上线!

    华为云OceanConnect IoT云服务包括应用管理.设备管理.系统管理等能力,实现统一安全的网络接入.各种终端的灵活适配.海量数据的采集分析,从而实现新价值的创造. 华为云OceanConnec ...

  3. SEO经验-如何做到新站上线半个月谷歌收录3万

    一个网站在做搜索引擎优化的时候,首先考虑的肯定是百度,这个是毋庸置疑的,毕竟百度占领者差不多七成的搜索市场份额. 第二考虑的是360搜索,这个也是毋庸置疑的,因为360搜索占领者差不多两成的搜索市场份 ...

  4. SPSSAU新功能上线:高级公式、综合得分一键计算!

    一直关注我们的朋友们一定会发现,近期SPSSAU增添了很多新功能. 我们精挑细选出6个最常使用的功能,介绍给大家,看看这些新功能你有没有解锁成功呢? 01 一键删除无效样本 “无效样本”功能中,添加了 ...

  5. LightningChart JS 3.0 新功能上线

    在这次的LC JS更新中,首次将极坐标图引入图表库. 这种全新的图表类型可以通过API轻松地进行样式设置.极坐标可以用作独立图表或在仪表板中使用. 另外,用于 XY图表的对数轴也添加到了这次的更新,L ...

  6. 新站上线啦,Html5Think,H5优秀资源的收集、学习、分享和交流

    最近闲来做了个H5资源站,刚刚有点资源,可以访问交流下. 栏目: H5网站模板 H5动画特效 H5资源工具 H5学习资料 致力于H5的学习,通过各个H5优秀案例的学习,逐步完善自己的H5体系,有朝一日 ...

  7. 恶意软件/BOT/C2隐蔽上线方式研究

    catalogue . 传统木马上线方式 . 新型木马上线方式 . QQ昵称上线 . QQ空间资料上线 . 第三方域名上线 . UDP/TCP二阶段混合上线 . Gmail CNC . NetBot两 ...

  8. 社区商业试玩O2O:良渚文化村新街坊牵手阿里巴巴

    在电商时代,越来越多的人选择便捷的网上购物,使得实体商业受到了不小的冲击,各种大型的购物中心.购物广场已经不再那么人气十足,因此一些特色商业街区.社区商业频频出现,也不乏一些新玩儿法. 阿里巴巴(专题 ...

  9. 重大新闻:借贷宝不用绑卡了,借贷宝APP推出肖像识别新功能!

    动动手指,20元人民币立即到手:http://www.cnblogs.com/mfryf/p/4754384.html 滴滴打车烧钱十几个亿,狂送打车券,很多人天天免费坐车! 去年年初百度钱包注册奖励 ...

随机推荐

  1. UE4新手之编程指南

    虚幻引擎4为程序员提供了两套工具集,可共同使用来加速开发的工作流程. 新的游戏类.Slate和Canvas用户接口元素以及编辑器功能可以使用C++语言来编写,并且在使用Visual Studio 或 ...

  2. java字符乱码

    在java中处理字符时,经常会发生乱码,而主要出现的地方在读取文本文件时发生,或者是写入到文件中,在其他地方打开乱码. 如下例子: BufferedReader br = null; try { br ...

  3. 我为Net狂 ~ 社交平台系列小集合!

    微信平台: 我为Net狂(dotNetCrazy) 资源贴吧: http://tieba.baidu.com/f?kw=毒逆天 个人博客: http://dunitian.cnblogs.com/ h ...

  4. JQuery 选择器

    选择器是JQuery的根基,在JQuery中,对事件的处理,遍历DOM和AJAX操作都依赖于选择器.如果能够熟练地使用选择器,不仅能简化代码,而且还可以事半功倍. JQuery选择器的优势 1.简洁的 ...

  5. Effective前端2:优化html标签

    div { float: left; } .keyboard > div + div { margin-left: 8px; } --> div{display:table-cell;ve ...

  6. 基于注解的bean配置

    基于注解的bean配置,主要是进行applicationContext.xml配置.DAO层类注解.Service层类注解. 1.在applicationContext.xml文件中配置信息如下 &l ...

  7. VS2015墙内创建ionic2 【利用nrm更换源,完美!】

    STEP 1 设置cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org   一句话建立cnpm STEP 2 安装nr ...

  8. Linux基础介绍【第六篇】

    定时任务crond介绍 crond是什么? crond是linux系统中用来定期执行命令或指定程序任务的一种服务或软件.一般情况下,安装完CentOS5/6 linux操作系统之后,默认便会启动cro ...

  9. 烂泥:redis3.2.3安装与配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 前一段时间写过一篇codis集群的文章,写那篇文章主要是因为当时的项目不支持redis自 ...

  10. Vue.js——vue-router 60分钟快速入门

    概述 vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用.vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来.传统的 ...