jupyter巨好玩-使用jupyter结合VScode写博客
打开jupyter-ipython
其实人家就叫jupyter了,后面咱可能就少提ipython了。
# 打开命令行,让我们输入
jupyter notebook
当然,这个前提是你已经安装了jupyter并学会了基本使用,请看本系列的前两篇文章。
ok,咱们继续!
这时候应该已经自动打开一个网页了,右上角有个new点一下,出现下拉菜单,是你的python版本,点一下,就会新建一个网页,就可以开始玩了!
如下图所示:


第一行是jupyter xxxxxxxx一堆东西,有个Untitled看见没?
如下图所示:

点一下,是可以编辑的,改成你想要的名字,比如我们正在写的这篇:
如下图所示:

开始写博客了
现在就已经是在jupyter的页面上写东西了。简单说说能写啥吧!
两种模式
命令模式(Esc)
在默认的输入模式下,按Esc可以进入命令模式,是不是和vim有点像?
代码和markdown是常用的两种:分别用y和m切换,前提是在命令模式下!
查看快捷键:
Help-Keyboard Shortcuts

如下图所示:最常用的我给加点颜色吧!


输入模式(Enter)
在命令模式下,直接按一下回车Enter就进入到编辑模式了,比如咱们刚才一瞬间就是这么切换过来写文字的。
两种模式如下图所示:

写代码
用过ipython的应该对前面的In[],这种标志已经见习惯了,就是直接输入代码的。
这样的代码有语句,有运行结果,有错误提示,简直是居家必备啊!
下面是个检测python版本的例子:
但此时咱们在写字呢,怎么添加一个cell并且开始写代码,直到运行呢?
步骤如下:
- Esc进入命令模式
- 按一下B在下面添加一行
- 写代码
- 用ctrl+enter运行,或者alt+enter也行(这时候会自动再插入一行)
- 你会看见类似下面的样式
import sys
print sys.version
2.7.11 |Anaconda 4.0.0 (64-bit)| (default, Feb 16 2016, 09:58:36) [MSC v.1500 64 bit (AMD64)]
写博客到cnblogs
这里的文字已经是md的格式了,按理说直接粘贴到任意一个博客,就好了,现在很多博客都直接支持md输入,比如cnblogs,csdn,图灵社区等等。
但是,别着急,咱们可以结合VScode把博客写到cnblogs上,这是一种更好玩的方式。
步骤如下:
- 下载VScode
- 安装writecnblog插件
- 导出当前的jupyter notebook为markdown文件
- 用VScode编辑md文件
- 发布博客
下载VScode
微软这几年开源的脚步挺大的,挺好!哈哈!这个VScode就是其一,跨平台,而且用了最先进的js桌面框架(electron)开发,和github出的Atom同属一派。
下载地址:https://code.visualstudio.com/
安装writecnblog插件
打开vscode,按一下ctrl+p,会打开一个窗口,输入
ext install writecnblog
回车,等一会,安装好了会提示你的!
更多内容请参考作者博客吧!http://www.cnblogs.com/caipeiyu/p/5475761.html
这里简单贴俩效果图:


导出当前的jupyter notebook为markdown文件
回到jupyter的页面,在菜单找到file-download as-Markdown,保存一下,
如下图所示:


用VScode编辑md文件
打开我们刚才保存的md文件,我们刚才有几个地方写的是如下图所示:,这时候就要真的开始加图片了!(我已经边做边截图都准备好了-)
就用刚才安装好的vscode插件!
- 用 ctrl + shift + p 打开命令行
- 在命令框里面输入cnblog:上传图片,然后就出现一个本地图片路径的输入框
- 要输入完整的本地图片地址,这里建议在vscode打开的工作目录建立个imgs文件夹,把图片都放到里面,vscode很强大,既能预览图片,还能右键复制地址
如下图所示:

- 输入Blog地址名的输入框,这个地址名在博客管理的设置里面查看,一般就是用户名啦!
- 再输入用户名和密码,就可以上传图片
- 图片上传成功后,就会返回一个图片地址到编辑框里面。
自己调整一下位置就好了!
如下图所示:






