本文仅写了 macOS 下的实践, 其他系统可参照修改。
通过 homebrew 安装 imagesnap:
brew install imagesnap
2019-06-03
Note that Office2019 DO NOT support activate via simple copy/paste plist license file which is the simplest way to activate Office 2016. Fortunately, you can also use the VL Serializer tool, just install Office 2019 and Serializer, then run Serializer to activate.
.file-code-line .blob-line-code { | |
background: #333; | |
} | |
.file-code-line .blob-line-nums { | |
background: #292929; | |
border-right: 3px solid #707070; | |
color: #c0c0c0; | |
} |
https://chrome.google.com/webstore/detail/poakhlngfciodnhlhhgnaaelnpjljija
Click CJS extension icon:
Paste github-reader-mode.js
content into popout window. click save.
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="utf-8"> | |
<meta http-equiv="X-UA-Compatible" content="IE=edge"> | |
<meta name="description" content="MoonLite is a UI component library based on Vue 2.0"> | |
<meta name="viewport" content="width=device-width,initial-scale=1.0"> | |
<link rel="icon" href="https://avatars0.githubusercontent.com/u/1834189"> | |
<title>MoonLite</title> | |
</head> |
dir="." #Set the default temp dir | |
tmpA1="$dir/spectrumhist_1_$$.png" | |
tmpB1="$dir/spectrumhist_1_$$.cache" | |
trap "rm -f $tmpA1 $tmpB1; exit 0" 0 #remove temp files | |
trap "rm -f $tmpA1 $tmpB1; exit 1" 1 2 3 15 #remove temp files | |
if [ $# -eq 2 ] | |
then | |
colors=$2 | |
else | |
colors=8 |
swagger: '2.0' | |
info: | |
title: COE API | |
description: COE Project API, make repentance great again. | |
version: 1.0.0 | |
host: api.coe.devops.dataengine.com | |
schemes: | |
- http | |
basePath: '/' | |
produces: |
<?php | |
/** | |
* wechat php test | |
*/ | |
//define your token | |
define("TOKEN", "你的token"); | |
$wechatObj = new wechatCallbackapiTest(); | |
//验证微信的时候记得把下面的注释取消。还有最后两行添加注释。 |
#!/bin/bash | |
for ((i=1;i<=$#;i++)); | |
do | |
if [ ${!i} = "-from" ] | |
then ((i++)) | |
from=${!i}; | |
elif [ ${!i} = "-login" ]; | |
then ((i++)) |
extension String { | |
subscript (r: Range<Int>) -> String { | |
get { | |
let startIndex = self.startIndex.advancedBy(r.startIndex) | |
let endIndex = startIndex.advancedBy(r.endIndex - r.startIndex) | |
return self[Range(start: startIndex, end: endIndex)] | |
} | |
} | |
func substring(from: Int) -> String { | |
let end = self.characters.count |