双线部署博客,解决 github 访问速度问题
项目部署 Github 并且仓库名为 "userName".github.io 项目设置绑定域名,建议开启 https在 项目/设置/githubPage 下绑定域名 域名绑定页面,选 cname(github 给的二级域名),线路:境外项目部署到 coding 上 https://coding.net 项目/构建与部署 点立即部署(后续可自动化部署)同页面上半部分找到二级域名为 cname,线路选择默认。并在当前页面的设置里绑定你的域名(申请证书失败的话需要把域名境外线路调回默认)hexo 快速部署项目插件以下为 ssh 连接,可自行百度(双账号邮箱建议保持一致,方便注册 ssh)npm i hexo-deployer-git -S yarn add hexo-deployer-git hexo 配置文件deploy: type: git # 触发分支 branch: master repo: github: git@github.com:<userName>/<projectName>.git ...
滚动歌词
滚动歌词 把获取到的歌词 用换行符 split 分割 使用正则判断并分割出时间和歌词 把正则匹配出的 分、秒、毫秒 转换成秒 做 key 传入 temp 对象,或者 push 数组也可以,没有 key 的排序问题 通过 temp 遍历出 html 元素放入 content 监听 audio 的 [on]timeupdate 事件,关键字 e.target.currentTime 为当前播放时间 根据 时间 找到 匹配的歌词元素,计算元素的 top 与 父元素 top 的差,即为上滚的距离 滚动时给当前 歌词元素 加上 active class 使其突出 获取到的歌词可在 log 里查看 audio { width: 300px; height: 100px; } .lrc-box { margin: 100px auto; } .lrc-wrap { margin: auto; width: 80%; ...
算法面试题-查找指定的字符串
实现一个算法,寻找字符串中出现次数最少的、并且首次出现位置最前的字符如“cbaacfdeaebb“,符合要求的是”f”,因为他只出现了一次(次数最少)。并且比其他只出现一次的字符(如”d”)首次出现的位置最靠前。 const findMinStr = (str) => { const hash = {}; for (let i = 0; i < str.length; i += 1) { hash[str[i]] = hash[str[i]] || { index: i, count: 0 }; hash[str[i]].count += 1; } return Object.keys(hash).map(item => { return Object.assign({ char: item }, hash[item]); }) .sort((a, b)...