github+Hexo搭建博客

  以前用wordpress写的博客,因为疏于更新后台,被勤劳的小蜜蜂们各种挂马,服务商给我下通牒的时候我才知道,记录的东西也丢失了七七八八。最近闲下来在看nodejs相关的资料时,无意间了解到hexo,然后决定入坑.

git日常

上传

初始化仓库

git init

1. 先把所有文件加入 Git 跟踪

git add .

2. 提交这些文件(第一次备份)

git commit -m '注释(第一次备份)'

3、去github创建repository,记下地址,https和git都行,https老是出问题,建议用git;然后将本地仓库跟github上新建的repository关联上

git remote add origin 仓库的地址

4、推送到 GitHub(注意分支名)

#####本地分支是 master,而 GitHub 默认是 main,所以需要这样推:

git push -u origin master:main

执行完没问题就完事了,如果上传失败,可能是因为README.md没下载下来,先下载再上传

git pull --rebase origin master
或者直接把本地分支名改成 main,更方便:
git branch -M main
git push -u origin main

执行完以上命令,本地的文件就成功备份到 GitHub 了
以后提交新代码,只需要:

git add .
git commit -m '注释'
git push

下载

第一次下载

进到目录,git clone 地址

下载更新

//方法一:(安全同步法)
$ git fetch origin master                 //从远程的origin仓库的master分支下载代码到本地的origin master // 下载云端最新代码,但**不修改本地代码**
$ git log -p master.. origin/master        // 对比:云端比本地多了哪些改动
$ git merge origin/master                // 把云端新代码合并到本地master分支

//方法二
$ git fetch origin master:temp             // 下载云端代码 → 新建一个叫 temp 的临时分支
$ git diff temp                            // 比较本地和云端的不同    
$ git merge temp                        // 合并临时版本到本地
$ git branch -d temp                    //删除temp

//方式三: GitHub上的文件变新了 → 把最新内容同步到自己电脑已关联的项目上。 git pull = git fetch + git merge
$ git pull //更新远程代码到本地
设置代理

代理 = 给 Git 开一条 “更快、更稳” 的路,让你能正常连接 GitHub,不卡、不掉、不报错。

git config --global https.proxy http://127.0.0.1:7890
git config --global http.proxy http://127.0.0.1:7890

# 取消代理
git config --global --unset http.proxy
git config --global --unset https.proxy

为什么要设置代理?
因为:

  • GitHub 在国外
  • 国内直接连接经常很慢、连不上、上传失败
  • 你电脑如果开了梯子(科学上网),Git 不会自动用,必须手动告诉它:“走我这个梯子!”

json数组的增删改操作

1、数组的创建

var arrayObj = new Array(); //创建一个数组  
var arrayObj = new Array(\[size\]); //创建一个数组并指定长度,注意不是上限,是长度  
var arrayObj = new Array(\[element0\[, element1\[, ...\[, elementN\]\]\]\]); 创建一个数组并赋值  

textarea自动伸缩框

在做表单配置时,项目遇到需要写一个回复月工作内容的页面,设计师给的初始界面就是一个只有一行的框。后台要求,必须用textarea,然后当时就想这个交互该怎么实现比较好,然后想起了新浪微博的做法:点击评论,默认显示一行,当输入的文字超过一行或者输入Enter时,输入框的高度会随着改变,直到输入完毕。顿时觉得这个细节做得挺不错的,可以效仿下。

<textarea name="textarea" id="textarea" onpropertychange="this.style.height = this.scrollHeight + 'px';"   
oninput="this.style.height='auto';this.style.height = this.scrollHeight + 'px'" style="overflow-Y: hidden;">  
</textarea>  

实际效果测试:

拓展延伸

1、height、clientHeight、scrollHeight、offsetHeight的区别
2、textarea其他两种方式实现高度自适应