熊二的三分田

种瓜得瓜 种豆得豆


  • 首页

  • 归档

  • 标签

  • 分类

  • 公益 404

Gitbook插件配置

发表于 2016-11-15 18:40:34 | 更新于 2018-07-16 21:20:13 | 分类于 gitbook

Gitbook插件配置

更多gitbook的配置信息可参考官方文档

1. book.json

首先在Book的根目录创建book.json文件,填上关于插件相关的配置信息,比如:

1
2
3
4
5
{
"plugins": [
"splitter"
]
}

这里只配置了一个splitter的插件,其他插件类似。

2. gitbook install

在book根目录中执行gitbook install即可安装插件。

3. gitbook build

安装完成插件之后,重新生成书籍就可以看下插件效果了。

4. plugin list

这里整理几个我用的的插件列表:

  • Splitter 文章的目录栏可以左右拖动,调整宽度。
  • Search-pro 支持中文搜索插件
  • Prism 语法高亮

Gogs配置完成之后,git用户无法通过ssh登录

发表于 2016-10-27 17:09:06 | 更新于 2018-07-16 21:20:13 | 分类于 Linux

错误:

Gogs配置完成之后,如果git用户采用ssh登录服务器时,会报如下错误信息:

1
2
3
4
5
ted@TeddeMacBook-Pro  ~  ssh git@tedxiong.com
PTY allocation request failed on channel 0
Hi there, You've successfully authenticated, but Gogs does not provide shell access.
If this is unexpected, please log in with password and setup Gogs under another user.
Connection to tedxiong.com closed.

原因:

针对Gogs配置的SSH密钥被Gogs增加了特殊处理,密钥内容之前添加了command,不能再提供给Git用户使用。

1
2
3
4
5
6
7
command="/home/git/gogs/gogs serv key-5 --config='/home/git/gogs/custom/conf/app.ini'",
no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDg5y31Gcqr9z0Uf71NBAcD4jtYeETkOWGQ77DGxAX9UUKDKe
AhkFqJ6+MCcUza4R+bCatJbLZcMpIS6R4KqY1WXdl2XNdiRjuG41esde5TBiwbOdBLlj1u1kaLSSLOMe25PKUej
FLiEfv3NbNXAutl0ttIPKkAwwaW7hWPkWWOaOspB9Spnn5BT3cF319cs+41yr6aOnE1CY0OcQGALwlteSs90zoQ
5a0yjNKkQK5JL2Jrg3OtmhAuIq61yXmTBUmrnpOQehxT1AwAF6tES6/TBsSewa8k3sUwT/KwsS63NfVrHEyb5QE
wsSmYjCGKVB9Ly1W6to3zEGda/tkX+jT ted@TeddeMBP.lan

方案:

采用双ssh密钥,在客户端进行配置,针对不同的ssh连接采用不同的密钥。

操作:

  1. Mac平台下,进入~/.ssh目录,之前肯定有了一对密钥,公钥id_rsa.pub和私钥id_rsa。
  2. 使用命令生成新的一对密钥,切记要命名跟原来的密钥不同,ssh-keygen -t rsa -f id_rsa_git -C "xiong-wei@hotmail.com"
  3. 在.ssh目录中创建config文件,然后添加如下内容:

    1
    2
    3
    4
    5
    Host gogs.yourdomain.com
    IdentityFile ~/.ssh/gogs_id_rsa
    IdentitiesOnly yes
    Host yourdomain.com
    IdentityFile ~/.ssh/id_rsa IdentitiesOnly yes
  4. 完成

Linux上用户权限的一些疑问

发表于 2016-09-17 22:18:30 | 更新于 2018-07-16 21:20:13 | 分类于 Linux
  1. 因为Nginx运行的用户是nobody,所以html文件夹的用户数所属是nobody:nobody,查看一下文件夹权限情况是755,也就是其他用户只有执行和读取的权限。
  2. 而Gogs运行在git用户上,如果想通过git钩子实现客户端内容推送到Git仓库之后,博客自动部署,需要做两件事情,git pull和gitbook build。在拉取仓库最新的内容时,git用户需要对当前目录具有写的权限。
  3. 使用root用户给html设置了757权限之后,git用户才能正常执行内容拉取和部署。
  4. 这样一来,我的网站根目录的权限就成了757了,感觉这样很不安全,但是想不到还能有什么办法解决。
  5. 突然灵机一动,不知道nobody这个用户组能不能添加用户,把git用户添加进去,只要给用户组赋权限,应该就安全一点了。
  6. 不太清楚nobody这个用户和用户组的含义和作用。

在Chrome上如何让google只搜索中文内容

发表于 2016-08-17 20:49:32 | 更新于 2018-07-16 21:20:13 | 分类于 tips

在Chrome上如何让google只搜索中文内容

在Chrome浏览器上使用google中进行搜索时,如果关键字是中文字符,得到的就是中文搜索结果。但是如果单独搜索英文字符时,得到的将是英文或者大部分都是英文的搜索结果,并没有中文内容。

如果我们想搜索国内站点的数据时,面对这种情况就很困难,以前我的办法就是利用Alfred来指定某度为搜索引擎。

但是一直觉得这样不够优雅,一来违背了我作为程序员坚决不用某度产品的宗旨,二来又要忍受竞价排名带来的搜索结果不准确的问题。所以今日抽空研究了一下,只要在浏览器里稍微做一下设置,就能达到快速搜索中文内容的目的。
首先,进入浏览器的设置-搜索引擎-管理搜索引擎,点击 添加

添加一个搜索引擎,内容如下,网址中填入:

1
https://www.google.com/search?hl=en&as_q=%s&lr=lang_zh-CN

添加完成后,搜索内容时,只要在地址栏(不是google首页的搜索栏)输入关键字,比如cn,然后加一个空格,输入搜索关键字,回车即可。

这样配置之后就能指定搜索中文内容了

移除GitBook目录下方的“本书使用GitBook发布”字样

发表于 2016-07-22 09:50:10 | 更新于 2018-07-16 21:20:13 | 分类于 gitbook

移除GitBook目录下方的“本书使用GitBook发布”字样

在使用GitBook生成书籍之后,目录的最下方会有“本书使用GitBook发布字样”,如果是英文环境则显示“Published with Gitbook”,如何移除这段文字呢?

  • 首先,在book的根目录里创建styles文件夹,然后在其中创建website.css文件,添加以下内容:

    1
    2
    3
     .gitbook-link {
    display: none !important;
    }
  • 其次,编辑book.json文件,添加下方内容。如果该文件不存在,请创建。更多关于book.json内容,请参考官方文档。

    1
    2
    3
    4
    5
    {
    "styles": {
    "website": "styles/website.css"
    }
    }
  • 重新使用gitbook build生成book即可。

快速配置Android项目里版本信息

发表于 2016-06-10 19:30:00 | 更新于 2020-01-13 20:12:07 | 分类于 android

快速配置Android项目里版本信息

  • 在项目根目录创建配置文件version.gradle,加入以下内容:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    def androidSupportVersion = '26.0.0'
    def androidConstraintLayout = '1.0.2'

    ext {
    versionCode = 1
    versionName = "1.0"
    compileSdkVersion = 26
    buildToolsVersion = "26.0.1"
    minSdkVersion = 16
    targetSdkVersion = 26
    appcompatV7 = "com.android.support:appcompat-v7:$androidSupportVersion"
    design = "com.android.support:design:$androidSupportVersion"
    constraintLayout = "com.android.support.constraint:constraint-layout:$androidConstraintLayout"
    }

    allprojects {
    repositories {
    jcenter()
    maven {
    url "https://maven.google.com"//以后的sdk都要从google自己的maven仓库中获取
    }
    }
    }
  • 在根目录的build.gradle文件中引入刚创建的配置文件,在文件顶部加入以下内容:

    1
    apply from:'version.gradle'
  • 在具体Module的build.gradle文件中通过如下方式来使用刚定义好的版本信息:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    android {
    compileSdkVersion getProject().compileSdkVersion
    buildToolsVersion getProject().buildToolsVersion
    defaultConfig {
    applicationId "com.tedxiong.android"
    minSdkVersion getProject().minSdkVersion
    targetSdkVersion getProject().targetSdkVersion
    versionCode getProject().versionCode
    versionName getProject().versionName
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    externalNativeBuild {
    cmake {
    cppFlags "-frtti -fexceptions"
    }
    }
    ndk {
    // Specifies the ABI configurations of your native
    // libraries Gradle should build and package with your APK.
    abiFilters 'armeabi-v7a'
    }
    }
    buildTypes {
    release {
    minifyEnabled false
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    }
    externalNativeBuild {
    cmake {
    path 'CMakeLists.txt'
    }
    }
    }

    dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile getProject().appcompatV7
    compile getProject().constraintLayout
    compile getProject().design
    testCompile 'junit:junit:4.12'
    }

我的Git一键提交脚本

发表于 2016-05-23 15:08:28 | 更新于 2018-07-16 21:20:13 | 分类于 git

我的Git一键提交脚本

在每次提交代码时都要输入三段命令,

1
2
3
$ git add --all
$ git commit -m "your commit msg"
$ git push

既然是自己的仓库,一个人提交,那么对于commit message的要求也就没那么高了,就有了个想法,能不能搞个一键脚本,代替三个命令,执行代码提交,说干就干。
第一版本的脚本push.sh如下:

1
2
3
4
5
6
time=`date "+%Y-%m-%d_%H-%M-%S"`
who=`hostname'
git add --all
git commit -m "${who} push @ ${time}"
git push origin master
echo "Finished Push"

另外,研究脚本的同时发现了一个新大陆,就是Git中的alias,使用alias可以大大提交输入效率,值得深入研究学习一下。

在Git中添加忽略文件

发表于 2016-04-20 16:30:00 | 更新于 2018-07-16 21:19:39 | 分类于 git

在Git中添加忽略文件

如果文件已经添加到缓存区

1
2
3
4
5
6
// 移除file1
git reset HEAD file1
// 移除全部
git reset HEAD *
//如果有多个文件可以使用通配符
git rm --cached FILENAME

添加忽略文件

1
2
3
touch .gitignore
echo 'file1' >> .gitignore
echo 'build/' >> .gitignore

配置全局的忽略文件

1
git config --global core.excludesfile ~/.gitignore_global

添加例外

如果不想跟别人分享.gitignore文件,可以在.git/info/exclude中配置规则。

My Blog Creative Commons license

发表于 2016-03-17 20:34:07 | 更新于 2018-07-16 21:19:39 | 分类于 blog

My Blog Creative Commons license

选择适合自己的知识共享许可协议

  • Choose a license

我的博客共享许可协议内容

  • HTML
1
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="知识共享许可协议" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a><br />本<span xmlns:dct="http://purl.org/dc/terms/" href="http://purl.org/dc/dcmitype/Text" rel="dct:type">作品</span>由<a xmlns:cc="http://creativecommons.org/ns#" href="https://tedxiong.com" property="cc:attributionName" rel="cc:attributionURL">TedXiong</a>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议</a>进行许可。
  • Markdown
1
2
[![](https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png)](https://creativecommons.org/licenses/by-nc-sa/4.0/)
本作品由[TedXiong](https://tedxiong.com)采用[知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议](https://creativecommons.org/licenses/by-nc-sa/4.0/)进行许可。

我的代码开源许可协议

1
2
3
4
5
6
7
8
9
10
11
12
13
Copyright 2015 TedXiong xiong-wei@hotmail.com

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
1…34
熊伟

熊伟

用技术改变生活

39 日志
16 分类
GitHub E-Mail Google Instagram 家庭云 家庭影院 路由器 代码库
Creative Commons
© 2016 — 2020 熊伟 版权所有 沪ICP备 - 17019408号
由 Hexo 强力驱动 v3.7.1
|
主题 — NexT.Pisces v6.3.0
0%