发布博客
作者这样规定的插件规则:
发布文章是把文件名称当做标题名称。
发布完文章后,会在文件名称前面加一个[文章id]文件名称,这个[文章id]是用于更新时候用的,如果开头有这么一个东西,还要当做新文章发布,会先提醒你有更新信息。
经过测试,我们需要先保存一下草稿,(这时候如果直接发布就会生成带id的文件了,由于源文件改了名字,这时候vscode会报错,不用理他,可能是插件bug)。再次打开刚才带有id的文件,再用发布的命令发布一下就好了,这时候还需要填三个东西的:
还有,存完草稿不要立刻发布,会提示你太频繁发布的--!
- 输入Blog地址名的输入框,这个地址名在博客管理的设置里面查看。一般就是用户名
- 再输入用户名和密码,就可以上传图片
然后登陆你的博客园看看吧!
我的这个jupyter的源文件在这里:https://raw.githubusercontent.com/HowieWang/cnblogs/master/jupyter巨好玩-使用jupyter结合VScode写博客.ipynb
是个半成品,仅供参考!
have fun!
jupyter巨好玩-使用jupyter结合VScode写博客的更多相关文章
- 用vscode写博客和发布
最近想开始写点博客什么的,然后看到在博客园注册了一个账号这么久,也没有写过文章,就想在博客园写点什么来刷个存在感,而且觉得用Markdown编辑器来写文章挺不错,但是博客园自带的Markdown编辑器 ...
- HDU 2064 菜鸡第一次写博客
果然集训就是学长学姐天天传授水铜的动态规划和搜索,今天讲DP由于困意加上面瘫学长"听不懂就是你不行"的呵呵传授,全程梦游.最后面对连入门都算不上的几道动态规划,我的内心一片宁静,甚 ...
- vscode发博客插件更新v0.1.0(可能会相对好用点吧)
距离上一次编写这个vscode在博客园发博客的插件已经过去好久了,那个时候vscode插件的功能也没有那么强大,期间有人提出问题来,也有人提出建议来,我一直没有抽出时间来维护,深感抱歉,直到有人加到我 ...
- 记录一下第一次用markdown写博客回滚过程
前面写博客,一直用的是博客园的TinyMCE编辑器, 今天不知道哪根筋搭牢了,想试试用Markdown写. 于是在“选项”里面把默认编辑器修改为“Markdown”,鉴于本人有一定的Markdown基 ...
- 新功能发布!Markdown写博客!
有一种神奇的语言,它比html还简单,它巧妙地将内容与格式整合在一起--它就是Markdown. 现在我们实现了博客对Markdown的内置支持,可以让您轻松地在园子里用这个神奇的语言写博客! &qu ...
- 第一次写博客Poj1044
Date bugs Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 3005 Accepted: 889 Descript ...
- (转)[BetterExplained]为什么你应该(从现在开始就)写博客
(一)为什么你应该(从现在开始就)写博客 用一句话来说就是,写一个博客有很多好处,却没有任何明显的坏处.(阿灵顿的情况属于例外,而非常态,就像不能拿抽烟活到一百岁的英国老太太的个例来反驳抽烟对健康的极 ...
- 推荐几款自己写博客使用的Ubuntu软件
使用Ubuntu桌面有段时间,到现在也写过几篇博客了,期间用到的几款好用的软件推荐给大家.1. 图片简单编辑软件gthumbubuntu默认提供shotwell查看图片,类似与windows的图片查看 ...
- QQ表情动图,增加写博客的乐趣
QQ表情动图,增加写博客的乐趣 body{margin:0px;}
随机推荐
- Debian 使用杂记(一)
前几天又冲动的把系统换成Linux了,最开始接触Linux是2010年,那时候买了个本本,预装的是ubuntu8.10,自此知道除了windows原来还有其它操作系统. 不记得什么时候开始知道ubun ...
- git 常用命令总结。
引用:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137396284551 ...
- 从汇编看c++中成员函数指针(一)
下面先来看c++的源码: #include <cstdio> using namespace std; class X { public: int get1() { ; } virtual ...
- [转]MFC 加载其他的应用程序
三个SDK函数 winexec, shellexecute,createprocess可以使用.WinExec 最简单,两个参数,前一个指定路径,后一个指定显示方式.后一个参数值得说一下,比如泥用 S ...
- python时间函数
import time print time.time() print time.localtime() fm = '%Y-%m-%d %H:%M:%S' YMD = time.strftime(fm ...
- mysql 根据规定的数组进行排序
最近在开发中遇到一个问题,我要根据一组商品的佣金进行排序和分页,可是佣金并不在商品表中,于是我就只能通过数组的操作把佣金计算出来,然后通过array_multisort()方法进行排序,可是无法做到分 ...
- Sql Server专题一:索引(中)
写在前面的废话: 索引这个知识点,我前前后后不知道看了多少边,网上的文章五花八门,搞的我晕头转向,搞的牛逼点的就是测试索引带来的好处,还搞一大堆的测试数据出来,有意思吗?MS自己不会测试吗?这样的测试 ...
- Java 并发专题 :FutureTask 实现预加载数据 在线看电子书、浏览器浏览网页等
继续并发专题~ FutureTask 有点类似Runnable,都可以通过Thread来启动,不过FutureTask可以返回执行完毕的数据,并且FutureTask的get方法支持阻塞. 由于:Fu ...
- 并发(Concurrency)和并行(Parallelism)的区别
最近在读<real world haskell>里关于并行的一章时,看到作者首先对并发(Concurrency)和并行(Parallelism)的区别进行了定义和解释.以前我对这个问题也是 ...
- 原生应用native、Web应用、混合应用hybrid:3者的优缺点解析
最近原生应用.Web应用.混合应用的名字让我们听得比较熟悉了,现在我们就通过评析各种应用的优缺点来更进一步看看这三者的区别. 一. 原生应用: 你使用过微软PowerPoint 或者 Word吧?这些 ...