翻书效果实现
春已归来,看美人头上,袅袅春幡。无端风雨,未肯收尽余寒。年时燕子,料今宵梦到西园。浑未办,黄柑荐酒,更传青韭堆盘。
却笑东风,从此便熏梅染柳,更没些闲,闲时又来镜里,转变朱颜。清愁不断,问何人会解连环。生怕见花开花落,朝来塞雁先还。
辛弃疾《青玉案·元夕》
效果预览
实现代码
htmljavascript
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465<!doctype html><html><head> <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script> <script src='http:// ...
Hexo中butterfly主题添加标签云效果
效果展示
blog butterfly hexo 大明 笑话 苏联笑话
gif效果展示
配置方式
首先,安装hexo-tag-cloud插件。
1npm install hexo-tag-cloud -S
然后修改theme/butterfly/layout/includes/page/tags文件
12345678.tag-cloud-list.is-center !=cloudTags({source: site.tags, minfontsize: 1.2, maxfontsize: 2.1, limit: 0, unit: 'em'}).tag-cloud-list.is-center script(type="text/javascript" charset="utf-8" src="/js/tagcloud.js") script(type="text/javascript" charset="utf-8" src=" ...
大明政治笑话
初[1],大明人携满洲人及朝鲜人乘船出于东海,遇飓风,桅折而船破,漂数日,至一荒岛。岛中土著好食人,获此三人,喜甚,欲食之。
大明人哀号曰:『竟为野人所食。』酋长闻之,怒曰:『吾辈非野人也,我邦物华天宝,人杰地灵[2],不下中国。试言吾邦所亡[3]有者,若能言,饶尔不死。』
朝鲜人曰:『贵邦有宝刀否?』酋长令左右进宝刀,试之,金石可断,遂食朝鲜人。
满洲人曰:『贵邦有辫子否?』酋长令左右剃发,为金钱鼠尾,亦食满洲人。
大明人曰:『贵邦有三饷[4]否?』酋长闻之色挠[5],顾左右,皆失色,良久,答曰:『亡有。』大明人惑之,问曰:『既无三饷,何以食人?』
或曰:『大明之悲观者与乐观者奚[6]辨?』
曰:『习陕甘官话者,乐观者也。习满洲夷语者,悲观者也。』
初,三罪人于诏狱[7]之中论及入狱之因由。
一人曰:『我弹劾魏阉[8],是以下狱。』
一人曰:『我阿附魏阉,是以入狱。』
一人曰:『我即魏阉也。』
或曰:『仁义充塞[9],率兽而食人,国可亡矣。』 适锦衣卫千户闻之,欲禽[10]此人。
此人曰:『子无敢[11]禽我也,我所言者,非大明也。』
锦衣卫曰:『休矣[12],我为锦衣卫二十余 ...
使用Hexo搭建个人博客
这篇博客记载了我的个人博客的搭建过程。
准备
首先需要安装git和node.js。
建站
使用如下命令建站:
1npx hexo init 项目名称
进入项目所在的文件夹,使用以下命令安装所需依赖:
1npm install
使用命令npx hexo s预览效果。
使用butterfly主题
安装butterfly主题
以下内容详见butterfly官网
首先在博客的根目录里面克隆butterfly,命令如下:
1git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly
在hexo根目录下的_config.yml文件中找到theme,并将其修改为butterfly。
安装pug和stylus插件:
1npm install hexo-renderer-pug hexo-renderer-stylus --save
在博客项目的根目录下新建文件_config.butterfly.yml,然后将themes/butterfly/_config.yml文件中的内容拷贝进 ...
Hexo实现pdf电子书阅读器
效果预览
点击文档右侧或左侧可以翻页。
上一页
下一页
var url = 'https://cdn.jsdelivr.net/gh/Qiu-Weidong/blog/resources/pdf/周髀程式释注.pdf'
具体实现
在themes/butterfly/source/css文件夹下面新建文件book.css,文件内容如下:
12345678910111213141516171819202122232425262728293031/* 一些book需要的css寫在這裏 */.book-viewer { position: relative;}.book-viewer .read-wrapper .mask { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-ind ...
使用clang API来编译代码
这篇博客翻译自https://fdiv.net/2012/08/15/compiling-code-clang-api。
朋友,你有尝试过使用clang吗?clang是一个开源的编译器,正处于活跃的开发当中。clang的目标是代替GCC来编译C、C++以及Objective-C。和GCC相比,clang更快,并且能够生成相对更快的代码,还可以输出更多有用的错误信息。
如果你想要以编程的方式来编译代码,clang是一个更好的选择。和GCC不同,clang既是一个工具也是一系列的API,这使得clang的源代码能够更容易被理解并复用。而且,Clang 是在 BSD 许可下分发的,对于我们这些从事与 GCC 的 GPL 许可不兼容的项目的人来说无疑是一个好消息。
Kosada正在进行一个很酷的项目,这个项目建立在clang以及其底层的llvm框架之上。在使用clang的过程当中,我看到了编写代码来完成其他代码的编译工作是多么的简单。真的,现在回想起来真的很简单。我写的代码很简单,但是我花了很多时间挖掘 Clang 源代码来弄清楚要写什么。所以这是我对 Clang 社区的第一个贡献:两个使用 ...
llvm的一个小示例
C语言代码如下:
1234567#include <stdio.h>int main(int argc, const char ** argv) { printf("hello world!\n"); return 0;}
生成llvmIR的代码如下:
1234567891011121314151617181920212223242526272829303132333435363738394041424344#include "llvm/IR/Module.h"#include "llvm/IR/LLVMContext.h"#include "llvm/IR/IRBuilder.h"#include "llvm/IR/Function.h"#include "llvm/IR/GlobalVariable.h"#include "llvm/Support/raw_ostream.h"#include &qu ...
如何构建并运行编译器
由于构建需要用到x.py工具,因此请确保你的计算机上已经安装有python。
有关如何安装Python和其他先决条件的说明,请参阅下一页。
获取源代码
源代码放在仓库rust-lang/rustc中。包含编译器、标准库(core、alloc、test、proc_macro等)以及一堆工具(比如rustdoc、自举设施等等)。
第一步自然就是克隆rustc仓库:
12git clone https://github.com/rust-lang/rust.gitcd rust
还有 LLVM、clippy、miri 等子模块。构建工具会自动为您克隆和同步这些。 但是,如果您愿意,可以执行以下操作:
12345# first time 将子模块下载下来git submodule update --init --recursive# subsequent times (to pull new commits)git submodule update
创建config.toml文件
首先,运行 ./x.py setup。 这将进行一些初始化并为您创建一个具有合理默认值的 config.toml。 ...
开始
本文档翻译自https://rustc-dev-guide.rust-lang.org/getting-started.html
本文档并不全面;它只关注最有用的一些东西,以方便快速入门。获取更多信息,请参阅本章以了解如何构建和运行编译器。
提出问题
rust编译器团队(即t-compiler)经常在Zulip上划水,你可以很容易在这里找到问题的答案。
**请大胆提问!**很多人觉得提问会浪费专家的时间,但没有任何一个t-compiler的专家会这样认为,贡献者对我们来说十分重要。
还有,如果你不介意,请使用公共主题,这样别人也可以看到问题和答案,而且有可能将你的问题和答案整合到本文档中。
专家介绍
并非所有t-compiler专家都精通rustc的任何细节,毕竟这是一个很大的项目。要了解每个专家擅长的部分,可以查阅专家映射表。
这个专家映射表并不完整,如果找不到要咨询的专家,也欢迎提问。
礼貌
我们确实要求您注意在您的问题中包含尽可能多的有用信息,但我们认识到,如果您不熟悉Rust,这可能会很困难。
只是在不提供任何上下文的情况下 ping 某人可能会有点烦人并且只会产生噪音,毕竟每 ...
antlr4安装
Java安装
安装antlr4首先需要安装java环境。
linux安装java
以Ubuntu系统为例,使用一条命令即可安装java。
1sudo apt install openjdk-8-jdk
windows安装java
首先从官网下载java安装包。
antlr4安装
略
命令行别名配置
grun的常用选项
tokens 打印出记号流。
tree 以LISP风格的文本形式打印出语法分析树。
gui 在对话框中可视化地显示语法分析树。
ps file 在PostScript中生成一个可视化的语法分析树表示,并把它存储在file文件中。
encoding encodingname 指定输入文件的编码。
trace 在进入/退出规则前打印规则名字和当前的记号。
diagnostics 分析时打开诊断消息。此生成消息仅用于异常情况,如二义性输入短语。
SLL 使用更快但稍弱的分析策略。
grun的使用方式如下:
1grun 语法名称 开始符号 选项