制作一个极速 Hugo 主题
Nov 24, 2019
Hugo 是一个静态网站生成工具,具有生成速度很快、简单易学的特点。 官网是 https://gohugo.io 官网已经提供了丰富的主题,但我依然选择自己制作一款主题自己使用。 主要是自己的博客使用,要求非常简单,只要能像微信公众号那样显示文章就行,其他的花哨功能都不要。 …
Git 操作技巧
Nov 20, 2019
删除远程仓库所有 tag git push origin --delete $(git tag -l) 执行后将删除远程仓库的所有 tag。 不过,本地已经拉取回来的 tag 还在。 创建一个没有任何提交记录的分支 git checkout --orphan branche-name
在 iOS 里 100% 还原 Sketch 实现的阴影效果
Nov 19, 2019
还原不了设计师视觉稿的开发者不是一个合格的页面仔。 Sketch 是 APP 设计的神器,大部分设计师都选择它作为 APP 界面的设计工具。 在 Sketch 里设置一个阴影,效果图和参数如下: …
给 Xcode 添加最新的 iOS DeviceSupport
Nov 18, 2019
默认情况下 Xcode 只能调试其内置对应的 iOS 版本,如果发布了新的 iOS 版本而没有更新到与之对应的新版本 Xcode,就不能进行调试了。 要解决这个问题, 需要在 Xcode 的 DeviceSupport 目录内添加对应的版本目录。 …
swift 里正确的实现一个 NSTextStorage 子类
Nov 11, 2019
即使你按照官方的文档来操作依然有可能会掉进坑里,因为 swift 的实现和 objc 稍有不同。 NSTextStorage 是基于 NSMutableAttributedString 的一个虚基类。 这意味着当你写一个 NSTextStorage 的子类时,必须正确实现以下 4 个接口 …
免费的国内 git 代码托管服务
Nov 07, 2019
码云 官网: https://gitee.com 功能最为丰富,Pages 需要付费才能使用自定义域名和 https Coding 官网: https://coding.net 已被腾讯收购,Pages 功能免费提供自定义域名和 https 阿里云 官网: https://code.aliyun.com 简洁易用,目前还没有 Pages 功能 …
iOS 13 下访问受限制的 _ivar
Jun 09, 2019
在 iOS 13 之前,一般是使用 KVC 来实现访问私有的实例变量,比如要访问 UITextField 的 _placeholderLabel 一般会这么做: extension UITextField { var placeholderLabel: UILabel? { get { return value(forKey: "_placeholderLabel") as? UILabel } } } 一直到 iOS 12,这个方法运行的很好,但是升级到了 iOS 13,运行的时候就崩溃了: …
模仿微信适配 iPad 的布局方式
May 08, 2019
微信在 iPad 上竖屏时显示的样式和手机版一样,横屏的显示为分隔视图。 UIKit 里可以实现这样的效果的组件是UISplitViewController。 接下来就是要自定义一个 UISplitViewController 来逐步实现像微信一样的效果。 …
Fix Reveal load error in iOS 12 (jailbreaked)
May 02, 2019
After install CCRevealLoader, RevealServer.framework installed at /Library/Application Support/CCRevealLoader/RevealServer.framework file system sandbox blocked mmap When loading Reveal server a solution: move RevealServer.framework to /Library/TweakInject/ mv "/Library/Application Support/CCRevealLoader/RevealServer.framework" /Library/TweakInject/ ln -s /Library/TweakInject/RevealServer.framework /Library/Application\ Support/CCRevealLoader/ That`s OK now.
rsshub with TLS
May 01, 2019
Deploy rsshub rsshub server listen 127.0.0.1:1200 docker-compose.yml version: '3' services: rsshub: image: 'diygod/rsshub' Deploy nginx docker-compose.yml version: '3' services: nginx: image: 'cntrump/ubuntu_nginx_boringssl' volumes: - /opt/nginx/etc:/etc/nginx - /opt/nginx/log:/var/log/nginx - /opt/nginx/cache:/var/cache/nginx - /opt/www:/var/www ports: - '80:80' - '443:443' command: /usr/sbin/nginx -g "daemon off;" Reverse proxy, using http 1.1 with tls 1.2/1.3 nginx.conf { ... # HTTPS server server { listen 443 ssl; server_name localhost; ssl_protocols TLSv1.2 TLSv1.3; ssl_certificate /etc/nginx/certs/fullchain.pem; ssl_certificate_key /etc/nginx/certs/privkey.pem; location / { proxy_redirect off; proxy_pass http://rsshub:1200; # rsshub is service name which defined in docker-compose.yml proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; # Show realip in v2ray access.log proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } }