Pkold

codemirror用法

codemirror用法

codemirror用法

##初始化在线编辑器
<link rel="stylesheet" href="/js/codemirror/lib/codemirror.css">
<script src="/js/codemirror/lib/codemirror.js"></script>
<script type="text/javascript" src="/js/codemirror/addon/selection/active-line.js"></script>
<script type="text/javascript" src="/js/codemirror/addon/edit/matchbrackets.js"></script>
<script type="text/javascript" src="/js/codemirror/addon/display/fullscreen.js"></script>
<script type="text/javascript" src="/js/codemirror/mode/javascript/javascript.js"></script>
<link rel="stylesheet" href="/js/codemirror/theme/eclipse.css">
<link rel="stylesheet" href="/js/codemirror/addon/fold/foldgutter.css"/>
<script src="/js/codemirror/addon/fold/foldcode.js"></script>
<script src="/js/codemirror/addon/fold/foldgutter.js"></script>
<script src="/js/codemirror/addon/fold/brace-fold.js"></script>
<script src="/js/codemirror/addon/fold/comment-fold.js"></script>
<link rel="stylesheet" href="/js/codemirror/addon/lint/lint.css">
<script src="/js/jsonlint.js"></script>
<script src="/js/codemirror/addon/lint/lint.js"></script>
<script src="/js/codemirror/addon/lint/json-lint.js"></script>
<script src="/js/beautify.min.js"></script>



 //初始化编辑器
var editor = CodeMirror.fromTextArea(document.querySelector(".inputrule"), {
lineNumbers: true,     // 显示行数
indentUnit: 4,         // 缩进单位为4
styleActiveLine: true, // 当前行背景高亮
matchBrackets: true,   // 括号匹配
mode:"application/json", // HMTL混合模式
lineWrapping: true,    // 自动换行
theme: 'eclipse',      // 使用模版
lineWrapping:true,//支持折叠
foldGutter: true,
lint: true

});
editor.setSize('auto','auto');
CodeMirror.commands.autocomplete = function(cm) {
cm.showHint({hint: CodeMirror.hint.anyword});
};
jsons=$rulejson
editor.setValue(JSON.stringify(jsons))
format();
function format() {
editor.setValue(js_beautify(editor.getValue()))
    }e
android cordova linux

cordova入门到放弃?

cordova入门到放弃?

安装androidsdk

设置JAVA_HOME环境变量,指定为JDK安装路径 设置ANDROID_HOME环境变量,指定为Android SDK安装路径 同时也建议你添加Android SDK的tools和platform-tools目录到你的PATH

~/.bash_profile

export ANDROID_HOME=/Development/android-sdk/
export PATH=${PATH}:/Development/android-sdk/platform-tools:/Development/android-sdk/tools
//运行$ source ~/.bash_profile

安装cordova

sudo npm install -g cordova

创建app项目

cordova create hello com.example.hello HelloWorld

添加平台

 cordova platform add android --save

编译app

cordova build

部署虚拟机内的app(adb先链接虚拟机或者手机)

 cordova emulate android
 cordova run android

添加插件

cordova plugin search camera

换图标 config.xml

用尖括号包裹
    icon src="res/ios/icon.png" platform="ios" width="57" height="57" density="mdpi" 

储存数据(js向)

### LocalStorage

```javascript ar storage = window.localStorage; var value = storage.getItem(key); // 传递键的名字获取对应的值。 storage.setItem(key, value) // 传递键的名字和对应的值去添加或者更新这个键值对。 storage.removeItem(key) // 传递键的名字去从LocalStorage里删除这个键值对。

```

### WebSQL

```javascript var db = window.openDatabase(name, version, displayName, estimatedSize);

``` * name (string): 数据库的唯一名称,会被存在磁盘当中。 * version (string): 数据库的版本。 * displayName (string): 数据库的让人容易懂的名字,会被系统用来向用户描述这个数据库。 * estimatedSize (number): 数据库的预期最大容量,字节为单位。当数据库容量增长的时候,可能会提示用户获取授权。如果你设置了一个合理的容量,以后的提示就会比较少。

### IndexedDB

    var db;
    var databaseName = 'myDB';
    var databaseVersion = 1;
    var openRequest = window.indexedDB.open(databaseName, databaseVersion);
    openRequest.onerror = function (event) {
    console.log(openRequest.errorCode);
    };
    openRequest.onsuccess = function (event) {
    // 数据库已经打开并初始化 - 我们进行的不错,可以继续了.
    db = openRequest.result;
    displayData();
    };
    openRequest.onupgradeneeded = function (event) {
    // 一个新的数据库,或者一个新的版本号被传递给open方法调用。
    var db = event.target.result;
    db.onerror = function () {
        console.log(db.errorCode);
    };

    // 创建一个存储对象。key是用来标识这个存储对象。
    //keyPath参数定义了key存储的地方。如果keyPath指定了,那么这个存储对象只能包含JavaScript对象,
    //而且每个对象必须有一个属性名字和keyPath相同(除非autoIncrement选项是true)。
    var store = db.createObjectStore('customers', { keyPath: 'customerId' });

    // 定义我们想要使用的索引。我们创建的存储对象不需要包含这些属性,它们只会出现在指定的索引中。 
    //
    // 使用方式: store.createIndex(indexName, keyPath[, parameters]);
    //
    // All these values could have duplicates, so set unique to false
    store.createIndex('firstName', 'firstName', { unique: false });
    store.createIndex('lastName', 'lastName', { unique: false });
    store.createIndex('street', 'street', { unique: false });
    store.createIndex('city', 'city', { unique: false });
    store.createIndex('zipCode', 'zipCode', { unique: false });
    store.createIndex('country', 'country', { unique: false });

    // 一旦store创建成功,就可以存储数据了。
    store.transaction.oncomplete = function (event) {
        // transaction方法获取到存储对象名字和索引的数组(或者一个单字符串去得到一个单独的存储对象),它们都在事务的作用域里。
        // 事务是只读的,除非指定了readwrite选项。
        //它返回了一个对象,这个对象提供了objectStore方法去访问transaction作用域里的对象。
        var customerStore = db.transaction('customers', 'readwrite').objectStore('customers');
        customers.forEach(function (customer) {
            customerStore.add(customer);
        });
    };
};

function displayData() {
}

Cordova-sqlite-storage

//安装
cordova plugin add cordova-sqlite-storage --save


//实例化
var db = null;

document.addEventListener('deviceready', function() {
  db = window.sqlitePlugin.openDatabase({name: 'demo.db', location: 'default'});
});

//使用标准事务 API 填充数据库:

  db.transaction(function(tx) {
    tx.executeSql('CREATE TABLE IF NOT EXISTS DemoTable (name, score)');
    tx.executeSql('INSERT INTO DemoTable VALUES (?,?)', ['Alice', 101]);
    tx.executeSql('INSERT INTO DemoTable VALUES (?,?)', ['Betty', 202]);
  }, function(error) {
    console.log('Transaction ERROR: ' + error.message);
  }, function() {
    console.log('Populated database OK');
  });

  //使用标准事务 API 检查数据:
db.transaction(function(tx) {
    tx.executeSql('SELECT count(*) AS mycount FROM DemoTable', [], function(tx, rs) {
      console.log('Record count (expected to be 2): ' + rs.rows.item(0).mycount);
    }, function(tx, error) {
      console.log('SELECT error: ' + error.message);
    });
  });

  //使用 SQL 批处理 API 填充数据库:

   db.sqlBatch([
    'CREATE TABLE IF NOT EXISTS DemoTable (name, score)',
    [ 'INSERT INTO DemoTable VALUES (?,?)', ['Alice', 101] ],
    [ 'INSERT INTO DemoTable VALUES (?,?)', ['Betty', 202] ],
  ], function() {
    console.log('Populated database OK');
  }, function(error) {
    console.log('SQL batch ERROR: ' + error.message);
  });

其他api文档

bsd freebsd linux

DragonFlyBSD填坑

DragonFlyBSD填坑

虚拟机下安装

修改源

/usr/local/etc/pkg/repos/df-latest.conf

安装git xorg input-device vim lumina bash bash-completion

pkg install git xorg vim lumina bash bash-completion xf86-video-intel29 xf86-input-mouse wqy-fonts

初始配置

1,修改默认bash并且配置bash自动补全

chsh 
修改  /usr/local/bin/bash

修改  .bashrc

source  /usr/local/share/bash-completion/bash_completion.sh

2.初始化Xorg的配置文件

Xorg  -configure
会生成配置文件 
xorg.conf.new

mv xorg.conf.new  /etc/X11/xorg.conf

重启后

start-lumina-desktop

解决字体模糊来自

rm /usr/local/etc/fonts/conf.d/85-wqy.conf
linux utc
es6 javascript

博客js从es6转到es5

博客js从es6转到es5

发现博客用夸克浏览器和qq浏览器 js都不渲染markdown

后来群友说的不兼容es6

决定转成es5

全局安装babel-cli

npm install -g babel-cli

项目内安装规则包

# ES2015转码规则
$ npm install --save-dev babel-preset-es2015

# react转码规则
$ npm install --save-dev babel-preset-react

# ES7不同阶段语法提案的转码规则(共有4个阶段),选装一个
$ npm install --save-dev babel-preset-stage-0
$ npm install --save-dev babel-preset-stage-1
$ npm install --save-dev babel-preset-stage-2
$ npm install --save-dev babel-preset-stage-3

项目内配置文件 .babelrc

 {
    "presets": [
      "es2015",
      "react",
      "stage-2"
    ],
    "plugins": []
  }

命令行下执行命令

babel xxx.js -o xxxd.js
//xxxd.js就是经过转码好的js文件

提交修改,经测试可以正常渲染

linux

繁体转简体

繁体转简体

iconv -f GB18030 -t utf-8 1金尤中.txt | opencc -c t2s |> b.txt

繁体转简体

$ echo '歐幾里得 西元前三世紀的希臘數學家' | opencc -c t2s 欧几里得 西元前三世纪的希腊数学家

简体转繁体

$ echo '欧几里得 西元前三世纪的希腊数学家' | opencc -c s2t 歐幾里得 西元前三世紀的希臘數學家

可以通过以下方式直接对文件进行繁简转换

$ opencc -i zhwiki_raw.txt -o zhwiki_t2s.txt -c t2s.json ```

blog highlightjs linux
github page

github ghpage用法

github ghpage用法

很简单 只有一句话

git subtree push --prefix=dist origin gh-pages
ftp git linux

linux 下gitftp

linux 下gitftp

使用

# Setup
git config git-ftp.url "ftp://ftp.example.net:21/public_html"
git config git-ftp.user "ftp-user"
git config git-ftp.password "secr3t"

# Upload all files
git ftp init

# Or if the files are already there
git ftp catchup

# Work and deploy
echo "new content" >> index.txt
git commit index.txt -m "Add new content"
git ftp push
# 1 file to sync:
# [1 of 1] Buffered for upload 'index.txt'.
# Uploading ...
# Last deployment changed to ded01b27e5c785fb251150805308d3d0f8117387.

https://github.com/git-ftp/git-ftp

fcitx ibus linux rime

linux下卸载fcitx然后安装ibus-rime

搜狗这么不招待见。=。 所以换rime试试 结果遇到了不小的坑

搜狗这么不招待见。=。 所以换rime试试 结果遇到了不小的坑

1,wine下不能唤醒 2,java程序下不能唤醒

安装过程

apt install ibus ibus-gtk ibus-gtk3 ibus-qt4 ibus-rime librime-data-luna-pinyin

安装完毕后

发现各种问题

nano /etc/profile

加入

export XIM="ibus"
export XIM_PROGRAM="ibus"
export XMODIFIERS="@im=ibus"
export GTK_IM_MODULE="ibus"
export QT_IM_MODULE="ibus"

ibus-daemon -dx