├── .gitignore ├── .travis.yml ├── CONTRIBUTING.md ├── LICENSE ├── README-old.md ├── README.md ├── _config.butterfly.yml ├── _config.yml ├── img └── logo.png ├── package.json ├── scaffolds ├── draft.md ├── page.md └── post.md ├── source ├── _data │ └── link.yml ├── _posts │ ├── A-simple-MVC-example.md │ ├── A-simple-MVC-example │ │ └── SimpleMVC.png │ ├── A-simple-comment-component-for-Vue.md │ ├── A-simple-comment-component-for-Vue │ │ └── a-simple-comment-component-for-vue-v1.0.PNG │ ├── Back-up-the-Hexo-blog.md │ ├── DBUtils.md │ ├── Data-structures-and-algorithm-analysis-in-C.md │ ├── Database-Connection-Pool.md │ ├── Dockerfile介绍及指令说明.md │ ├── Dockerfile介绍及指令说明 │ │ ├── Docker-Dockerfile-build-1.jpg │ │ ├── Docker-Dockerfile-build-2.jpg │ │ └── Docker-Dockerfile-commands.jpg │ ├── Docker安装MySQL及基本使用.md │ ├── Docker安装Redis及基本使用.md │ ├── Docker安装并部署nginx.md │ ├── Docker安装并部署nginx │ │ ├── docker-deploy-nginx-modify-index.PNG │ │ └── docker-deploy-nginx.PNG │ ├── Docker安装并部署tomcat.md │ ├── Docker安装并部署tomcat │ │ ├── docker-deploy-tomcat-index.PNG │ │ └── docker-deploy-tomcat.PNG │ ├── Docker容器数据卷的使用.md │ ├── Docker常用命令.md │ ├── Docker常用命令 │ │ └── docker-command.png │ ├── Docker镜像及容器的基本命令.md │ ├── Git-Commit-Message-规范.md │ ├── Git-Commit-Message-规范 │ │ └── git-commit-message-mindmap.png │ ├── GitHub中emoji表情的含义及使用规范.md │ ├── Hi-Layui.md │ ├── Hi-Layui │ │ └── Layui-form.PNG │ ├── Hi-MyBatis.md │ ├── Hi-MyBatis │ │ └── MyBatis框架执行流程图.png │ ├── Hi-Redis.md │ ├── Hi-Shiro.md │ ├── Hi-Shiro │ │ ├── Shiro-内部结构图.png │ │ ├── Shiro-外部架构图.png │ │ └── shiro-framework-api.png │ ├── Hi-Spring-Boot.md │ ├── Hi-Spring-Boot │ │ └── Hi-Spring-Boot.PNG │ ├── Hi-Spring.md │ ├── Hi-SpringMVC.md │ ├── Hi-SpringMVC │ │ ├── Spring-MVC工作原理图.jpg │ │ └── 第一个Spring-MVC程序视图.PNG │ ├── Hi-Vue.md │ ├── Hi-Vue │ │ └── MVVM-模式.jpg │ ├── How-to-create-a-pull-request-from-a-fork.md │ ├── How-to-create-a-pull-request-from-a-fork │ │ ├── allow-maintainers-to-make-edits.png │ │ ├── choose-base-fork-and-branch.png │ │ ├── choose-head-fork-compare-branch.png │ │ ├── compare-across-forks-link.png │ │ ├── pull-request-start-review-button.png │ │ ├── pullrequest-description.png │ │ └── pullrequest-send.png │ ├── How-to-support-full-Unicode-in-MySQL-databases.md │ ├── JDBC-常见错误分析.md │ ├── JDK-10新特性详解.md │ ├── JDK-11新特性详解.md │ ├── JDK-12新特性详解.md │ ├── JDK-13新特性详解.md │ ├── JDK-8新特性之Lambda表达式的基本语法.md │ ├── JDK-8新特性之Optional类的基本使用.md │ ├── JDK-8新特性之Stream流的基本使用.md │ ├── JDK-8新特性之Stream流的基本使用案例.md │ ├── JDK-8新特性之函数式接口的基本使用.md │ ├── JDK-8新特性之方法引用.md │ ├── JDK-8新特性之默认方法的基本使用.md │ ├── JDK-9新特性之REPL-JShell.md │ ├── JDK-9新特性之REPL-JShell │ │ └── JShell-Edit-Pad-Demo.PNG │ ├── JDK-9新特性概述.md │ ├── JDK-9新特性详解.md │ ├── JDK-9目录结构的变化及新特性之模块化.md │ ├── JDK-9目录结构的变化及新特性之模块化 │ │ └── JDK9-新特性之模块化-模块目录结构.png │ ├── JSP-标准标签库.md │ ├── JSP-自定义标签.md │ ├── JSP-自定义标签 │ │ └── java-servlet-jsp-tagext.png │ ├── Java-Servlet-API.md │ ├── Java-Servlet-API │ │ └── ServletAPI.png │ ├── Java-Servlet各版本使用详解.md │ ├── Java-Servlet各版本使用详解 │ │ └── Servlet2.5.PNG │ ├── Java-annotation.md │ ├── Java-annotation │ │ └── SuppressWarnings.PNG │ ├── Java-reflection.md │ ├── Java-web-Cookie-and-Session.md │ ├── Java-web-Cookie-and-Session │ │ ├── Cookie在浏览器和服务器之间的传输过程.jpg │ │ ├── Session案例-实现一次性验证码-用户登录页面.PNG │ │ ├── Session案例-用户登录流程图.png │ │ └── Session案例-购物车的实现流程图.png │ ├── Java-web-Filter.md │ ├── Java-web-JSP-Model.md │ ├── Java-web-JSP-Model │ │ ├── JSPModel1案例-计算器页面.PNG │ │ ├── JSPModel2案例-用户注册信息页面.PNG │ │ └── JSPModel2案例-用户注册页面.PNG │ ├── Java-web-Servlet-listener.md │ ├── Java-web-Servlet-listener │ │ └── Servlet事件监听器案例-统计当前在线人数名单.PNG │ ├── Java-web-请求与响应.md │ ├── Java-web-请求与响应 │ │ └── 浏览器访问Servlet的交互过程.png │ ├── Java-web项目-学生管理系统.md │ ├── Java爬虫之HttpClient.md │ ├── Java爬虫之Jsoup.md │ ├── Java爬虫之WebMagic.md │ ├── Java爬虫之WebMagic │ │ └── WebMagic-总体架构图.jpg │ ├── Java继承与委托中的一致性.md │ ├── Java设计模式之Abstract-Factory-Pattern.md │ ├── Java设计模式之Abstract-Factory-Pattern │ │ └── Abstract-Factory-Pattern-ClassDiagram.png │ ├── Java设计模式之Adapter-Pattern.md │ ├── Java设计模式之Adapter-Pattern │ │ ├── Adapter1-ClassDiagram.png │ │ ├── Adapter2-ClassDiagram.png │ │ └── Adapter3-ClassDiagram.png │ ├── Java设计模式之Builder-Pattern.md │ ├── Java设计模式之Builder-Pattern │ │ ├── Builder-Pattern-ClassDiagram1.png │ │ └── Builder-Pattern-ClassDiagram2.png │ ├── Java设计模式之Command-Pattern.md │ ├── Java设计模式之Command-Pattern │ │ ├── Command-Pattern-ClassDiagram1.png │ │ ├── Command-Pattern-ClassDiagram2-drawing.png │ │ └── Command-Pattern-ClassDiagram2.png │ ├── Java设计模式之Composite-Pattern.md │ ├── Java设计模式之Composite-Pattern │ │ ├── Composite-Pattern-ClassDiagram1.png │ │ └── Composite-Pattern-ClassDiagram2.png │ ├── Java设计模式之Decorator-Pattern.md │ ├── Java设计模式之Decorator-Pattern │ │ └── Decorator-Pattern-ClassDiagram.png │ ├── Java设计模式之Facade-Pattern.md │ ├── Java设计模式之Facade-Pattern │ │ ├── Facade-Pattern-ClassDiagram1.png │ │ └── Facade-Pattern-ClassDiagram2.png │ ├── Java设计模式之Factory-Method-Pattern.md │ ├── Java设计模式之Factory-Method-Pattern │ │ ├── Factory-Method-Pattern-ClassDiagram1.png │ │ ├── Factory-Method-Pattern-ClassDiagram2.png │ │ └── Factory-Method-Pattern-ClassDiagram3.png │ ├── Java设计模式之Iterator-Pattern.md │ ├── Java设计模式之Iterator-Pattern │ │ ├── Iterator1-ClassDiagram.png │ │ └── Iterator2-ClassDiagram.png │ ├── Java设计模式之Mediator-Pattern.md │ ├── Java设计模式之Mediator-Pattern │ │ ├── Mediator-Pattern-ClassDiagram-1.png │ │ └── Mediator-Pattern-ClassDiagram-2.png │ ├── Java设计模式之Observer-Pattern.md │ ├── Java设计模式之Observer-Pattern │ │ └── Observer-Pattern-ClassDiagram1.png │ ├── Java设计模式之Proxy-Pattern.md │ ├── Java设计模式之Proxy-Pattern │ │ ├── Froxy-Pattern-ClassDiagram1.png │ │ └── Froxy-Pattern-ClassDiagram2.png │ ├── Java设计模式之Simple-Factory-Pattern.md │ ├── Java设计模式之Simple-Factory-Pattern │ │ └── Simple-Factory-Pattern-ClassDiagram.png │ ├── Java设计模式之Singleton-Pattern.md │ ├── Java设计模式之Template-Method-Pattern.md │ ├── Java设计模式之Template-Method-Pattern │ │ ├── Template-Method1-ClassDiagram.png │ │ └── Template-Method2-ClassDiagram.png │ ├── Java项目开发中PO-BO-VO-DTO-POJO-DAO的概念及其作用.md │ ├── Java项目开发中PO-BO-VO-DTO-POJO-DAO的概念及其作用 │ │ ├── Java-POJO-PO-DTO-VO.png │ │ └── Java项目中各个层次的详细划分.png │ ├── Lombok简介及基本使用.md │ ├── Maven依赖经常导入失败的解决方案.md │ ├── MyBatis-动态SQL.md │ ├── MyBatis与Spring的整合.md │ ├── MyBatis的关联映射.md │ ├── MyBatis的核心配置.md │ ├── MyBatis的核心配置 │ │ └── MyBatis配置文件中的主要元素.png │ ├── Naming-Notations.md │ ├── Penetration-Testing-一个简单的zip文件密码破解程序.md │ ├── Penetration-Testing-流量捕获之APR缓存攻击.md │ ├── Penetration-Testing-流量捕获之APR缓存攻击 │ │ └── penetration-testing_moments_arp-spoofing.png │ ├── Penetration-Testing-流量捕获之DNS缓存攻击.md │ ├── Penetration-Testing-流量捕获之DNS缓存攻击 │ │ ├── penetration-testing_moments_dns-spoofing-in-library.png │ │ └── penetration-testing_moments_dns-spoofing-with-phishing.png │ ├── Penetration-Testing-物理攻击之samdump2与chntpw.md │ ├── Python操作MySQL数据库之基本的CURD.md │ ├── SSH远程连接服务器的两种方式.md │ ├── SSM整合Shiro的基本配置.md │ ├── SSM整合项目-简易同学录.md │ ├── SSM框架整合.md │ ├── SSM框架整合 │ │ └── SSM整合案例.PNG │ ├── SSM项目-学生管理系统.md │ ├── Servlet-lifecycle.md │ ├── Servlet-lifecycle │ │ └── lifecycle.png │ ├── Servlet同版本对应的Tomcat及不同版本的web-xml写法.md │ ├── Servlet同版本对应的Tomcat及不同版本的web-xml写法 │ │ └── different-version.PNG │ ├── Shiro之用户授权.md │ ├── Shiro之用户授权 │ │ └── Shiro-授权流程.png │ ├── Shiro之自定义realm及其加密.md │ ├── Shiro的拦截器机制.md │ ├── Shiro的拦截器机制 │ │ └── Shiro-ShiroFilter.jpg │ ├── Simple-Factory-Pattern.md │ ├── Spring-AOP.md │ ├── Spring-Bean.md │ ├── Spring-Boot之Thymeleaf.md │ ├── Spring-Boot之基本Web开发.md │ ├── Spring-Boot之整合视图层技术.md │ ├── Spring-Boot之整合视图层技术 │ │ └── BookInfoView.PNG │ ├── Spring-Boot之文件上传.md │ ├── Spring-Boot拥抱MyBatis及Redis.md │ ├── Spring-Boot拥抱MyBatis及Redis │ │ └── UserListView.PNG │ ├── Spring-Boot项目-好友备忘录.md │ ├── Spring-Boot项目-好友备忘录 │ │ ├── SpringBoot-CURD-Memo_FriendListView.PNG │ │ ├── SpringBoot-CURD-Memo_FriendListView2.PNG │ │ └── SpringBoot-CURD-Memo_MainView.PNG │ ├── Spring-MVC之JSON数据交互和RESTful支持.md │ ├── Spring-MVC之拦截器.md │ ├── Spring-MVC之拦截器 │ │ ├── SpringMVC_Filter-login.PNG │ │ └── SpringMVC_Filter-main.PNG │ ├── Spring-MVC之数据绑定.md │ ├── Spring-MVC之数据绑定 │ │ └── SpringMVC-DataBinder.png │ ├── Spring-MVC之文件上传与下载.md │ ├── Spring-MVC的核心类和注解.md │ ├── Spring-依赖注入.md │ ├── Spring-数据库开发.md │ ├── SpringBoot中Shiro集成EhCache.md │ ├── SpringBoot整合FreeMarker.md │ ├── SpringBoot整合FreeMarker │ │ ├── FreeMarker-overview.png │ │ └── Hi-FreeMarker.PNG │ ├── SpringBoot集成Shiro的基本配置.md │ ├── Spring的事务管理.md │ ├── Steve-Jobs-speech-at-Stanford-University-in-2005.md │ ├── Steve-Jobs-speech-at-Stanford-University-in-2005 │ │ └── Steve-Jobs-speech-at-Stanford-University-in-2005.pdf │ ├── Summary-For-August-2021.md │ ├── Summary-For-July-2021.md │ ├── Summary-For-September-2021.md │ ├── Thymeleaf整合Shiro标签.md │ ├── Ubuntu18-04-Mac-theme.md │ ├── Ubuntu18-04-Mac-theme │ │ ├── Learn-Shell-program.PNG │ │ └── Ubuntu18.04-Mac-theme.PNG │ ├── Ubuntu18-04-安装Docker及基本使用.md │ ├── Ubuntu18-04-安装Docker及基本使用 │ │ ├── docker-architecture.png │ │ └── docker-run-hello-world.PNG │ ├── Ubuntu18-04-安装Redis及基本使用.md │ ├── Ubuntu18-04-安装Redis及基本使用 │ │ └── try.redis.io.PNG │ ├── Ubuntu18-04-安装nginx及基本使用.md │ ├── Understanding-the-GitHub-flow.md │ ├── Understanding-the-GitHub-flow │ │ ├── A_successful_Git_branching_model.png │ │ ├── GitHubFlow-Add_commits.PNG │ │ ├── GitHubFlow-Create_a_branch.PNG │ │ ├── GitHubFlow-Deploy.PNG │ │ ├── GitHubFlow-Discuss_and_review_your_code.PNG │ │ ├── GitHubFlow-Merge.PNG │ │ └── GitHubFlow-Open_a_Pull_Request.PNG │ ├── VOA-5-Habits-of-Very-Successful-People.md │ ├── VOA-A-Lifetime-of-Exercise-Slows-Aging-Process.md │ ├── VOA-Americans-Favorite-Ting-To-Do.md │ ├── VOA-Critics-Praise-New-and-Last-Avengers-Series-Film.md │ ├── VOA-Facebook-Co-founder-Calls-for-New-Laws-Limiting-Big-Tech.md │ ├── VOA-Google-s-Lookout-App-Helps-Blind-People-Experience-the-World.md │ ├── VOA-Napping-May-Improve-Learning-Memory.md │ ├── VOA-One-Hour-of-Exercise-a-Day-Fights-Damage-of-Sitting.md │ ├── VOA-One-in-Five-Deaths-Linked-to-Unhealthy-Diet.md │ ├── VOA-Paris-Notre-Dame-Cathedral-Burning.md │ ├── VOA-Researchers-Find-Clues-that-Depression-May-Speed-Brain-Aging.md │ ├── VOA-The-Woman-Behind-the-Image-of-the-Black-Hole.md │ ├── VOA-咖啡到底好不好-研究人员也说不清.md │ ├── Vue-js的数据响应式原理.md │ ├── Vue-js的数据响应式原理 │ │ ├── Vue-数据绑定视图的实现原理.PNG │ │ ├── Vue-数据链.PNG │ │ └── data-chain.png │ ├── Vue-js的生命周期.md │ ├── Vue-js的生命周期 │ │ ├── Vue-lifecycle.png │ │ ├── vue-lifecycle-created+mounted.PNG │ │ ├── vue-lifecycle-destroyed.PNG │ │ └── vue-lifecycle-updated.PNG │ ├── Vue-js的自定义指令与过滤器.md │ ├── Vue-js的自定义指令与过滤器 │ │ └── Vue-filter-demo.PNG │ ├── Vue-js的语法.md │ ├── Vue-js的语法 │ │ └── Vue-for-withoutKey.png │ ├── Vue组件的定义及基本用法.md │ ├── What-s-the-DevOps.md │ ├── Your-Love-Is-Gone.md │ ├── c-to-cpp-in-two-hours.md │ ├── data-structures-basic-questions.md │ ├── error-java-net-SocketException-Permission-denied.md │ ├── hacking-time-anonymous-ishacker-net.md │ ├── hacking-time-anonymous-ishacker-net │ │ └── anonymous.jpg │ ├── hello-Python.md │ ├── hello-world.md │ ├── image-repo.md │ ├── image-repo │ │ ├── Go │ │ │ └── project │ │ │ │ └── fileGo │ │ │ │ └── logo │ │ │ │ ├── fileGo-logo-screely.png │ │ │ │ └── fileGo-logo.png │ │ ├── cover-of-leetcode-vlog.png │ │ ├── leetcode-googtech-logo.PNG │ │ ├── logo.png │ │ ├── task.go.v1.0.logo.png │ │ ├── task.go.v1.0.png │ │ └── wechat-GoogTech.png │ ├── jQuery-selector.md │ ├── jQuery-selector │ │ └── jQuery-selector.PNG │ ├── jQuery-过滤器学习笔记.md │ ├── jQuery-过滤器学习笔记 │ │ ├── jQuery-内容过滤器示例图.PNG │ │ ├── jQuery-可见性过滤器示例图.PNG │ │ ├── jQuery-基础过滤器示例图.PNG │ │ └── jQuery-子过滤器示例图.PNG │ ├── my-growth-journey-of-github.md │ ├── my-growth-journey-of-github │ │ ├── github-blog-20180922_ubuntu18.04-desktop.PNG │ │ ├── github-blog-20180922_ubuntu18.04-mac-theme.PNG │ │ ├── github-blog-20180922_ubuntu18.04-shell.PNG │ │ ├── github-blog-20190222_github-homepage.PNG │ │ ├── github-blog-20190331_hexoblog-homepage.PNG │ │ ├── github-blog-20190617_github-homepage.PNG │ │ ├── github-blog-20190621_B-homepage.PNG │ │ ├── github-blog-20190704_hexoblog-opensource1.PNG │ │ ├── github-blog-20190704_hexoblog-opensource2.jpg │ │ ├── github-blog-20190722_hexoblog-homepage1-1w.PNG │ │ ├── github-blog-20190722_hexoblog-homepage2-1w.PNG │ │ ├── github-blog-20191004_hexoblog-homepage-2w.PNG │ │ ├── github-blog-20191102_github-homepage.PNG │ │ ├── github-blog-20191102_hexoblog-opensource1.PNG │ │ ├── github-blog-20191106_github-project_learning-plain.PNG │ │ ├── github-blog-20191106_github-project_project-plain.PNG │ │ ├── github-blog-20191212_hexoblog-homepage1-3w.PNG │ │ └── github-blog-20191212_hexoblog-homepage2-3w.PNG │ ├── quick-start-tutorial-for-shell-language-beginner.md │ ├── static-keyword.md │ ├── vsblog-一个采用vue及springboot开发的超简洁的个人博客系统.md │ ├── vsblog-一个采用vue及springboot开发的超简洁的个人博客系统 │ │ └── index-screenshot.png │ ├── vue-cli构建vue项目的步骤详解.md │ ├── vue-cli构建vue项目的步骤详解 │ │ ├── localhost-8080.PNG │ │ └── vue-init-webpack-hello-vue.PNG │ ├── 一个基于Vue的简单信息管理页.md │ ├── 一个基于Vue的简单信息管理页 │ │ └── a-simple-demo-program-for-vue-v1.2.PNG │ ├── 一个基础的SpringBoot整合Shiro案例.md │ ├── 一个基础的SpringBoot整合Shiro案例 │ │ ├── shiro-learning-database-er.png │ │ ├── springboot-shiro-[admin]-学生信息管理页.PNG │ │ ├── springboot-shiro-[admin]-教师信息管理页.PNG │ │ ├── springboot-shiro-[stu]-学生信息管理页.PNG │ │ ├── springboot-shiro-[stu]-教师信息管理页.PNG │ │ ├── springboot-shiro-[tea]-学生信息管理页.PNG │ │ ├── springboot-shiro-[tea]-教师信息管理页.PNG │ │ ├── springboot-shiro-用户主页.PNG │ │ └── springboot-shiro-用户登录页.PNG │ ├── 一个基础的Web整合Shiro案例.md │ ├── 一个基础的Web整合Shiro案例 │ │ ├── Shiro整合web-admin-员工信息管理页.PNG │ │ ├── Shiro整合web-admin-部门信息管理页.PNG │ │ ├── Shiro整合web-yuhui-员工信息管理页.PNG │ │ ├── Shiro整合web-yuhui-部门信息管理页.PNG │ │ ├── Shiro整合web-用户主页.PNG │ │ └── Shiro整合web-用户登录页.PNG │ ├── 一个基础的的SSM整合Shiro案例.md │ ├── 一个基础的的SSM整合Shiro案例 │ │ ├── shiro-learning-database-er.png │ │ ├── ssm-shiro-[admin]-学生信息管理页面.PNG │ │ ├── ssm-shiro-[admin]-教师信息管理页面.PNG │ │ ├── ssm-shiro-[stu]-学生信息管理页面.PNG │ │ ├── ssm-shiro-[stu]-教师信息管理页面.PNG │ │ ├── ssm-shiro-[tea]-学生信息管理页面.PNG │ │ ├── ssm-shiro-[tea]-教师信息管理页面.PNG │ │ ├── ssm-shiro-用户主页.PNG │ │ └── ssm-shiro-用户登录页面.PNG │ ├── 一个简单的JDBC基础模板.md │ ├── 一款瞄准大学生的交友软件-TinderU.md │ ├── 为GitHub量身定制的浏览器插件.md │ ├── 使用Dockerfile构建一个属于自己的Ubuntu.md │ ├── 使用Dockerfile构建一个属于自己的Ubuntu │ │ ├── dockerfile-build-to-push-to-dockerhub.png │ │ └── dockerhub-first-image-ubuntu18.04.PNG │ ├── 使用Docker容器数据卷同步MySQL数据.md │ ├── 使用MyBatis完成通用DAO和通用Service.md │ ├── 使用MyBatis完成通用DAO和通用Service │ │ └── 一般Java项目的分层结构.png │ ├── 使用Travis-CI持续集成我的开源博客.md │ ├── 使用Travis-CI持续集成我的开源博客 │ │ ├── Travis-CI-MyBlogWebsite-1.PNG │ │ └── Travis-CI-MyBlogWebsite-2.PNG │ ├── 全国计算机等级考试-Java.md │ ├── 全国计算机等级考试-Java │ │ ├── awkwardness.jpg │ │ └── excitement.jpg │ ├── 全国计算机等级考试-三级数据库技术.md │ ├── 全国计算机等级考试-三级数据库技术 │ │ ├── Applied-problems.PNG │ │ ├── Database-technology-doc.PNG │ │ └── Scenery.jpg │ ├── 全国计算机等级考试-二级C语言.md │ ├── 全国计算机等级考试-二级C语言 │ │ ├── Scenery.jpg │ │ └── examination-paper.PNG │ ├── 全国计算机等级考试-二级MySQL.md │ ├── 全国计算机等级考试-二级MySQL │ │ └── Test-system.PNG │ ├── 创建vue项目的几种方式.md │ ├── 前后端分离项目的两种部署方案.md │ ├── 嘿集美们-好久不见想我了嘛.md │ ├── 嘿集美们-好久不见想我了嘛 │ │ ├── 2020-github-contributions-from-Dec-to-Nov.PNG │ │ ├── 2020日计划打卡本-min.jpg │ │ ├── 2020日计划打卡本.jpg │ │ ├── 2020日计划记录本-min.jpg │ │ ├── 2020日计划记录本.jpg │ │ ├── Kali-linux-hack-w7-w8-w10-in-virtualbox.png │ │ ├── fileGo-project.png │ │ ├── github-org_CTFlag.PNG │ │ ├── github-org_google-golang.PNG │ │ ├── github-org_raspberry-pi-org.png │ │ ├── github-repo_awesome-tensorflow-tutorial.PNG │ │ ├── loveyourself-guitar-video-cover.jpg │ │ ├── taskGo-project.png │ │ ├── www.000days.com.PNG │ │ ├── www.algorithm.show.PNG │ │ ├── www.book.ctflag.org.png │ │ ├── www.book.raspi.website.png │ │ ├── www.project.golanger.org.PNG │ │ ├── www.raspi.website.png │ │ └── 坚持的第139天-我的Keep-2020运动数据报告视频封面.jpg │ ├── 学生管理系统-Java-swing.md │ ├── 学生管理系统-Java-swing │ │ ├── Login_Interface.PNG │ │ └── Main_Interface.PNG │ ├── 将Kail-linux完美安装到U盘-persistent-storage.md │ ├── 小爬虫-JDBookCrawler-V1-0.md │ ├── 小爬虫-JDBookCrawler-V1-0 │ │ ├── BookCrawler-V1.0-BookImage.PNG │ │ └── BookCrawler-V1.0-DB.PNG │ ├── 小爬虫-JDBookCrawler-V2-0.md │ ├── 小爬虫-JDBookCrawler-V2-0 │ │ ├── BookCrawler-v2.0-DB.PNG │ │ └── BookCrawler-v2.0-bookImage.PNG │ ├── 小爬虫-JDBookCrawler-V3-0.md │ ├── 文件上传与下载.md │ ├── 文件上传与下载 │ │ └── FileUpload.png │ ├── 水果贪吃蛇游戏.md │ ├── 水果贪吃蛇游戏 │ │ └── Gluttonous_snack-2.1.0.PNG │ ├── 用这些制作神器来美化你的截图吧.md │ ├── 用这些制作神器来美化你的截图吧 │ │ ├── carbon.now.sh.PNG │ │ ├── dockerfile-about-vsblog_made-by-carbon.png │ │ ├── screely.com.PNG │ │ └── screenzy.io.PNG │ ├── 电子邮箱应用程序.md │ ├── 电子邮箱应用程序 │ │ └── TestJavaMail2.0.PNG │ ├── 程序员必备社交平台之Gitter.md │ ├── 程序员必备社交平台之Gitter │ │ ├── Gitter-onBlog.PNG │ │ └── Gitter-onDesktop.PNG │ ├── 自定义EL函数防止HTML注入.md │ ├── 自定义EL函数防止HTML注入 │ │ ├── JSP-HTMLInjection.PNG │ │ ├── JSP-HTMLInjectionResult1.PNG │ │ └── JSP-HTMLInjectionResult2.PNG │ ├── 解决每当Hexo博客更新后需要重新填写域名的尴尬.md │ ├── 解决每当Hexo博客更新后需要重新填写域名的尴尬 │ │ └── hexo-source-cname.PNG │ ├── 详解Binary-Tree的实现方式及其应用.md │ ├── 详解Intellij-IDEA中的DEBUG功能.md │ ├── 详解Intellij-IDEA中的DEBUG功能 │ │ ├── IDEA-debug-view-1.PNG │ │ └── IDEA-debug-view-2.PNG │ ├── 详解JSP中Shiro标签的使用.md │ ├── 详解Java对象的引用及赋值.md │ ├── 详解Linked-list的实现方式及其应用.md │ ├── 详解Queue的实现方式及其应用.md │ ├── 详解Shiro登录登出的操作流程.md │ ├── 详解Shiro登录登出的操作流程 │ │ └── Shiro-登录登出源码流程图.png │ ├── 详解Shiro的缓存机制.md │ ├── 详解Shiro的缓存机制 │ │ ├── Shiro-Realm类图.jpg │ │ ├── Shiro-SecurityManager类图.jpg │ │ ├── Shiro-framework-架构图.png │ │ └── Shiro-缓存组件类图.jpg │ ├── 详解Stack的实现方式及其应用.md │ ├── 详解Stack的实现方式及其应用 │ │ └── ListStack.PNG │ ├── 详解在IDEA中多处设置JDK及其区别.md │ ├── 详解在IDEA中多处设置JDK及其区别 │ │ ├── IDEA-JDK-Java-Complie.PNG │ │ ├── IDEA-JDK-Language-level.PNG │ │ ├── IDEA-JDK-Module-SDK.PNG │ │ └── IDEA-JDK-Modules-SDK_Language-level.PNG │ ├── 软件工程琐碎知识点.md │ └── 面向对象的设计原则.md ├── about │ └── index.md ├── archives │ └── index.md ├── categories │ └── index.md ├── comment │ └── index.md ├── link │ └── index.md └── tags │ └── index.md └── themes ├── butterfly ├── LICENSE ├── README.md ├── README_CN.md ├── _config.yml ├── languages │ ├── default.yml │ ├── en.yml │ ├── zh-CN.yml │ └── zh-TW.yml ├── layout │ ├── archive.pug │ ├── category.pug │ ├── includes │ │ ├── 404.pug │ │ ├── additional-js.pug │ │ ├── footer.pug │ │ ├── head.pug │ │ ├── head │ │ │ ├── Open_Graph.pug │ │ │ ├── analytics.pug │ │ │ ├── config.pug │ │ │ ├── config_site.pug │ │ │ ├── google_adsense.pug │ │ │ ├── noscript.pug │ │ │ ├── preconnect.pug │ │ │ ├── pwa.pug │ │ │ └── site_verification.pug │ │ ├── header │ │ │ ├── index.pug │ │ │ ├── menu_item.pug │ │ │ ├── nav.pug │ │ │ ├── post-info.pug │ │ │ └── social.pug │ │ ├── layout.pug │ │ ├── loading │ │ │ ├── loading-js.pug │ │ │ └── loading.pug │ │ ├── mixins │ │ │ ├── article-sort.pug │ │ │ └── post-ui.pug │ │ ├── page │ │ │ ├── categories.pug │ │ │ ├── default-page.pug │ │ │ ├── flink.pug │ │ │ └── tags.pug │ │ ├── pagination.pug │ │ ├── post │ │ │ ├── post-copyright.pug │ │ │ └── reward.pug │ │ ├── rightside.pug │ │ ├── sidebar.pug │ │ ├── third-party │ │ │ ├── aplayer.pug │ │ │ ├── card-post-count │ │ │ │ ├── disqus.pug │ │ │ │ ├── fb.pug │ │ │ │ ├── index.pug │ │ │ │ ├── twikoo.pug │ │ │ │ ├── valine.pug │ │ │ │ └── waline.pug │ │ │ ├── chat │ │ │ │ ├── chatra.pug │ │ │ │ ├── crisp.pug │ │ │ │ ├── daovoice.pug │ │ │ │ ├── gitter.pug │ │ │ │ ├── index.pug │ │ │ │ └── tidio.pug │ │ │ ├── comments │ │ │ │ ├── disqus.pug │ │ │ │ ├── disqusjs.pug │ │ │ │ ├── facebook_comments.pug │ │ │ │ ├── gitalk.pug │ │ │ │ ├── index.pug │ │ │ │ ├── js.pug │ │ │ │ ├── livere.pug │ │ │ │ ├── twikoo.pug │ │ │ │ ├── utterances.pug │ │ │ │ ├── valine.pug │ │ │ │ └── waline.pug │ │ │ ├── effect.pug │ │ │ ├── math │ │ │ │ ├── index.pug │ │ │ │ ├── katex.pug │ │ │ │ ├── mathjax.pug │ │ │ │ └── mermaid.pug │ │ │ ├── newest-comments │ │ │ │ ├── disqus-comment.pug │ │ │ │ ├── github-issues.pug │ │ │ │ ├── index.pug │ │ │ │ ├── twikoo-comment.pug │ │ │ │ ├── valine.pug │ │ │ │ └── waline.pug │ │ │ ├── pangu.pug │ │ │ ├── pjax.pug │ │ │ ├── prismjs.pug │ │ │ ├── search │ │ │ │ ├── algolia.pug │ │ │ │ ├── index.pug │ │ │ │ └── local-search.pug │ │ │ ├── share │ │ │ │ ├── add-this.pug │ │ │ │ ├── addtoany.pug │ │ │ │ ├── index.pug │ │ │ │ └── share-js.pug │ │ │ └── subtitle.pug │ │ └── widget │ │ │ ├── card_ad.pug │ │ │ ├── card_announcement.pug │ │ │ ├── card_archives.pug │ │ │ ├── card_author.pug │ │ │ ├── card_bottom_self.pug │ │ │ ├── card_categories.pug │ │ │ ├── card_newest_comment.pug │ │ │ ├── card_post_toc.pug │ │ │ ├── card_recent_post.pug │ │ │ ├── card_tags.pug │ │ │ ├── card_top_self.pug │ │ │ ├── card_webinfo.pug │ │ │ └── index.pug │ ├── index.pug │ ├── page.pug │ ├── post.pug │ └── tag.pug ├── package.json ├── scripts │ ├── events │ │ ├── 404.js │ │ ├── init.js │ │ └── welcome.js │ ├── filters │ │ ├── post_lazyload.js │ │ └── random_cover.js │ ├── helpers │ │ ├── aside_archives.js │ │ ├── aside_categories.js │ │ ├── inject_head_js.js │ │ ├── page.js │ │ └── related_post.js │ └── tag │ │ ├── button.js │ │ ├── gallery.js │ │ ├── hide.js │ │ ├── inlineImg.js │ │ ├── label.js │ │ ├── mermaid.js │ │ ├── note.js │ │ └── tabs.js └── source │ ├── css │ ├── _global │ │ ├── function.styl │ │ └── index.styl │ ├── _highlight │ │ ├── highlight.styl │ │ ├── highlight │ │ │ ├── diff.styl │ │ │ └── index.styl │ │ ├── prismjs │ │ │ ├── diff.styl │ │ │ ├── index.styl │ │ │ └── line-number.styl │ │ └── theme.styl │ ├── _layout │ │ ├── aside.styl │ │ ├── chat.styl │ │ ├── comments.styl │ │ ├── footer.styl │ │ ├── head.styl │ │ ├── loading.styl │ │ ├── pagination.styl │ │ ├── post.styl │ │ ├── relatedposts.styl │ │ ├── reward.styl │ │ ├── rightside.styl │ │ ├── sidebar.styl │ │ └── third-party.styl │ ├── _mode │ │ ├── darkmode.styl │ │ └── readmode.styl │ ├── _page │ │ ├── 404.styl │ │ ├── archives.styl │ │ ├── categories.styl │ │ ├── common.styl │ │ ├── flink.styl │ │ ├── homepage.styl │ │ └── tags.styl │ ├── _search │ │ ├── algolia.styl │ │ ├── index.styl │ │ └── local-search.styl │ ├── _tags │ │ ├── button.styl │ │ ├── gallery.styl │ │ ├── hexo.styl │ │ ├── hide.styl │ │ ├── inlineImg.styl │ │ ├── label.styl │ │ ├── note.styl │ │ └── tabs.styl │ ├── _third-party │ │ └── normalize.min.css │ ├── index.styl │ └── var.styl │ ├── img │ ├── 404.jpg │ ├── algolia.svg │ ├── book.gif │ ├── default-cover │ │ ├── 1.png │ │ ├── 10.png │ │ ├── 11.png │ │ ├── 12.png │ │ ├── 13.png │ │ ├── 14.png │ │ ├── 15.png │ │ ├── 16.png │ │ ├── 17.png │ │ ├── 18.png │ │ ├── 19.png │ │ ├── 2.png │ │ ├── 20.png │ │ ├── 21.png │ │ ├── 22.png │ │ ├── 23.png │ │ ├── 24.png │ │ ├── 25.png │ │ ├── 26.png │ │ ├── 27.png │ │ ├── 28.png │ │ ├── 29.png │ │ ├── 3.png │ │ ├── 30.png │ │ ├── 31.png │ │ ├── 32.png │ │ ├── 33.png │ │ ├── 34.png │ │ ├── 35.png │ │ ├── 36.png │ │ ├── 37.png │ │ ├── 38.png │ │ ├── 39.png │ │ ├── 4.png │ │ ├── 40.png │ │ ├── 41.png │ │ ├── 42.png │ │ ├── 43.png │ │ ├── 44.png │ │ ├── 45.png │ │ ├── 46.png │ │ ├── 47.png │ │ ├── 48.png │ │ ├── 49.png │ │ ├── 5.png │ │ ├── 50.png │ │ ├── 51.png │ │ ├── 52.png │ │ ├── 53.png │ │ ├── 54.png │ │ ├── 55.png │ │ ├── 56.png │ │ ├── 57.png │ │ ├── 58.png │ │ ├── 59.png │ │ ├── 6.png │ │ ├── 60.png │ │ ├── 7.png │ │ ├── 8.png │ │ └── 9.png │ ├── favicon.png │ ├── friend_404.gif │ └── wechat-sponsor.png │ └── js │ ├── main.js │ ├── search │ ├── algolia.js │ └── local-search.js │ ├── tw_cn.js │ └── utils.js ├── fluid ├── .editorconfig ├── .eslintrc ├── .github │ ├── ISSUE_TEMPLATE │ │ ├── bug_report.md │ │ ├── bug_report_zh.md │ │ ├── feature_request.md │ │ ├── feature_request_zh.md │ │ ├── question.md │ │ └── question_zh.md │ └── workflows │ │ ├── limit.yaml │ │ └── lint.yaml ├── .gitignore ├── LICENSE ├── README.md ├── README_en.md ├── _config.yml ├── _static_prefix.yml ├── gulpfile.js ├── languages │ ├── en.yml │ ├── ja.yml │ └── zh-CN.yml ├── layout │ ├── 404.ejs │ ├── _partial │ │ ├── beian.ejs │ │ ├── comments │ │ │ ├── changyan.ejs │ │ │ ├── disqus.ejs │ │ │ ├── gitalk.ejs │ │ │ ├── livere.ejs │ │ │ ├── utterances.ejs │ │ │ └── valine.ejs │ │ ├── css.ejs │ │ ├── footer.ejs │ │ ├── head.ejs │ │ ├── nav.ejs │ │ ├── paginator.ejs │ │ ├── plugins │ │ │ ├── analytics.ejs │ │ │ ├── anchor.ejs │ │ │ ├── aplayer.ejs │ │ │ ├── daovoice.ejs │ │ │ ├── fancybox.ejs │ │ │ ├── leancloud.ejs │ │ │ ├── local-search.ejs │ │ │ ├── math.ejs │ │ │ ├── mermaid.ejs │ │ │ ├── mouse-click.ejs │ │ │ ├── tocjs.ejs │ │ │ └── typed.ejs │ │ ├── post-meta.ejs │ │ ├── scripts.ejs │ │ ├── search.ejs │ │ ├── statistics.ejs │ │ └── toc.ejs │ ├── about.ejs │ ├── archive.ejs │ ├── categories.ejs │ ├── category.ejs │ ├── index.ejs │ ├── layout.ejs │ ├── links.ejs │ ├── page.ejs │ ├── post.ejs │ ├── tag.ejs │ └── tags.ejs ├── local-search.xml ├── package.json ├── scripts │ ├── events │ │ ├── index.js │ │ └── lib │ │ │ ├── footnote.js │ │ │ ├── hello.js │ │ │ ├── highlight.js │ │ │ ├── lazyload.js │ │ │ ├── merge-configs.js │ │ │ └── version.js │ ├── filters │ │ └── post-filter.js │ ├── generators │ │ ├── local-search.js │ │ └── pages.js │ ├── helpers │ │ ├── page.js │ │ ├── url.js │ │ ├── utils.js │ │ └── wordcount.js │ ├── tags │ │ ├── button.js │ │ ├── checkbox.js │ │ ├── group-image.js │ │ ├── label.js │ │ └── note.js │ └── utils │ │ ├── join-path.js │ │ └── object.js └── source │ ├── css │ ├── _functions │ │ └── base.styl │ ├── _mixins │ │ └── base.styl │ ├── _pages │ │ ├── _about │ │ │ └── about.styl │ │ ├── _archive │ │ │ └── archive.styl │ │ ├── _base │ │ │ ├── base.styl │ │ │ ├── keyframes.styl │ │ │ └── rewrite.styl │ │ ├── _category │ │ │ ├── categories.styl │ │ │ └── category.styl │ │ ├── _index │ │ │ └── index.styl │ │ ├── _links │ │ │ └── links.styl │ │ ├── _post │ │ │ ├── post.styl │ │ │ └── tag_plugin.styl │ │ ├── _tag │ │ │ ├── tag.styl │ │ │ └── tags.styl │ │ └── pages.styl │ ├── _variables │ │ └── base.styl │ └── main.styl │ ├── img │ ├── avatar-useless.png │ ├── avatar.jpg │ ├── default-useless.png │ ├── default.png │ ├── favicon-useless.png │ ├── loading.gif │ ├── police_beian.png │ └── qq.JPG │ ├── js │ ├── clipboard-use.js │ ├── debouncer.js │ ├── lazyload.js │ ├── local-search.js │ ├── main.js │ └── utils.js │ └── lib │ └── hint │ └── hint.min.css └── indigo ├── .editorconfig ├── LICENSE ├── README.md ├── _config.yml ├── languages ├── en.yml ├── ja.yml ├── nl-NL ├── zh-CN.yml └── zh-TW.yml ├── layout ├── _partial │ ├── after-footer.ejs │ ├── archive.ejs │ ├── footer.ejs │ ├── head.ejs │ ├── header.ejs │ ├── index-item.ejs │ ├── loading.ejs │ ├── menu.ejs │ ├── paginator.ejs │ ├── plugins │ │ ├── baidu.ejs │ │ ├── disqus.ejs │ │ ├── dynamic-title.ejs │ │ ├── gitalk.ejs │ │ ├── gitment.ejs │ │ ├── google-analytics.ejs │ │ ├── hyper-comments.ejs │ │ ├── mathjax.ejs │ │ ├── page-visit.ejs │ │ ├── site-visit.ejs │ │ ├── tajs.ejs │ │ ├── uyan.ejs │ │ └── valine.ejs │ ├── post.ejs │ ├── post │ │ ├── category.ejs │ │ ├── comment.ejs │ │ ├── copyright.ejs │ │ ├── date.ejs │ │ ├── head-meta.ejs │ │ ├── nav.ejs │ │ ├── reward-btn.ejs │ │ ├── reward.ejs │ │ ├── share-fab.ejs │ │ ├── share.ejs │ │ ├── tag.ejs │ │ ├── title.ejs │ │ ├── toc.ejs │ │ └── updated.ejs │ ├── script.ejs │ ├── search.ejs │ └── tags-bar.ejs ├── archive.ejs ├── categories.ejs ├── category.ejs ├── index.ejs ├── layout.ejs ├── page.ejs ├── post.ejs ├── tag.ejs └── tags.ejs ├── package.json ├── scripts └── plugins.js └── source ├── css ├── _partial │ ├── archives.less │ ├── article.less │ ├── fontawesome.less │ ├── gotop.less │ ├── header.less │ ├── highlight.less │ ├── layout.less │ ├── lightbox.less │ ├── loading.less │ ├── page.less │ ├── postlist.less │ ├── reward.less │ ├── roboto.less │ ├── search.less │ ├── share.less │ ├── tags.less │ ├── variable.less │ └── waves.less ├── _plugin │ └── valine.less ├── fonts │ ├── fontawesome │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ └── fontawesome-webfont.woff2 │ └── roboto │ │ ├── Roboto-Bold.eot │ │ ├── Roboto-Bold.ttf │ │ ├── Roboto-Bold.woff │ │ ├── Roboto-Bold.woff2 │ │ ├── Roboto-Light.eot │ │ ├── Roboto-Light.ttf │ │ ├── Roboto-Light.woff │ │ ├── Roboto-Light.woff2 │ │ ├── Roboto-Medium.eot │ │ ├── Roboto-Medium.ttf │ │ ├── Roboto-Medium.woff │ │ ├── Roboto-Medium.woff2 │ │ ├── Roboto-Regular.eot │ │ ├── Roboto-Regular.ttf │ │ ├── Roboto-Regular.woff │ │ ├── Roboto-Regular.woff2 │ │ ├── Roboto-Thin.eot │ │ ├── Roboto-Thin.ttf │ │ ├── Roboto-Thin.woff │ │ └── Roboto-Thin.woff2 └── style.less ├── img ├── Wechat_appreciates.png ├── brand.jpg ├── cc.png ├── img-err.png ├── img-loading.png ├── my-portrait.jpg └── portrait.jpg └── js ├── main.js ├── main.min.js ├── search.js └── search.min.js /.gitignore: -------------------------------------------------------------------------------- 1 | package-lock.json 2 | node_modules 3 | db.json 4 | public -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "13" 4 | 5 | # cache: 6 | # directories: 7 | # - node_modules 8 | 9 | # S: Build Lifecycle 10 | install: 11 | - npm install hexo-cli -g 12 | - npm install 13 | 14 | # before_script: 15 | # - npm install -g gulp 16 | 17 | script: 18 | - hexo clean 19 | - hexo g 20 | 21 | after_script: 22 | - cd ./public 23 | - git init 24 | - git config user.name "googtech" 25 | - git config user.email "hi@goog.tech" 26 | - git add . 27 | - git commit -m ":rocket:update blog" 28 | - git push --force --quiet "https://${YUBUNTU0109_TOKEN}@${GH_REF}" master:master 29 | 30 | # E: Build LifeCycle 31 | branches: 32 | only: 33 | - HexoBackup 34 | env: 35 | global: 36 | - GH_REF: github.com/GoogTech/blog.git 37 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ### :books: Writing contributing guidelines ~ 2 | -------------------------------------------------------------------------------- /img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/img/logo.png -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hexo-site", 3 | "version": "0.0.0", 4 | "private": true, 5 | "hexo": { 6 | "version": "5.4.0" 7 | }, 8 | "dependencies": { 9 | "hexo": "^5.4.0", 10 | "hexo-deployer-git": "^3.0.0", 11 | "hexo-generator-archive": "^1.0.0", 12 | "hexo-generator-category": "^1.0.0", 13 | "hexo-generator-feed": "^3.0.0", 14 | "hexo-generator-index": "^2.0.0", 15 | "hexo-generator-json-content": "^4.2.3", 16 | "hexo-generator-search": "^2.4.3", 17 | "hexo-generator-tag": "^1.0.0", 18 | "hexo-image-link": "0.0.3", 19 | "hexo-renderer-ejs": "^1.0.0", 20 | "hexo-renderer-less": "^2.0.2", 21 | "hexo-renderer-marked": "^4.1.0", 22 | "hexo-renderer-pug": "^2.0.0", 23 | "hexo-renderer-stylus": "^2.0.1", 24 | "hexo-server": "^2.0.0", 25 | "hexo-wordcount": "^6.0.1" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /scaffolds/draft.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: {{ title }} 3 | tags: 4 | --- 5 | -------------------------------------------------------------------------------- /scaffolds/page.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: {{ title }} 3 | date: {{ date }} 4 | --- 5 | -------------------------------------------------------------------------------- /scaffolds/post.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: {{ title }} 3 | date: {{ date }} 4 | tags: 5 | categories: 6 | keywords: 7 | --- 8 | -------------------------------------------------------------------------------- /source/_posts/A-simple-MVC-example/SimpleMVC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/A-simple-MVC-example/SimpleMVC.png -------------------------------------------------------------------------------- /source/_posts/A-simple-comment-component-for-Vue/a-simple-comment-component-for-vue-v1.0.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/A-simple-comment-component-for-Vue/a-simple-comment-component-for-vue-v1.0.PNG -------------------------------------------------------------------------------- /source/_posts/Dockerfile介绍及指令说明/Docker-Dockerfile-build-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Dockerfile介绍及指令说明/Docker-Dockerfile-build-1.jpg -------------------------------------------------------------------------------- /source/_posts/Dockerfile介绍及指令说明/Docker-Dockerfile-build-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Dockerfile介绍及指令说明/Docker-Dockerfile-build-2.jpg -------------------------------------------------------------------------------- /source/_posts/Dockerfile介绍及指令说明/Docker-Dockerfile-commands.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Dockerfile介绍及指令说明/Docker-Dockerfile-commands.jpg -------------------------------------------------------------------------------- /source/_posts/Docker安装并部署nginx/docker-deploy-nginx-modify-index.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Docker安装并部署nginx/docker-deploy-nginx-modify-index.PNG -------------------------------------------------------------------------------- /source/_posts/Docker安装并部署nginx/docker-deploy-nginx.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Docker安装并部署nginx/docker-deploy-nginx.PNG -------------------------------------------------------------------------------- /source/_posts/Docker安装并部署tomcat/docker-deploy-tomcat-index.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Docker安装并部署tomcat/docker-deploy-tomcat-index.PNG -------------------------------------------------------------------------------- /source/_posts/Docker安装并部署tomcat/docker-deploy-tomcat.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Docker安装并部署tomcat/docker-deploy-tomcat.PNG -------------------------------------------------------------------------------- /source/_posts/Docker常用命令/docker-command.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Docker常用命令/docker-command.png -------------------------------------------------------------------------------- /source/_posts/Git-Commit-Message-规范/git-commit-message-mindmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Git-Commit-Message-规范/git-commit-message-mindmap.png -------------------------------------------------------------------------------- /source/_posts/Hi-Layui/Layui-form.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Hi-Layui/Layui-form.PNG -------------------------------------------------------------------------------- /source/_posts/Hi-MyBatis/MyBatis框架执行流程图.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Hi-MyBatis/MyBatis框架执行流程图.png -------------------------------------------------------------------------------- /source/_posts/Hi-Shiro/Shiro-内部结构图.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Hi-Shiro/Shiro-内部结构图.png -------------------------------------------------------------------------------- /source/_posts/Hi-Shiro/Shiro-外部架构图.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Hi-Shiro/Shiro-外部架构图.png -------------------------------------------------------------------------------- /source/_posts/Hi-Shiro/shiro-framework-api.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Hi-Shiro/shiro-framework-api.png -------------------------------------------------------------------------------- /source/_posts/Hi-Spring-Boot/Hi-Spring-Boot.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Hi-Spring-Boot/Hi-Spring-Boot.PNG -------------------------------------------------------------------------------- /source/_posts/Hi-SpringMVC/Spring-MVC工作原理图.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Hi-SpringMVC/Spring-MVC工作原理图.jpg -------------------------------------------------------------------------------- /source/_posts/Hi-SpringMVC/第一个Spring-MVC程序视图.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Hi-SpringMVC/第一个Spring-MVC程序视图.PNG -------------------------------------------------------------------------------- /source/_posts/Hi-Vue/MVVM-模式.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Hi-Vue/MVVM-模式.jpg -------------------------------------------------------------------------------- /source/_posts/How-to-create-a-pull-request-from-a-fork/allow-maintainers-to-make-edits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/How-to-create-a-pull-request-from-a-fork/allow-maintainers-to-make-edits.png -------------------------------------------------------------------------------- /source/_posts/How-to-create-a-pull-request-from-a-fork/choose-base-fork-and-branch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/How-to-create-a-pull-request-from-a-fork/choose-base-fork-and-branch.png -------------------------------------------------------------------------------- /source/_posts/How-to-create-a-pull-request-from-a-fork/choose-head-fork-compare-branch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/How-to-create-a-pull-request-from-a-fork/choose-head-fork-compare-branch.png -------------------------------------------------------------------------------- /source/_posts/How-to-create-a-pull-request-from-a-fork/compare-across-forks-link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/How-to-create-a-pull-request-from-a-fork/compare-across-forks-link.png -------------------------------------------------------------------------------- /source/_posts/How-to-create-a-pull-request-from-a-fork/pull-request-start-review-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/How-to-create-a-pull-request-from-a-fork/pull-request-start-review-button.png -------------------------------------------------------------------------------- /source/_posts/How-to-create-a-pull-request-from-a-fork/pullrequest-description.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/How-to-create-a-pull-request-from-a-fork/pullrequest-description.png -------------------------------------------------------------------------------- /source/_posts/How-to-create-a-pull-request-from-a-fork/pullrequest-send.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/How-to-create-a-pull-request-from-a-fork/pullrequest-send.png -------------------------------------------------------------------------------- /source/_posts/JDK-9新特性之REPL-JShell/JShell-Edit-Pad-Demo.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/JDK-9新特性之REPL-JShell/JShell-Edit-Pad-Demo.PNG -------------------------------------------------------------------------------- /source/_posts/JDK-9目录结构的变化及新特性之模块化/JDK9-新特性之模块化-模块目录结构.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/JDK-9目录结构的变化及新特性之模块化/JDK9-新特性之模块化-模块目录结构.png -------------------------------------------------------------------------------- /source/_posts/JSP-标准标签库.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: JSP 标准标签库 3 | date: 2019-04-26 10:24:15 4 | tags: [Java web] 5 | --- 6 | 7 | ## 学习笔记 : Java web之`JSTL` 8 | 9 | ### `JSTL`介绍 10 | *从`JSP 1.1`规范开始,JSP就支持使用自定义标签,使用自定义标签大大降低了JSP页面的复杂度.同时增加了代码的`重用性`.因此市面上出现了许多由不同厂商定制的功能相同的标签,继而导致网页制作者无从选择的问题.为了解决该问题,Sun公司制定了一套标准标签库(`Java Server Pages Standard Tag Library`),简称`JSTL`.其为一个JSP标签集合,封装了JSP应用的通用核心功能.* 11 | 12 | ### `JSTL`标签库 13 | 1. *`Core` : 核心标签库,它包含实现Web应用中通用操作的标签.* 14 | 2. *`SQL` : 数据库标签库,用于访问数据库和对数据库中的数据进行操作的标签.* 15 | 3. *`XML` : 操作XML文档的标签库,它包含对XML文档中的数据进行操作的标签.* 16 | 4. *`Functions` : 函数标签库,提供了一套自定义`EL`函数,包含`JSP`网页制作者经常要用到的字符串操作.* 17 | 18 | ### `JSTL`的使用 19 | *例如 : 测试``标签,需要使用`taglib`指令导入`Core`标签库.代码如下 :* 20 | ```java 21 | <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 22 | ``` 23 | *在上述代码中,`taglib`指令的`uri`属性用于指定引入标签库描述文件中的`URL`, 其`prefix`属性用于指定引入标签库描述符文件的前缀.在JSP文件中使用这个标签时都要使用这个前缀.* -------------------------------------------------------------------------------- /source/_posts/JSP-自定义标签/java-servlet-jsp-tagext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/JSP-自定义标签/java-servlet-jsp-tagext.png -------------------------------------------------------------------------------- /source/_posts/Java-Servlet-API/ServletAPI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java-Servlet-API/ServletAPI.png -------------------------------------------------------------------------------- /source/_posts/Java-Servlet各版本使用详解/Servlet2.5.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java-Servlet各版本使用详解/Servlet2.5.PNG -------------------------------------------------------------------------------- /source/_posts/Java-annotation/SuppressWarnings.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java-annotation/SuppressWarnings.PNG -------------------------------------------------------------------------------- /source/_posts/Java-web-Cookie-and-Session/Cookie在浏览器和服务器之间的传输过程.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java-web-Cookie-and-Session/Cookie在浏览器和服务器之间的传输过程.jpg -------------------------------------------------------------------------------- /source/_posts/Java-web-Cookie-and-Session/Session案例-实现一次性验证码-用户登录页面.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java-web-Cookie-and-Session/Session案例-实现一次性验证码-用户登录页面.PNG -------------------------------------------------------------------------------- /source/_posts/Java-web-Cookie-and-Session/Session案例-用户登录流程图.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java-web-Cookie-and-Session/Session案例-用户登录流程图.png -------------------------------------------------------------------------------- /source/_posts/Java-web-Cookie-and-Session/Session案例-购物车的实现流程图.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java-web-Cookie-and-Session/Session案例-购物车的实现流程图.png -------------------------------------------------------------------------------- /source/_posts/Java-web-JSP-Model/JSPModel1案例-计算器页面.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java-web-JSP-Model/JSPModel1案例-计算器页面.PNG -------------------------------------------------------------------------------- /source/_posts/Java-web-JSP-Model/JSPModel2案例-用户注册信息页面.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java-web-JSP-Model/JSPModel2案例-用户注册信息页面.PNG -------------------------------------------------------------------------------- /source/_posts/Java-web-JSP-Model/JSPModel2案例-用户注册页面.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java-web-JSP-Model/JSPModel2案例-用户注册页面.PNG -------------------------------------------------------------------------------- /source/_posts/Java-web-Servlet-listener/Servlet事件监听器案例-统计当前在线人数名单.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java-web-Servlet-listener/Servlet事件监听器案例-统计当前在线人数名单.PNG -------------------------------------------------------------------------------- /source/_posts/Java-web-请求与响应/浏览器访问Servlet的交互过程.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java-web-请求与响应/浏览器访问Servlet的交互过程.png -------------------------------------------------------------------------------- /source/_posts/Java爬虫之WebMagic/WebMagic-总体架构图.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java爬虫之WebMagic/WebMagic-总体架构图.jpg -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Abstract-Factory-Pattern/Abstract-Factory-Pattern-ClassDiagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Abstract-Factory-Pattern/Abstract-Factory-Pattern-ClassDiagram.png -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Adapter-Pattern/Adapter1-ClassDiagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Adapter-Pattern/Adapter1-ClassDiagram.png -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Adapter-Pattern/Adapter2-ClassDiagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Adapter-Pattern/Adapter2-ClassDiagram.png -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Adapter-Pattern/Adapter3-ClassDiagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Adapter-Pattern/Adapter3-ClassDiagram.png -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Builder-Pattern/Builder-Pattern-ClassDiagram1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Builder-Pattern/Builder-Pattern-ClassDiagram1.png -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Builder-Pattern/Builder-Pattern-ClassDiagram2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Builder-Pattern/Builder-Pattern-ClassDiagram2.png -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Command-Pattern/Command-Pattern-ClassDiagram1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Command-Pattern/Command-Pattern-ClassDiagram1.png -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Command-Pattern/Command-Pattern-ClassDiagram2-drawing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Command-Pattern/Command-Pattern-ClassDiagram2-drawing.png -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Command-Pattern/Command-Pattern-ClassDiagram2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Command-Pattern/Command-Pattern-ClassDiagram2.png -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Composite-Pattern/Composite-Pattern-ClassDiagram1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Composite-Pattern/Composite-Pattern-ClassDiagram1.png -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Composite-Pattern/Composite-Pattern-ClassDiagram2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Composite-Pattern/Composite-Pattern-ClassDiagram2.png -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Decorator-Pattern/Decorator-Pattern-ClassDiagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Decorator-Pattern/Decorator-Pattern-ClassDiagram.png -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Facade-Pattern/Facade-Pattern-ClassDiagram1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Facade-Pattern/Facade-Pattern-ClassDiagram1.png -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Facade-Pattern/Facade-Pattern-ClassDiagram2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Facade-Pattern/Facade-Pattern-ClassDiagram2.png -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Factory-Method-Pattern/Factory-Method-Pattern-ClassDiagram1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Factory-Method-Pattern/Factory-Method-Pattern-ClassDiagram1.png -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Factory-Method-Pattern/Factory-Method-Pattern-ClassDiagram2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Factory-Method-Pattern/Factory-Method-Pattern-ClassDiagram2.png -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Factory-Method-Pattern/Factory-Method-Pattern-ClassDiagram3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Factory-Method-Pattern/Factory-Method-Pattern-ClassDiagram3.png -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Iterator-Pattern/Iterator1-ClassDiagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Iterator-Pattern/Iterator1-ClassDiagram.png -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Iterator-Pattern/Iterator2-ClassDiagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Iterator-Pattern/Iterator2-ClassDiagram.png -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Mediator-Pattern/Mediator-Pattern-ClassDiagram-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Mediator-Pattern/Mediator-Pattern-ClassDiagram-1.png -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Mediator-Pattern/Mediator-Pattern-ClassDiagram-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Mediator-Pattern/Mediator-Pattern-ClassDiagram-2.png -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Observer-Pattern/Observer-Pattern-ClassDiagram1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Observer-Pattern/Observer-Pattern-ClassDiagram1.png -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Proxy-Pattern/Froxy-Pattern-ClassDiagram1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Proxy-Pattern/Froxy-Pattern-ClassDiagram1.png -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Proxy-Pattern/Froxy-Pattern-ClassDiagram2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Proxy-Pattern/Froxy-Pattern-ClassDiagram2.png -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Simple-Factory-Pattern/Simple-Factory-Pattern-ClassDiagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Simple-Factory-Pattern/Simple-Factory-Pattern-ClassDiagram.png -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Template-Method-Pattern/Template-Method1-ClassDiagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Template-Method-Pattern/Template-Method1-ClassDiagram.png -------------------------------------------------------------------------------- /source/_posts/Java设计模式之Template-Method-Pattern/Template-Method2-ClassDiagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java设计模式之Template-Method-Pattern/Template-Method2-ClassDiagram.png -------------------------------------------------------------------------------- /source/_posts/Java项目开发中PO-BO-VO-DTO-POJO-DAO的概念及其作用/Java-POJO-PO-DTO-VO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java项目开发中PO-BO-VO-DTO-POJO-DAO的概念及其作用/Java-POJO-PO-DTO-VO.png -------------------------------------------------------------------------------- /source/_posts/Java项目开发中PO-BO-VO-DTO-POJO-DAO的概念及其作用/Java项目中各个层次的详细划分.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Java项目开发中PO-BO-VO-DTO-POJO-DAO的概念及其作用/Java项目中各个层次的详细划分.png -------------------------------------------------------------------------------- /source/_posts/MyBatis的核心配置/MyBatis配置文件中的主要元素.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/MyBatis的核心配置/MyBatis配置文件中的主要元素.png -------------------------------------------------------------------------------- /source/_posts/Penetration-Testing-流量捕获之APR缓存攻击/penetration-testing_moments_arp-spoofing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Penetration-Testing-流量捕获之APR缓存攻击/penetration-testing_moments_arp-spoofing.png -------------------------------------------------------------------------------- /source/_posts/Penetration-Testing-流量捕获之DNS缓存攻击/penetration-testing_moments_dns-spoofing-in-library.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Penetration-Testing-流量捕获之DNS缓存攻击/penetration-testing_moments_dns-spoofing-in-library.png -------------------------------------------------------------------------------- /source/_posts/Penetration-Testing-流量捕获之DNS缓存攻击/penetration-testing_moments_dns-spoofing-with-phishing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Penetration-Testing-流量捕获之DNS缓存攻击/penetration-testing_moments_dns-spoofing-with-phishing.png -------------------------------------------------------------------------------- /source/_posts/SSM框架整合/SSM整合案例.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/SSM框架整合/SSM整合案例.PNG -------------------------------------------------------------------------------- /source/_posts/Servlet-lifecycle/lifecycle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Servlet-lifecycle/lifecycle.png -------------------------------------------------------------------------------- /source/_posts/Servlet同版本对应的Tomcat及不同版本的web-xml写法/different-version.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Servlet同版本对应的Tomcat及不同版本的web-xml写法/different-version.PNG -------------------------------------------------------------------------------- /source/_posts/Shiro之用户授权/Shiro-授权流程.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Shiro之用户授权/Shiro-授权流程.png -------------------------------------------------------------------------------- /source/_posts/Shiro的拦截器机制/Shiro-ShiroFilter.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Shiro的拦截器机制/Shiro-ShiroFilter.jpg -------------------------------------------------------------------------------- /source/_posts/Spring-AOP.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Spring AOP 3 | date: 2019-05-22 21:21:32 4 | tags: [Spring] 5 | --- 6 | 7 | ## 学习笔记 : Spring AOP 8 | -------------------------------------------------------------------------------- /source/_posts/Spring-Boot之整合视图层技术/BookInfoView.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Spring-Boot之整合视图层技术/BookInfoView.PNG -------------------------------------------------------------------------------- /source/_posts/Spring-Boot拥抱MyBatis及Redis/UserListView.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Spring-Boot拥抱MyBatis及Redis/UserListView.PNG -------------------------------------------------------------------------------- /source/_posts/Spring-Boot项目-好友备忘录/SpringBoot-CURD-Memo_FriendListView.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Spring-Boot项目-好友备忘录/SpringBoot-CURD-Memo_FriendListView.PNG -------------------------------------------------------------------------------- /source/_posts/Spring-Boot项目-好友备忘录/SpringBoot-CURD-Memo_FriendListView2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Spring-Boot项目-好友备忘录/SpringBoot-CURD-Memo_FriendListView2.PNG -------------------------------------------------------------------------------- /source/_posts/Spring-Boot项目-好友备忘录/SpringBoot-CURD-Memo_MainView.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Spring-Boot项目-好友备忘录/SpringBoot-CURD-Memo_MainView.PNG -------------------------------------------------------------------------------- /source/_posts/Spring-MVC之拦截器/SpringMVC_Filter-login.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Spring-MVC之拦截器/SpringMVC_Filter-login.PNG -------------------------------------------------------------------------------- /source/_posts/Spring-MVC之拦截器/SpringMVC_Filter-main.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Spring-MVC之拦截器/SpringMVC_Filter-main.PNG -------------------------------------------------------------------------------- /source/_posts/Spring-MVC之数据绑定.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Spring MVC之数据绑定 3 | date: 2019-05-22 21:25:32 4 | tags: [Spring MVC] 5 | --- 6 | 7 | ## 学习笔记 : Spring MVC之数据绑定 8 | *简介 : 在执行程序时,Spring MVC会根据客户端请求参数的不同,将请求消息中的信息以一定的方式转换并绑定到控制器类的方法参数中.这种将`请求消息`与`后台方法参数`建立连接的过程就是Sping MVC中的数据绑定.* 9 | 10 | ### 数据绑定介绍 11 | *在数据绑定过程中,Spring MVC框架会通过数据绑定组件(`DataBinder`)将请求参数串的内容进行类型转换,然后将和转换后的值赋给控制器类中方法的形参,这样后台就可以正确绑定并获取客户端请求携带的参数了.整个数据绑定过程如下图所示 :* 12 | 13 | ![ ](Spring-MVC之数据绑定/SpringMVC-DataBinder.png) 14 | 15 | *上图信息处理过程的步骤如下 :* 16 | 1. Spring MVC将`ServletsRequest`对象传递给`DataBinder`. 17 | 2. 将处理方法的入参对象传递给`DataBinder`. 18 | 3. `DataBinder`调用`ConversionService`组件进行数据类型转换,数据格式化等工作,并将`ServletRequest`对象中的消息填充到参数对象中. 19 | 4. 调用`Validator`组件对已经绑定了请求消息数据的参数对象进行数据合法性效验. 20 | 5. 效验完成后生成数据绑定结果`BindingResult`对象,Spring MVC会将`BindingResult`对象中的内容赋给处理方法的相应形参. -------------------------------------------------------------------------------- /source/_posts/Spring-MVC之数据绑定/SpringMVC-DataBinder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Spring-MVC之数据绑定/SpringMVC-DataBinder.png -------------------------------------------------------------------------------- /source/_posts/SpringBoot整合FreeMarker/FreeMarker-overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/SpringBoot整合FreeMarker/FreeMarker-overview.png -------------------------------------------------------------------------------- /source/_posts/SpringBoot整合FreeMarker/Hi-FreeMarker.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/SpringBoot整合FreeMarker/Hi-FreeMarker.PNG -------------------------------------------------------------------------------- /source/_posts/Spring的事务管理.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Spring的事务管理 3 | date: 2019-05-22 21:22:12 4 | tags: [Spring] 5 | --- 6 | 7 | ## 学习笔记 : `Spring`的事务管理 -------------------------------------------------------------------------------- /source/_posts/Steve-Jobs-speech-at-Stanford-University-in-2005/Steve-Jobs-speech-at-Stanford-University-in-2005.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Steve-Jobs-speech-at-Stanford-University-in-2005/Steve-Jobs-speech-at-Stanford-University-in-2005.pdf -------------------------------------------------------------------------------- /source/_posts/Ubuntu18-04-Mac-theme/Learn-Shell-program.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Ubuntu18-04-Mac-theme/Learn-Shell-program.PNG -------------------------------------------------------------------------------- /source/_posts/Ubuntu18-04-Mac-theme/Ubuntu18.04-Mac-theme.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Ubuntu18-04-Mac-theme/Ubuntu18.04-Mac-theme.PNG -------------------------------------------------------------------------------- /source/_posts/Ubuntu18-04-安装Docker及基本使用/docker-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Ubuntu18-04-安装Docker及基本使用/docker-architecture.png -------------------------------------------------------------------------------- /source/_posts/Ubuntu18-04-安装Docker及基本使用/docker-run-hello-world.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Ubuntu18-04-安装Docker及基本使用/docker-run-hello-world.PNG -------------------------------------------------------------------------------- /source/_posts/Ubuntu18-04-安装Redis及基本使用/try.redis.io.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Ubuntu18-04-安装Redis及基本使用/try.redis.io.PNG -------------------------------------------------------------------------------- /source/_posts/Understanding-the-GitHub-flow/A_successful_Git_branching_model.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Understanding-the-GitHub-flow/A_successful_Git_branching_model.png -------------------------------------------------------------------------------- /source/_posts/Understanding-the-GitHub-flow/GitHubFlow-Add_commits.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Understanding-the-GitHub-flow/GitHubFlow-Add_commits.PNG -------------------------------------------------------------------------------- /source/_posts/Understanding-the-GitHub-flow/GitHubFlow-Create_a_branch.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Understanding-the-GitHub-flow/GitHubFlow-Create_a_branch.PNG -------------------------------------------------------------------------------- /source/_posts/Understanding-the-GitHub-flow/GitHubFlow-Deploy.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Understanding-the-GitHub-flow/GitHubFlow-Deploy.PNG -------------------------------------------------------------------------------- /source/_posts/Understanding-the-GitHub-flow/GitHubFlow-Discuss_and_review_your_code.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Understanding-the-GitHub-flow/GitHubFlow-Discuss_and_review_your_code.PNG -------------------------------------------------------------------------------- /source/_posts/Understanding-the-GitHub-flow/GitHubFlow-Merge.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Understanding-the-GitHub-flow/GitHubFlow-Merge.PNG -------------------------------------------------------------------------------- /source/_posts/Understanding-the-GitHub-flow/GitHubFlow-Open_a_Pull_Request.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Understanding-the-GitHub-flow/GitHubFlow-Open_a_Pull_Request.PNG -------------------------------------------------------------------------------- /source/_posts/Vue-js的数据响应式原理/Vue-数据绑定视图的实现原理.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Vue-js的数据响应式原理/Vue-数据绑定视图的实现原理.PNG -------------------------------------------------------------------------------- /source/_posts/Vue-js的数据响应式原理/Vue-数据链.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Vue-js的数据响应式原理/Vue-数据链.PNG -------------------------------------------------------------------------------- /source/_posts/Vue-js的数据响应式原理/data-chain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Vue-js的数据响应式原理/data-chain.png -------------------------------------------------------------------------------- /source/_posts/Vue-js的生命周期/Vue-lifecycle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Vue-js的生命周期/Vue-lifecycle.png -------------------------------------------------------------------------------- /source/_posts/Vue-js的生命周期/vue-lifecycle-created+mounted.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Vue-js的生命周期/vue-lifecycle-created+mounted.PNG -------------------------------------------------------------------------------- /source/_posts/Vue-js的生命周期/vue-lifecycle-destroyed.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Vue-js的生命周期/vue-lifecycle-destroyed.PNG -------------------------------------------------------------------------------- /source/_posts/Vue-js的生命周期/vue-lifecycle-updated.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Vue-js的生命周期/vue-lifecycle-updated.PNG -------------------------------------------------------------------------------- /source/_posts/Vue-js的自定义指令与过滤器/Vue-filter-demo.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Vue-js的自定义指令与过滤器/Vue-filter-demo.PNG -------------------------------------------------------------------------------- /source/_posts/Vue-js的语法/Vue-for-withoutKey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/Vue-js的语法/Vue-for-withoutKey.png -------------------------------------------------------------------------------- /source/_posts/hacking-time-anonymous-ishacker-net.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'hacking time : anonymous.ishacker.net' 3 | date: 2020-06-21 18:06:36 4 | tags: [Hacker,Hacking Tool,Penetration Testing,] 5 | --- 6 | 7 | ## the quieter you are the more you are able to hear 8 | 9 | *下面这个博客网站是我用来记录 `Penetration Testing` 笔记及收集 `Hacking Tool` 的.* 10 | 11 | ![ ](hacking-time-anonymous-ishacker-net/anonymous.jpg) 12 | 13 | 14 | > *Blog : https://anonymous.ishacker.net* 15 | 16 | > *Repo : https://github.com/YUbuntu0109/anonymous* 17 | -------------------------------------------------------------------------------- /source/_posts/hacking-time-anonymous-ishacker-net/anonymous.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/hacking-time-anonymous-ishacker-net/anonymous.jpg -------------------------------------------------------------------------------- /source/_posts/image-repo.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: image repo 3 | date: 2020-06-21 11:50:35 4 | tags: [image] 5 | --- 6 | 7 | ### blog logo 8 | 9 | ![ ](image-repo/logo.png) 10 | 11 | *快速访问 : https://yubuntu0109.github.io/2020/06/21/image-repo/logo.png* 12 | 13 | 14 | 15 | > 本文章用于存储图片,解决后期链接图片在 `README.md` 等其它地方无法加载显示的问题. 16 | -------------------------------------------------------------------------------- /source/_posts/image-repo/Go/project/fileGo/logo/fileGo-logo-screely.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/image-repo/Go/project/fileGo/logo/fileGo-logo-screely.png -------------------------------------------------------------------------------- /source/_posts/image-repo/Go/project/fileGo/logo/fileGo-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/image-repo/Go/project/fileGo/logo/fileGo-logo.png -------------------------------------------------------------------------------- /source/_posts/image-repo/cover-of-leetcode-vlog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/image-repo/cover-of-leetcode-vlog.png -------------------------------------------------------------------------------- /source/_posts/image-repo/leetcode-googtech-logo.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/image-repo/leetcode-googtech-logo.PNG -------------------------------------------------------------------------------- /source/_posts/image-repo/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/image-repo/logo.png -------------------------------------------------------------------------------- /source/_posts/image-repo/task.go.v1.0.logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/image-repo/task.go.v1.0.logo.png -------------------------------------------------------------------------------- /source/_posts/image-repo/task.go.v1.0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/image-repo/task.go.v1.0.png -------------------------------------------------------------------------------- /source/_posts/image-repo/wechat-GoogTech.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/image-repo/wechat-GoogTech.png -------------------------------------------------------------------------------- /source/_posts/jQuery-selector/jQuery-selector.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/jQuery-selector/jQuery-selector.PNG -------------------------------------------------------------------------------- /source/_posts/jQuery-过滤器学习笔记/jQuery-内容过滤器示例图.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/jQuery-过滤器学习笔记/jQuery-内容过滤器示例图.PNG -------------------------------------------------------------------------------- /source/_posts/jQuery-过滤器学习笔记/jQuery-可见性过滤器示例图.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/jQuery-过滤器学习笔记/jQuery-可见性过滤器示例图.PNG -------------------------------------------------------------------------------- /source/_posts/jQuery-过滤器学习笔记/jQuery-基础过滤器示例图.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/jQuery-过滤器学习笔记/jQuery-基础过滤器示例图.PNG -------------------------------------------------------------------------------- /source/_posts/jQuery-过滤器学习笔记/jQuery-子过滤器示例图.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/jQuery-过滤器学习笔记/jQuery-子过滤器示例图.PNG -------------------------------------------------------------------------------- /source/_posts/my-growth-journey-of-github/github-blog-20180922_ubuntu18.04-desktop.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/my-growth-journey-of-github/github-blog-20180922_ubuntu18.04-desktop.PNG -------------------------------------------------------------------------------- /source/_posts/my-growth-journey-of-github/github-blog-20180922_ubuntu18.04-mac-theme.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/my-growth-journey-of-github/github-blog-20180922_ubuntu18.04-mac-theme.PNG -------------------------------------------------------------------------------- /source/_posts/my-growth-journey-of-github/github-blog-20180922_ubuntu18.04-shell.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/my-growth-journey-of-github/github-blog-20180922_ubuntu18.04-shell.PNG -------------------------------------------------------------------------------- /source/_posts/my-growth-journey-of-github/github-blog-20190222_github-homepage.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/my-growth-journey-of-github/github-blog-20190222_github-homepage.PNG -------------------------------------------------------------------------------- /source/_posts/my-growth-journey-of-github/github-blog-20190331_hexoblog-homepage.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/my-growth-journey-of-github/github-blog-20190331_hexoblog-homepage.PNG -------------------------------------------------------------------------------- /source/_posts/my-growth-journey-of-github/github-blog-20190617_github-homepage.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/my-growth-journey-of-github/github-blog-20190617_github-homepage.PNG -------------------------------------------------------------------------------- /source/_posts/my-growth-journey-of-github/github-blog-20190621_B-homepage.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/my-growth-journey-of-github/github-blog-20190621_B-homepage.PNG -------------------------------------------------------------------------------- /source/_posts/my-growth-journey-of-github/github-blog-20190704_hexoblog-opensource1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/my-growth-journey-of-github/github-blog-20190704_hexoblog-opensource1.PNG -------------------------------------------------------------------------------- /source/_posts/my-growth-journey-of-github/github-blog-20190704_hexoblog-opensource2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/my-growth-journey-of-github/github-blog-20190704_hexoblog-opensource2.jpg -------------------------------------------------------------------------------- /source/_posts/my-growth-journey-of-github/github-blog-20190722_hexoblog-homepage1-1w.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/my-growth-journey-of-github/github-blog-20190722_hexoblog-homepage1-1w.PNG -------------------------------------------------------------------------------- /source/_posts/my-growth-journey-of-github/github-blog-20190722_hexoblog-homepage2-1w.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/my-growth-journey-of-github/github-blog-20190722_hexoblog-homepage2-1w.PNG -------------------------------------------------------------------------------- /source/_posts/my-growth-journey-of-github/github-blog-20191004_hexoblog-homepage-2w.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/my-growth-journey-of-github/github-blog-20191004_hexoblog-homepage-2w.PNG -------------------------------------------------------------------------------- /source/_posts/my-growth-journey-of-github/github-blog-20191102_github-homepage.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/my-growth-journey-of-github/github-blog-20191102_github-homepage.PNG -------------------------------------------------------------------------------- /source/_posts/my-growth-journey-of-github/github-blog-20191102_hexoblog-opensource1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/my-growth-journey-of-github/github-blog-20191102_hexoblog-opensource1.PNG -------------------------------------------------------------------------------- /source/_posts/my-growth-journey-of-github/github-blog-20191106_github-project_learning-plain.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/my-growth-journey-of-github/github-blog-20191106_github-project_learning-plain.PNG -------------------------------------------------------------------------------- /source/_posts/my-growth-journey-of-github/github-blog-20191106_github-project_project-plain.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/my-growth-journey-of-github/github-blog-20191106_github-project_project-plain.PNG -------------------------------------------------------------------------------- /source/_posts/my-growth-journey-of-github/github-blog-20191212_hexoblog-homepage1-3w.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/my-growth-journey-of-github/github-blog-20191212_hexoblog-homepage1-3w.PNG -------------------------------------------------------------------------------- /source/_posts/my-growth-journey-of-github/github-blog-20191212_hexoblog-homepage2-3w.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/my-growth-journey-of-github/github-blog-20191212_hexoblog-homepage2-3w.PNG -------------------------------------------------------------------------------- /source/_posts/vsblog-一个采用vue及springboot开发的超简洁的个人博客系统/index-screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/vsblog-一个采用vue及springboot开发的超简洁的个人博客系统/index-screenshot.png -------------------------------------------------------------------------------- /source/_posts/vue-cli构建vue项目的步骤详解/localhost-8080.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/vue-cli构建vue项目的步骤详解/localhost-8080.PNG -------------------------------------------------------------------------------- /source/_posts/vue-cli构建vue项目的步骤详解/vue-init-webpack-hello-vue.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/vue-cli构建vue项目的步骤详解/vue-init-webpack-hello-vue.PNG -------------------------------------------------------------------------------- /source/_posts/一个基于Vue的简单信息管理页/a-simple-demo-program-for-vue-v1.2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/一个基于Vue的简单信息管理页/a-simple-demo-program-for-vue-v1.2.PNG -------------------------------------------------------------------------------- /source/_posts/一个基础的SpringBoot整合Shiro案例/shiro-learning-database-er.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/一个基础的SpringBoot整合Shiro案例/shiro-learning-database-er.png -------------------------------------------------------------------------------- /source/_posts/一个基础的SpringBoot整合Shiro案例/springboot-shiro-[admin]-学生信息管理页.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/一个基础的SpringBoot整合Shiro案例/springboot-shiro-[admin]-学生信息管理页.PNG -------------------------------------------------------------------------------- /source/_posts/一个基础的SpringBoot整合Shiro案例/springboot-shiro-[admin]-教师信息管理页.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/一个基础的SpringBoot整合Shiro案例/springboot-shiro-[admin]-教师信息管理页.PNG -------------------------------------------------------------------------------- /source/_posts/一个基础的SpringBoot整合Shiro案例/springboot-shiro-[stu]-学生信息管理页.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/一个基础的SpringBoot整合Shiro案例/springboot-shiro-[stu]-学生信息管理页.PNG -------------------------------------------------------------------------------- /source/_posts/一个基础的SpringBoot整合Shiro案例/springboot-shiro-[stu]-教师信息管理页.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/一个基础的SpringBoot整合Shiro案例/springboot-shiro-[stu]-教师信息管理页.PNG -------------------------------------------------------------------------------- /source/_posts/一个基础的SpringBoot整合Shiro案例/springboot-shiro-[tea]-学生信息管理页.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/一个基础的SpringBoot整合Shiro案例/springboot-shiro-[tea]-学生信息管理页.PNG -------------------------------------------------------------------------------- /source/_posts/一个基础的SpringBoot整合Shiro案例/springboot-shiro-[tea]-教师信息管理页.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/一个基础的SpringBoot整合Shiro案例/springboot-shiro-[tea]-教师信息管理页.PNG -------------------------------------------------------------------------------- /source/_posts/一个基础的SpringBoot整合Shiro案例/springboot-shiro-用户主页.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/一个基础的SpringBoot整合Shiro案例/springboot-shiro-用户主页.PNG -------------------------------------------------------------------------------- /source/_posts/一个基础的SpringBoot整合Shiro案例/springboot-shiro-用户登录页.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/一个基础的SpringBoot整合Shiro案例/springboot-shiro-用户登录页.PNG -------------------------------------------------------------------------------- /source/_posts/一个基础的Web整合Shiro案例/Shiro整合web-admin-员工信息管理页.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/一个基础的Web整合Shiro案例/Shiro整合web-admin-员工信息管理页.PNG -------------------------------------------------------------------------------- /source/_posts/一个基础的Web整合Shiro案例/Shiro整合web-admin-部门信息管理页.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/一个基础的Web整合Shiro案例/Shiro整合web-admin-部门信息管理页.PNG -------------------------------------------------------------------------------- /source/_posts/一个基础的Web整合Shiro案例/Shiro整合web-yuhui-员工信息管理页.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/一个基础的Web整合Shiro案例/Shiro整合web-yuhui-员工信息管理页.PNG -------------------------------------------------------------------------------- /source/_posts/一个基础的Web整合Shiro案例/Shiro整合web-yuhui-部门信息管理页.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/一个基础的Web整合Shiro案例/Shiro整合web-yuhui-部门信息管理页.PNG -------------------------------------------------------------------------------- /source/_posts/一个基础的Web整合Shiro案例/Shiro整合web-用户主页.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/一个基础的Web整合Shiro案例/Shiro整合web-用户主页.PNG -------------------------------------------------------------------------------- /source/_posts/一个基础的Web整合Shiro案例/Shiro整合web-用户登录页.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/一个基础的Web整合Shiro案例/Shiro整合web-用户登录页.PNG -------------------------------------------------------------------------------- /source/_posts/一个基础的的SSM整合Shiro案例/shiro-learning-database-er.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/一个基础的的SSM整合Shiro案例/shiro-learning-database-er.png -------------------------------------------------------------------------------- /source/_posts/一个基础的的SSM整合Shiro案例/ssm-shiro-[admin]-学生信息管理页面.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/一个基础的的SSM整合Shiro案例/ssm-shiro-[admin]-学生信息管理页面.PNG -------------------------------------------------------------------------------- /source/_posts/一个基础的的SSM整合Shiro案例/ssm-shiro-[admin]-教师信息管理页面.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/一个基础的的SSM整合Shiro案例/ssm-shiro-[admin]-教师信息管理页面.PNG -------------------------------------------------------------------------------- /source/_posts/一个基础的的SSM整合Shiro案例/ssm-shiro-[stu]-学生信息管理页面.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/一个基础的的SSM整合Shiro案例/ssm-shiro-[stu]-学生信息管理页面.PNG -------------------------------------------------------------------------------- /source/_posts/一个基础的的SSM整合Shiro案例/ssm-shiro-[stu]-教师信息管理页面.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/一个基础的的SSM整合Shiro案例/ssm-shiro-[stu]-教师信息管理页面.PNG -------------------------------------------------------------------------------- /source/_posts/一个基础的的SSM整合Shiro案例/ssm-shiro-[tea]-学生信息管理页面.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/一个基础的的SSM整合Shiro案例/ssm-shiro-[tea]-学生信息管理页面.PNG -------------------------------------------------------------------------------- /source/_posts/一个基础的的SSM整合Shiro案例/ssm-shiro-[tea]-教师信息管理页面.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/一个基础的的SSM整合Shiro案例/ssm-shiro-[tea]-教师信息管理页面.PNG -------------------------------------------------------------------------------- /source/_posts/一个基础的的SSM整合Shiro案例/ssm-shiro-用户主页.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/一个基础的的SSM整合Shiro案例/ssm-shiro-用户主页.PNG -------------------------------------------------------------------------------- /source/_posts/一个基础的的SSM整合Shiro案例/ssm-shiro-用户登录页面.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/一个基础的的SSM整合Shiro案例/ssm-shiro-用户登录页面.PNG -------------------------------------------------------------------------------- /source/_posts/使用Dockerfile构建一个属于自己的Ubuntu/dockerfile-build-to-push-to-dockerhub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/使用Dockerfile构建一个属于自己的Ubuntu/dockerfile-build-to-push-to-dockerhub.png -------------------------------------------------------------------------------- /source/_posts/使用Dockerfile构建一个属于自己的Ubuntu/dockerhub-first-image-ubuntu18.04.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/使用Dockerfile构建一个属于自己的Ubuntu/dockerhub-first-image-ubuntu18.04.PNG -------------------------------------------------------------------------------- /source/_posts/使用MyBatis完成通用DAO和通用Service/一般Java项目的分层结构.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/使用MyBatis完成通用DAO和通用Service/一般Java项目的分层结构.png -------------------------------------------------------------------------------- /source/_posts/使用Travis-CI持续集成我的开源博客/Travis-CI-MyBlogWebsite-1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/使用Travis-CI持续集成我的开源博客/Travis-CI-MyBlogWebsite-1.PNG -------------------------------------------------------------------------------- /source/_posts/使用Travis-CI持续集成我的开源博客/Travis-CI-MyBlogWebsite-2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/使用Travis-CI持续集成我的开源博客/Travis-CI-MyBlogWebsite-2.PNG -------------------------------------------------------------------------------- /source/_posts/全国计算机等级考试-Java/awkwardness.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/全国计算机等级考试-Java/awkwardness.jpg -------------------------------------------------------------------------------- /source/_posts/全国计算机等级考试-Java/excitement.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/全国计算机等级考试-Java/excitement.jpg -------------------------------------------------------------------------------- /source/_posts/全国计算机等级考试-三级数据库技术.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 全国计算机等级考试-三级数据库技术 3 | date: 2019-03-31 10:46:51 4 | tags: [NCRE,SQL Server] 5 | --- 6 | 7 | ### NCRE(National Computer Rank Examination) —— 三级`数据库技术`篇 8 | 9 | #### 来来来,先欣赏一下昨天去看樱花时拍的风景,语文学的不好的我只能用超级美来形容啦啊哈哈哈 (づ。◕ᴗᴗ◕。)づ 10 | ![ ](全国计算机等级考试-三级数据库技术/Scenery.jpg) 11 | - #### 哎呦 ~ 要是俺和自己喜欢女孩纸走在这条路上哥哥心里一定美的够够的(づ ̄3 ̄)づ╭❤~ 12 | 13 | ### `敲黑板:三级数据库技术题目也不难,较二级概念题多一些 ! 勿慌 ✧⁺⸜(●˙▾˙●)⸝⁺✧` 14 | ### `开门见山,先感受一下哥哥带来的学习笔记,详细到感动自己的那种..ヾ(❀^ω^)ノ゙` 15 | 16 | #### 填空题总结 17 | ![ ](全国计算机等级考试-三级数据库技术/Database-technology-doc.PNG) 18 | - #### 笔记共记录了`17`张卷子所有选择题的`解析`及`易错点`,毕竟有`30`分呢嘿嘿.. (づ。◕ᴗᴗ◕。)づ 19 | 20 | 21 | #### 应用题总结 22 | ![ ](全国计算机等级考试-三级数据库技术/Applied-problems.PNG) 23 | - #### 笔记共记录了`9`张卷子所有应用题的`解析`及`易错点`,同样占据`30`分哟 (づ。◕ᴗᴗ◕。)づ 24 | 25 | 26 | 27 | - **笔记的下载链接 :** , [Good luck to you ~](https://github.com/YUbuntu0109/NCRE) -------------------------------------------------------------------------------- /source/_posts/全国计算机等级考试-三级数据库技术/Applied-problems.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/全国计算机等级考试-三级数据库技术/Applied-problems.PNG -------------------------------------------------------------------------------- /source/_posts/全国计算机等级考试-三级数据库技术/Database-technology-doc.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/全国计算机等级考试-三级数据库技术/Database-technology-doc.PNG -------------------------------------------------------------------------------- /source/_posts/全国计算机等级考试-三级数据库技术/Scenery.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/全国计算机等级考试-三级数据库技术/Scenery.jpg -------------------------------------------------------------------------------- /source/_posts/全国计算机等级考试-二级C语言.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 全国计算机等级考试-二级C语言 3 | date: 2019-03-31 09:45:04 4 | tags: [NCRE,C] 5 | --- 6 | 7 | ### NCRE(National Computer Rank Examination) —— 二级`C`篇 8 | 9 | #### 来来来,先欣赏一下昨天去看樱花时拍的风景,语文学的不好的我只能用超级美来形容啦啊哈哈哈 (づ。◕ᴗᴗ◕。)づ 10 | - ![ ](全国计算机等级考试-二级C语言/Scenery.jpg) 11 | 12 | **`敲黑板:二级考试的试题都是在往年的试卷中随机抽取的 ! 勿慌 ✧⁺⸜(●˙▾˙●)⸝⁺✧`** 13 | 14 | *`OK ! 说直白一点,二级考试真是的傻白甜,毕竟考试范围都已经给你了,况且还有可能遇到原题呢...`* 15 | *`但是!但是!但是!过程很重要,相信这一切都是你走向春天的必经之路,大家千万不因傲慢而忽略了路边的风景 !`* 16 | 17 | 18 | - #### 下面是我考试前的一些练习题,阔以说将`题目要求`,`运行结果`,`注意事项`,`易错点`写的的非常的详细啦!( 嘿嘿,大家阔以省下买试卷的钱咯 (づ。◕ᴗᴗ◕。)づ ) 19 | 20 | - ![ ](全国计算机等级考试-二级C语言/examination-paper.PNG) 21 | 22 | 23 | - **试卷及笔记的下载链接 :** , [Good luck to you ~](https://github.com/YUbuntu0109/NCRE) 24 | 25 | - **建议多多刷题哟,尽情体验C语言中`指针`与`数据结构及算法`的美吧 (っ•̀ω•́)っ✎⁾⁾** -------------------------------------------------------------------------------- /source/_posts/全国计算机等级考试-二级C语言/Scenery.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/全国计算机等级考试-二级C语言/Scenery.jpg -------------------------------------------------------------------------------- /source/_posts/全国计算机等级考试-二级C语言/examination-paper.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/全国计算机等级考试-二级C语言/examination-paper.PNG -------------------------------------------------------------------------------- /source/_posts/全国计算机等级考试-二级MySQL.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 全国计算机等级考试-二级MySQL 3 | date: 2019-03-31 10:10:44 4 | tags: [NCRE,MySQL] 5 | --- 6 | 7 | ### NCRE(National Computer Rank Examination) —— 二级`MySQL`篇 8 | 9 | **`敲黑板:二级考试的试题都是在往年的试卷中随机抽取的 ! 勿慌 ✧⁺⸜(●˙▾˙●)⸝⁺✧`** 10 | 11 | *`嘿嘿,没想到你点进来啦,其实我大一报考MySQL二级时并没有记笔记,这就尴尬啦..既然你点击近来啦,那就推荐一波学习资源吧 (っ•̀ω•́)っ✎⁾⁾ `* 12 | 13 | - *我在备考时使用的都是`未来教育`提供的考试模拟系统,如下图示例( 没有打广告哟,是真的挺不错的! )* 14 | 15 | - ![ ](全国计算机等级考试-二级MySQL/Test-system.PNG) 16 | 17 | - *很多同学使用的基本都是`未来教育`的考试模拟系统,可以说和真实考试的系统几乎相似,虽然说`2019/3月份的全国计算机等考的考试系统更新了`..但题目的基本模块还是没有变化的,如果大家想考`二级/三级/四级`,真的非常建议使用未来教育的考试模拟系统!至于说能否考过那就要看你自己认真度啦嘿嘿 ~* 18 | 19 | - **`未来教育的官方网站 :`** , [GO ~](http://www.eduexam.cn/) -------------------------------------------------------------------------------- /source/_posts/全国计算机等级考试-二级MySQL/Test-system.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/全国计算机等级考试-二级MySQL/Test-system.PNG -------------------------------------------------------------------------------- /source/_posts/创建vue项目的几种方式.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 创建vue项目的几种方式 3 | date: 2020-06-21 22:44:26 4 | tags: [Vue] 5 | --- 6 | 7 | ### 一 : 使用vue-cli脚手架创建新vuejs项目 8 | > 详情参考文章 : [vue-cli构建vue项目的步骤详解](https://ishacker.net/2020/06/21/vue-cli%E6%9E%84%E5%BB%BAvue%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%AD%A5%E9%AA%A4%E8%AF%A6%E8%A7%A3/) 9 | 10 | ### 二 : 使用vue create命令创建vuejs项目 11 | ```shell 12 | $ vue create hello-world 13 | $ cd hello-world 14 | $ npm run serve # 运行成功后访问 http://localhost:8000 15 | ``` 16 | 17 | ### 三 : 使用vue cli3的ui命令基于图形用户界面创建vuejs项目 18 | ```shell 19 | $ vue ui # 运行成功后访问 http://localhost:8000 20 | ``` 21 | 22 | ### 参考 23 | > [如何创建一个Vue项目](https://cli.vuejs.org/zh/guide/creating-a-project.html#vue-create) 24 | -------------------------------------------------------------------------------- /source/_posts/前后端分离项目的两种部署方案.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 前后端分离项目的两种部署方案 3 | date: 2020-06-21 18:12:03 4 | tags: [Vue,Spring Boot,Nginx] 5 | --- 6 | 7 | ## 方案一 : 前后端一起部署 8 | *首先通过命令 `npm run build` 将前端 vue 项目打包成静态文件,然后将 `dist` 文件夹中生成的静态文件拷贝到后端 SpringBoot 的 `project/src/resources/static` 目录下,最后通过 Maven 等工具将后端项目打成 jar 包部署到远程服务器即可.* 9 | 10 | ## 方案二 : 前后端分离部署 11 | *前端使用 nginx 部署( 通过 nginx 将请求转发到后端指定端口 ),而后端则直接运行 jar 包即可.* 12 | 13 | ## 参考 14 | > 详情请参考"江南一点雨"老哥的视频 : [前后端分离项目的两种部署方案](https://www.bilibili.com/video/BV1bJ41157W7) 15 | -------------------------------------------------------------------------------- /source/_posts/嘿集美们-好久不见想我了嘛/2020-github-contributions-from-Dec-to-Nov.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/嘿集美们-好久不见想我了嘛/2020-github-contributions-from-Dec-to-Nov.PNG -------------------------------------------------------------------------------- /source/_posts/嘿集美们-好久不见想我了嘛/2020日计划打卡本-min.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/嘿集美们-好久不见想我了嘛/2020日计划打卡本-min.jpg -------------------------------------------------------------------------------- /source/_posts/嘿集美们-好久不见想我了嘛/2020日计划打卡本.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/嘿集美们-好久不见想我了嘛/2020日计划打卡本.jpg -------------------------------------------------------------------------------- /source/_posts/嘿集美们-好久不见想我了嘛/2020日计划记录本-min.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/嘿集美们-好久不见想我了嘛/2020日计划记录本-min.jpg -------------------------------------------------------------------------------- /source/_posts/嘿集美们-好久不见想我了嘛/2020日计划记录本.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/嘿集美们-好久不见想我了嘛/2020日计划记录本.jpg -------------------------------------------------------------------------------- /source/_posts/嘿集美们-好久不见想我了嘛/Kali-linux-hack-w7-w8-w10-in-virtualbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/嘿集美们-好久不见想我了嘛/Kali-linux-hack-w7-w8-w10-in-virtualbox.png -------------------------------------------------------------------------------- /source/_posts/嘿集美们-好久不见想我了嘛/fileGo-project.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/嘿集美们-好久不见想我了嘛/fileGo-project.png -------------------------------------------------------------------------------- /source/_posts/嘿集美们-好久不见想我了嘛/github-org_CTFlag.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/嘿集美们-好久不见想我了嘛/github-org_CTFlag.PNG -------------------------------------------------------------------------------- /source/_posts/嘿集美们-好久不见想我了嘛/github-org_google-golang.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/嘿集美们-好久不见想我了嘛/github-org_google-golang.PNG -------------------------------------------------------------------------------- /source/_posts/嘿集美们-好久不见想我了嘛/github-org_raspberry-pi-org.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/嘿集美们-好久不见想我了嘛/github-org_raspberry-pi-org.png -------------------------------------------------------------------------------- /source/_posts/嘿集美们-好久不见想我了嘛/github-repo_awesome-tensorflow-tutorial.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/嘿集美们-好久不见想我了嘛/github-repo_awesome-tensorflow-tutorial.PNG -------------------------------------------------------------------------------- /source/_posts/嘿集美们-好久不见想我了嘛/loveyourself-guitar-video-cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/嘿集美们-好久不见想我了嘛/loveyourself-guitar-video-cover.jpg -------------------------------------------------------------------------------- /source/_posts/嘿集美们-好久不见想我了嘛/taskGo-project.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/嘿集美们-好久不见想我了嘛/taskGo-project.png -------------------------------------------------------------------------------- /source/_posts/嘿集美们-好久不见想我了嘛/www.000days.com.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/嘿集美们-好久不见想我了嘛/www.000days.com.PNG -------------------------------------------------------------------------------- /source/_posts/嘿集美们-好久不见想我了嘛/www.algorithm.show.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/嘿集美们-好久不见想我了嘛/www.algorithm.show.PNG -------------------------------------------------------------------------------- /source/_posts/嘿集美们-好久不见想我了嘛/www.book.ctflag.org.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/嘿集美们-好久不见想我了嘛/www.book.ctflag.org.png -------------------------------------------------------------------------------- /source/_posts/嘿集美们-好久不见想我了嘛/www.book.raspi.website.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/嘿集美们-好久不见想我了嘛/www.book.raspi.website.png -------------------------------------------------------------------------------- /source/_posts/嘿集美们-好久不见想我了嘛/www.project.golanger.org.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/嘿集美们-好久不见想我了嘛/www.project.golanger.org.PNG -------------------------------------------------------------------------------- /source/_posts/嘿集美们-好久不见想我了嘛/www.raspi.website.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/嘿集美们-好久不见想我了嘛/www.raspi.website.png -------------------------------------------------------------------------------- /source/_posts/嘿集美们-好久不见想我了嘛/坚持的第139天-我的Keep-2020运动数据报告视频封面.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/嘿集美们-好久不见想我了嘛/坚持的第139天-我的Keep-2020运动数据报告视频封面.jpg -------------------------------------------------------------------------------- /source/_posts/学生管理系统-Java-swing.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 桌面应用程序:学生管理系统 3 | date: 2019-03-09 20:04:26 4 | tags: [Java, MySQL] 5 | --- 6 | 7 | ### 学生管理系统2.1.0. 每个版本的功能详情见我的该项目仓库. `(文档注释写的非常详细哟)` 8 | 9 | - **登录界面** 10 | 11 | - ![ ](学生管理系统-Java-swing\Login_Interface.PNG) 12 | 13 | 14 | 15 | 16 | - **系统主界面** 17 | 18 | - ![ ](学生管理系统-Java-swing\Main_Interface.PNG) 19 | 20 | 21 | 22 | 23 | - **Download the source code** , [Look forward to your contribution ~](https://github.com/YUbuntu0109/Student-management-system---Java-swing) -------------------------------------------------------------------------------- /source/_posts/学生管理系统-Java-swing/Login_Interface.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/学生管理系统-Java-swing/Login_Interface.PNG -------------------------------------------------------------------------------- /source/_posts/学生管理系统-Java-swing/Main_Interface.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/学生管理系统-Java-swing/Main_Interface.PNG -------------------------------------------------------------------------------- /source/_posts/小爬虫-JDBookCrawler-V1-0/BookCrawler-V1.0-BookImage.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/小爬虫-JDBookCrawler-V1-0/BookCrawler-V1.0-BookImage.PNG -------------------------------------------------------------------------------- /source/_posts/小爬虫-JDBookCrawler-V1-0/BookCrawler-V1.0-DB.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/小爬虫-JDBookCrawler-V1-0/BookCrawler-V1.0-DB.PNG -------------------------------------------------------------------------------- /source/_posts/小爬虫-JDBookCrawler-V2-0/BookCrawler-v2.0-DB.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/小爬虫-JDBookCrawler-V2-0/BookCrawler-v2.0-DB.PNG -------------------------------------------------------------------------------- /source/_posts/小爬虫-JDBookCrawler-V2-0/BookCrawler-v2.0-bookImage.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/小爬虫-JDBookCrawler-V2-0/BookCrawler-v2.0-bookImage.PNG -------------------------------------------------------------------------------- /source/_posts/文件上传与下载/FileUpload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/文件上传与下载/FileUpload.png -------------------------------------------------------------------------------- /source/_posts/水果贪吃蛇游戏.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 水果贪吃蛇游戏 3 | date: 2019-03-10 22:34:41 4 | tags: Java 5 | --- 6 | 7 | ## Games-Gluttonous snack 2.1.0 8 | 9 | ### 闲时写了一个贪吃蛇游戏,目前的版本是:2.1.0. 每个版本的功能详情见我的该游戏仓库 `(源码注释写的很详细哟)` 10 | 11 | - **游戏截图** 12 | - ![ ](水果贪吃蛇游戏/Gluttonous_snack-2.1.0.PNG) 13 | 14 | 15 | - **Download the source code** , [Have a good time to you ~](https://github.com/YUbuntu0109/Gluttonous-Snake) 16 | 17 | -------------------------------------------------------------------------------- /source/_posts/水果贪吃蛇游戏/Gluttonous_snack-2.1.0.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/水果贪吃蛇游戏/Gluttonous_snack-2.1.0.PNG -------------------------------------------------------------------------------- /source/_posts/用这些制作神器来美化你的截图吧/carbon.now.sh.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/用这些制作神器来美化你的截图吧/carbon.now.sh.PNG -------------------------------------------------------------------------------- /source/_posts/用这些制作神器来美化你的截图吧/dockerfile-about-vsblog_made-by-carbon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/用这些制作神器来美化你的截图吧/dockerfile-about-vsblog_made-by-carbon.png -------------------------------------------------------------------------------- /source/_posts/用这些制作神器来美化你的截图吧/screely.com.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/用这些制作神器来美化你的截图吧/screely.com.PNG -------------------------------------------------------------------------------- /source/_posts/用这些制作神器来美化你的截图吧/screenzy.io.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/用这些制作神器来美化你的截图吧/screenzy.io.PNG -------------------------------------------------------------------------------- /source/_posts/电子邮箱应用程序/TestJavaMail2.0.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/电子邮箱应用程序/TestJavaMail2.0.PNG -------------------------------------------------------------------------------- /source/_posts/程序员必备社交平台之Gitter.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 程序员必备社交平台之Gitter 3 | date: 2019-11-01 17:33:54 4 | tags: Gitter 5 | --- 6 | 7 | ## 学习笔记 : 程序员必备社交平台之Gitter 8 | *昨天晚上无意间接触到了 Gitter,并创建了我的第一个名为 [Mutual learning的聊天室](https://gitter.im/Mutual-learning/community?utm_source=share-link&utm_medium=link&utm_campaign=share-link),并将它作为小徽章加入到了我开源的[学习笔记项目](https://github.com/YUbuntu0109/YUbuntu0109.github.io)中. Gitter 里汇集着世界各地的优秀程序开发者及社区,你可以轻易地与他们交流你的想法、代码、问题等. 相信你一定可以从他们的交流中获益匪浅~* 9 | 10 | *点击小徽章即可进入网页端的聊天室( Mutual learning )* 11 | ![ ](程序员必备社交平台之Gitter/Gitter-onBlog.PNG) 12 | 13 | *当然 Gitter 也有桌面应用端及移动客户端* 14 | ![ ](程序员必备社交平台之Gitter/Gitter-onDesktop.PNG) 15 | 16 | 17 | 18 | > 💬 Gitter : https://gitter.im/ 19 | -------------------------------------------------------------------------------- /source/_posts/程序员必备社交平台之Gitter/Gitter-onBlog.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/程序员必备社交平台之Gitter/Gitter-onBlog.PNG -------------------------------------------------------------------------------- /source/_posts/程序员必备社交平台之Gitter/Gitter-onDesktop.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/程序员必备社交平台之Gitter/Gitter-onDesktop.PNG -------------------------------------------------------------------------------- /source/_posts/自定义EL函数防止HTML注入/JSP-HTMLInjection.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/自定义EL函数防止HTML注入/JSP-HTMLInjection.PNG -------------------------------------------------------------------------------- /source/_posts/自定义EL函数防止HTML注入/JSP-HTMLInjectionResult1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/自定义EL函数防止HTML注入/JSP-HTMLInjectionResult1.PNG -------------------------------------------------------------------------------- /source/_posts/自定义EL函数防止HTML注入/JSP-HTMLInjectionResult2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/自定义EL函数防止HTML注入/JSP-HTMLInjectionResult2.PNG -------------------------------------------------------------------------------- /source/_posts/解决每当Hexo博客更新后需要重新填写域名的尴尬.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 解决每当Hexo博客更新后需要重新填]写域名的尴尬 3 | date: 2020-06-22 23:42:25 4 | tags: [Hexo,GitHub,domain name] 5 | --- 6 | 7 | 1. *在 Hexo 博客文件夹中的 `source` 目录下( 不是hexo根目录哟 )创建一个名为 `CNAME`文件,然后文件中写入你的域名,例如我的博客域名 : `ishacker.net`* 8 | 9 | ![ ](解决每当Hexo博客更新后需要重新填写域名的尴尬/hexo-source-cname.PNG) 10 | 11 | 12 | 2. *执行 Hexo 博文生成命令 : `hexo g`,然后通过 `hexo d` 或 `git push origin` 等方式将 Hexo 博客部署到 Github 即可.* 13 | -------------------------------------------------------------------------------- /source/_posts/解决每当Hexo博客更新后需要重新填写域名的尴尬/hexo-source-cname.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/解决每当Hexo博客更新后需要重新填写域名的尴尬/hexo-source-cname.PNG -------------------------------------------------------------------------------- /source/_posts/详解Intellij-IDEA中的DEBUG功能/IDEA-debug-view-1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/详解Intellij-IDEA中的DEBUG功能/IDEA-debug-view-1.PNG -------------------------------------------------------------------------------- /source/_posts/详解Intellij-IDEA中的DEBUG功能/IDEA-debug-view-2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/详解Intellij-IDEA中的DEBUG功能/IDEA-debug-view-2.PNG -------------------------------------------------------------------------------- /source/_posts/详解Shiro登录登出的操作流程/Shiro-登录登出源码流程图.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/详解Shiro登录登出的操作流程/Shiro-登录登出源码流程图.png -------------------------------------------------------------------------------- /source/_posts/详解Shiro的缓存机制/Shiro-Realm类图.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/详解Shiro的缓存机制/Shiro-Realm类图.jpg -------------------------------------------------------------------------------- /source/_posts/详解Shiro的缓存机制/Shiro-SecurityManager类图.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/详解Shiro的缓存机制/Shiro-SecurityManager类图.jpg -------------------------------------------------------------------------------- /source/_posts/详解Shiro的缓存机制/Shiro-framework-架构图.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/详解Shiro的缓存机制/Shiro-framework-架构图.png -------------------------------------------------------------------------------- /source/_posts/详解Shiro的缓存机制/Shiro-缓存组件类图.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/详解Shiro的缓存机制/Shiro-缓存组件类图.jpg -------------------------------------------------------------------------------- /source/_posts/详解Stack的实现方式及其应用/ListStack.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/详解Stack的实现方式及其应用/ListStack.PNG -------------------------------------------------------------------------------- /source/_posts/详解在IDEA中多处设置JDK及其区别/IDEA-JDK-Java-Complie.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/详解在IDEA中多处设置JDK及其区别/IDEA-JDK-Java-Complie.PNG -------------------------------------------------------------------------------- /source/_posts/详解在IDEA中多处设置JDK及其区别/IDEA-JDK-Language-level.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/详解在IDEA中多处设置JDK及其区别/IDEA-JDK-Language-level.PNG -------------------------------------------------------------------------------- /source/_posts/详解在IDEA中多处设置JDK及其区别/IDEA-JDK-Module-SDK.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/详解在IDEA中多处设置JDK及其区别/IDEA-JDK-Module-SDK.PNG -------------------------------------------------------------------------------- /source/_posts/详解在IDEA中多处设置JDK及其区别/IDEA-JDK-Modules-SDK_Language-level.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/source/_posts/详解在IDEA中多处设置JDK及其区别/IDEA-JDK-Modules-SDK_Language-level.PNG -------------------------------------------------------------------------------- /source/about/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: about 3 | date: 2020-06-06 21:12:24 4 | type: about 5 | layout: about 6 | --- 7 |

8 | 👋 Developer, hacker, blogger, guitarist, marathoner and vlogger
9 |

10 | -------------------------------------------------------------------------------- /source/archives/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: archives 3 | date: 2021-09-12 21:30:53 4 | layout: archives 5 | --- 6 | -------------------------------------------------------------------------------- /source/categories/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: categories 3 | date: 2019-03-09 21:21:39 4 | type: categories 5 | layout: categories 6 | --- 7 | -------------------------------------------------------------------------------- /source/comment/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: comment 3 | date: 2021-09-13 12:45:51 4 | type: comment 5 | layout: comment 6 | --- 7 |

8 | 💬 Please give me some suggestions or left your comments at below
9 |

10 | -------------------------------------------------------------------------------- /source/link/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: link 3 | date: 2021-09-12 21:16:48 4 | type: "link" 5 | --- 6 | 7 | 8 | {% note blue 'fas fa-bullhorn' %} 9 | 10 | Please share your valuable, readable, or funny site in comment according to specified format string as shown below, and it will be shown on this page finally. 11 | 12 | `name`: blog name 13 | `link`: site url 14 | `avatar`: site avatar 15 | `descr`: site description 16 | 17 | 18 | For example, My link string is shown below : 19 | 20 | `name`: GoogTech 21 | `link`: https://goog.tech 22 | `avatar`: https://avatars.githubusercontent.com/u/43493852?v=4 23 | `descr`: Developer, hacker, blogger, guitarist, marathoner and vlogger. 24 | 25 | {% endnote %} 26 | -------------------------------------------------------------------------------- /source/tags/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: tags 3 | date: 2019-03-09 21:12:14 4 | type: tags 5 | layout: tags 6 | --- 7 | -------------------------------------------------------------------------------- /themes/butterfly/layout/archive.pug: -------------------------------------------------------------------------------- 1 | extends includes/layout.pug 2 | 3 | block content 4 | include ./includes/mixins/article-sort.pug 5 | #archive 6 | .article-sort-title= _p('page.articles') + ' - ' + site.posts.length 7 | +articleSort(page.posts) 8 | include includes/pagination.pug -------------------------------------------------------------------------------- /themes/butterfly/layout/category.pug: -------------------------------------------------------------------------------- 1 | extends includes/layout.pug 2 | 3 | block content 4 | if theme.category_ui == 'index' 5 | include ./includes/mixins/post-ui.pug 6 | #recent-posts.recent-posts.category_ui 7 | +postUI 8 | include includes/pagination.pug 9 | else 10 | include ./includes/mixins/article-sort.pug 11 | #category 12 | .article-sort-title= _p('page.category') + ' - ' + page.category 13 | +articleSort(page.posts) 14 | include includes/pagination.pug -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/404.pug: -------------------------------------------------------------------------------- 1 | - var top_img = theme.error_404.background || theme.default_top_img 2 | - var bg_img = `background-image: url('${url_for(top_img)}')` 3 | 4 | #body-wrap.error404 5 | div(style='display: none') 6 | include ./header/index.pug 7 | 8 | #error-wrap 9 | .error-content 10 | .error-img(style=bg_img) 11 | .error-info 12 | h1.error_title= '404' 13 | .error_subtitle= theme.error_404.subtitle 14 | a.button--animated(href=config.root) 15 | i.fas.fa-rocket 16 | = _p('error404.back_button') 17 | 18 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/footer.pug: -------------------------------------------------------------------------------- 1 | #footer-wrap 2 | if theme.footer.owner.enable 3 | - var now = new Date() 4 | - var nowYear = now.getFullYear() 5 | if theme.footer.owner.since && theme.footer.owner.since != nowYear 6 | .copyright!= `©${theme.footer.owner.since} - ${nowYear} By ${config.author}` 7 | else 8 | .copyright!= `©${nowYear} By ${config.author}` 9 | if theme.footer.copyright 10 | .framework-info 11 | span= _p('footer.framework') + ' ' 12 | a(href='https://hexo.io')= 'Hexo' 13 | span.footer-separator | 14 | span= _p('footer.theme') + ' ' 15 | a(href='https://github.com/jerryc127/hexo-theme-butterfly')= 'Butterfly' 16 | if theme.footer.custom_text 17 | .footer_custom_text!=`${theme.footer.custom_text}` 18 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/head/Open_Graph.pug: -------------------------------------------------------------------------------- 1 | if theme.Open_Graph_meta 2 | - let contentType = is_post() ? 'article' : 'website' 3 | - let metaImage = (page.cover || theme.avatar.img) ? full_url_for(page.cover || theme.avatar.img) : '' 4 | - let fb_appId = theme.facebook_comments.app_id || '' 5 | - let fb_admins = theme.facebook_comments.user_id || '' 6 | 7 | != open_graph({type: contentType, image: metaImage, fb_admins: fb_admins, fb_app_id: fb_appId}) 8 | 9 | else 10 | meta(name="description" content=page_description()) 11 | 12 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/head/config_site.pug: -------------------------------------------------------------------------------- 1 | - 2 | let isHighlightShrink 3 | if (theme.highlight_shrink == 'none') isHighlightShrink = 'undefined' 4 | else if (page.highlight_shrink === true || page.highlight_shrink === false) isHighlightShrink = page.highlight_shrink 5 | else isHighlightShrink = theme.highlight_shrink 6 | 7 | var pageToc = page.toc === true || page.toc === false ? page.toc : theme.toc.enable 8 | var showToc = is_post() && theme.aside.enable && pageToc && (toc(page.content) !== '' || page.encrypt == true ) 9 | 10 | let titleVal = pageTitle.replace(/'/ig,"\\'") 11 | - 12 | 13 | script#config-diff. 14 | var GLOBAL_CONFIG_SITE = { 15 | title: '!{titleVal}', 16 | isPost: !{is_post()}, 17 | isHome: !{is_home()}, 18 | isHighlightShrink: !{isHighlightShrink}, 19 | isToc: !{showToc}, 20 | postUpdate: '!{full_date(page.updated)}' 21 | } 22 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/head/google_adsense.pug: -------------------------------------------------------------------------------- 1 | if (theme.google_adsense && theme.google_adsense.enable) 2 | script(async src=theme.google_adsense.js) 3 | 4 | if theme.google_adsense.auto_ads 5 | script. 6 | (adsbygoogle = window.adsbygoogle || []).push({ 7 | google_ad_client: '!{theme.google_adsense.client}', 8 | enable_page_level_ads: '!{theme.google_adsense.enable_page_level_ads}' 9 | }); -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/head/noscript.pug: -------------------------------------------------------------------------------- 1 | noscript. 2 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/head/pwa.pug: -------------------------------------------------------------------------------- 1 | link(rel="manifest" href=url_for(theme.pwa.manifest)) 2 | if(theme.pwa.theme_color) 3 | meta(name="msapplication-TileColor" content=theme.pwa.theme_color) 4 | if(theme.pwa.apple_touch_icon) 5 | link(rel="apple-touch-icon" sizes="180x180" href=url_for(theme.pwa.apple_touch_icon)) 6 | if(theme.pwa.favicon_32_32) 7 | link(rel="icon" type="image/png" sizes="32x32" href=url_for(theme.pwa.favicon_32_32)) 8 | if(theme.pwa.favicon_16_16) 9 | link(rel="icon" type="image/png" sizes="16x16" href=url_for(theme.pwa.favicon_16_16)) 10 | if(theme.pwa.mask_icon) 11 | link(rel="mask-icon" href=url_for(theme.pwa.mask_icon) color="#5bbad5") 12 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/head/site_verification.pug: -------------------------------------------------------------------------------- 1 | if theme.site_verification 2 | each item in theme.site_verification 3 | meta(name=item.name content=item.content) -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/header/nav.pug: -------------------------------------------------------------------------------- 1 | nav#nav 2 | span#blog_name 3 | a#site-name(href=url_for('/')) #[=config.title] 4 | 5 | #menus 6 | if (theme.algolia_search.enable || theme.local_search.enable) 7 | #search-button 8 | a.site-page.social-icon.search 9 | i.fas.fa-search.fa-fw 10 | span=' '+_p('search') 11 | !=partial('includes/header/menu_item', {}, {cache: true}) 12 | 13 | #toggle-menu 14 | a.site-page 15 | i.fas.fa-bars.fa-fw 16 | 17 | 18 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/header/social.pug: -------------------------------------------------------------------------------- 1 | each url, icon in theme.social 2 | a.social-icon(href=url_for(trim(url.split('||')[0])) target="_blank" 3 | title=url.split('||')[1] === undefined ? '' : trim(url.split('||')[1])) 4 | i(class=icon) -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/loading/loading-js.pug: -------------------------------------------------------------------------------- 1 | script. 2 | var preloader = { 3 | endLoading: () => { 4 | document.body.style.overflow = 'auto'; 5 | document.getElementById('loading-box').classList.add("loaded") 6 | }, 7 | initLoading: () => { 8 | document.body.style.overflow = ''; 9 | document.getElementById('loading-box').classList.remove("loaded") 10 | 11 | } 12 | } 13 | window.addEventListener('load',preloader.endLoading()) -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/loading/loading.pug: -------------------------------------------------------------------------------- 1 | #loading-box 2 | .loading-left-bg 3 | .loading-right-bg 4 | .spinner-box 5 | .configure-border-1 6 | .configure-core 7 | .configure-border-2 8 | .configure-core 9 | .loading-word= _p('loading') 10 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/page/categories.pug: -------------------------------------------------------------------------------- 1 | .category-lists 2 | .category-title.is-center= _p('page.category') 3 | | - 4 | span.category-amount= site.categories.length 5 | div!= list_categories() -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/page/default-page.pug: -------------------------------------------------------------------------------- 1 | #article-container 2 | if top_img === false 3 | h1.page-title= page.title 4 | != page.content -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/page/flink.pug: -------------------------------------------------------------------------------- 1 | #article-container 2 | if top_img === false 3 | h1.page-title= page.title 4 | 5 | .flink 6 | if site.data.link 7 | each i in site.data.link 8 | if i.class_name 9 | h2!= i.class_name 10 | if i.class_desc 11 | .flink-desc!=i.class_desc 12 | .flink-list 13 | each item in i.link_list 14 | .flink-list-item 15 | a(href=url_for(item.link) title=item.name target="_blank") 16 | .flink-item-icon 17 | img(src=url_for(item.avatar) onerror=`this.onerror=null;this.src='` + url_for(theme.error_img.flink) + `'` alt=item.name ) 18 | .flink-item-name= item.name 19 | .flink-item-desc(title=item.descr)= item.descr 20 | != page.content 21 | 22 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/page/tags.pug: -------------------------------------------------------------------------------- 1 | .tag-cloud-title.is-center= _p('page.tag') 2 | | - 3 | span.tag-cloud-amount= site.tags.length 4 | .tag-cloud-list.is-center 5 | !=cloudTags({source: site.tags, minfontsize: 1.2, maxfontsize: 2.1, limit: 0, unit: 'em'}) -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/post/reward.pug: -------------------------------------------------------------------------------- 1 | .post-reward 2 | .reward-button.button--animated 3 | i.fas.fa-qrcode 4 | = ' ' + _p('donate') 5 | .reward-main 6 | ul.reward-all 7 | each item in theme.reward.QR_code 8 | - var clickTo = item.link ? item.link : item.img 9 | li.reward-item 10 | a(href=url_for(clickTo) target='_blank') 11 | img.post-qr-code-img(src=url_for(item.img) alt=item.text) 12 | .post-qr-code-desc=item.text 13 | 14 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/third-party/aplayer.pug: -------------------------------------------------------------------------------- 1 | link(rel='stylesheet' href=url_for(theme.CDN.aplayer_css) media="print" onload="this.media='all'") 2 | script(src=url_for(theme.CDN.aplayer_js)) 3 | script(src=url_for(theme.CDN.meting_js)) -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/third-party/card-post-count/disqus.pug: -------------------------------------------------------------------------------- 1 | script. 2 | (() => { 3 | const getCount = () => { 4 | if (window.DISQUSWIDGETS === undefined) { 5 | var d = document, s = d.createElement('script'); 6 | s.src = 'https://!{theme.disqus.shortname}.disqus.com/count.js'; 7 | s.id = 'dsq-count-scr'; 8 | (d.head || d.body).appendChild(s); 9 | } else { 10 | DISQUSWIDGETS.getCount({reset: true}); 11 | } 12 | } 13 | 14 | window.pjax ? getCount() : window.addEventListener('load', getCount) 15 | 16 | })() 17 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/third-party/card-post-count/fb.pug: -------------------------------------------------------------------------------- 1 | script. 2 | (()=>{ 3 | function loadFBComment () { 4 | if (typeof FB === 'object') FB.XFBML.parse() 5 | else { 6 | let ele = document.createElement('script') 7 | ele.setAttribute('src','https://connect.facebook.net/!{theme.facebook_comments.lang}/sdk.js#xfbml=1&version=v9.0') 8 | ele.setAttribute('async', 'true') 9 | ele.setAttribute('defer', 'true') 10 | ele.setAttribute('crossorigin', 'anonymous') 11 | document.body.appendChild(ele) 12 | } 13 | } 14 | window.pjax ? loadFBComment() : window.addEventListener('load', loadFBComment) 15 | })() 16 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/third-party/card-post-count/index.pug: -------------------------------------------------------------------------------- 1 | case theme.comments.use[0] 2 | when 'Twikoo' 3 | include ./twikoo.pug 4 | when 'Disqus' 5 | when 'Disqusjs' 6 | include ./disqus.pug 7 | when 'Valine' 8 | include ./valine.pug 9 | when 'Waline' 10 | include ./waline.pug 11 | when 'Facebook Comments' 12 | include ./fb.pug -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/third-party/card-post-count/valine.pug: -------------------------------------------------------------------------------- 1 | script. 2 | (() => { 3 | function loadValine () { 4 | function initValine () { 5 | let initData = { 6 | el: '#vcomment', 7 | appId: '#{theme.valine.appId}', 8 | appKey: '#{theme.valine.appKey}', 9 | } 10 | 11 | const valine = new Valine(initData) 12 | } 13 | 14 | if (typeof Valine === 'function') initValine() 15 | else getScript('!{url_for(theme.CDN.valine)}').then(initValine) 16 | } 17 | 18 | window.pjax ? loadValine() : window.addEventListener('load', loadValine) 19 | })() 20 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/third-party/card-post-count/waline.pug: -------------------------------------------------------------------------------- 1 | script. 2 | (() => { 3 | function loadWaline () { 4 | function initWaline () { 5 | let initData = { 6 | el: null, 7 | serverURL: '!{theme.waline.serverURL}', 8 | } 9 | const waline = new Waline(initData) 10 | } 11 | 12 | if (typeof Waline === 'function') initWaline() 13 | else getScript('!{url_for(theme.CDN.waline)}').then(initWaline) 14 | } 15 | 16 | window.pjax ? loadWaline() : window.addEventListener('load', loadWaline) 17 | })() 18 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/third-party/chat/index.pug: -------------------------------------------------------------------------------- 1 | if theme.chatra && theme.chatra.enable 2 | include ./chatra.pug 3 | else if theme.tidio && theme.tidio.enable 4 | include ./tidio.pug 5 | else if theme.daovoice && theme.daovoice.enable 6 | include ./daovoice.pug 7 | else if theme.gitter && theme.gitter.enable 8 | include ./gitter.pug 9 | else if theme.crisp && theme.crisp.enable 10 | include ./crisp.pug -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/third-party/comments/js.pug: -------------------------------------------------------------------------------- 1 | each name in theme.comments.use 2 | case name 3 | when 'Valine' 4 | !=partial('includes/third-party/comments/valine', {}, {cache: true}) 5 | when 'Disqus' 6 | include ./disqus.pug 7 | when 'Disqusjs' 8 | include ./disqusjs.pug 9 | when 'Livere' 10 | !=partial('includes/third-party/comments/livere', {}, {cache: true}) 11 | when 'Gitalk' 12 | include ./gitalk.pug 13 | when 'Utterances' 14 | !=partial('includes/third-party/comments/utterances', {}, {cache: true}) 15 | when 'Twikoo' 16 | !=partial('includes/third-party/comments/twikoo', {}, {cache: true}) 17 | when 'Waline' 18 | !=partial('includes/third-party/comments/waline', {}, {cache: true}) 19 | when 'Facebook Comments' 20 | !=partial('includes/third-party/comments/facebook_comments', {}, {cache: true}) 21 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/third-party/comments/livere.pug: -------------------------------------------------------------------------------- 1 | script. 2 | function loadLivere () { 3 | if (typeof LivereTower === 'object') { 4 | window.LivereTower.init() 5 | } 6 | else { 7 | (function(d, s) { 8 | var j, e = d.getElementsByTagName(s)[0]; 9 | if (typeof LivereTower === 'function') { return; } 10 | j = d.createElement(s); 11 | j.src = 'https://cdn-city.livere.com/js/embed.dist.js'; 12 | j.async = true; 13 | e.parentNode.insertBefore(j, e); 14 | })(document, 'script'); 15 | } 16 | } 17 | 18 | if ('!{theme.comments.use[0]}' === 'Livere' || !!{theme.comments.lazyload}) { 19 | if (!{theme.comments.lazyload}) btf.loadComment(document.getElementById('lv-container'), loadLivere) 20 | else loadLivere() 21 | } 22 | else { 23 | function loadOtherComment () { 24 | loadLivere() 25 | } 26 | } -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/third-party/math/index.pug: -------------------------------------------------------------------------------- 1 | if theme.mathjax && theme.mathjax.enable 2 | if theme.mathjax.per_page 3 | if is_post() || is_page() 4 | include ./mathjax.pug 5 | else 6 | if page.mathjax 7 | include ./mathjax.pug 8 | 9 | if theme.katex && theme.katex.enable 10 | if theme.katex.per_page 11 | if is_post() || is_page() 12 | include ./katex.pug 13 | else 14 | if page.katex 15 | include ./katex.pug 16 | 17 | if theme.mermaid.enable 18 | include ./mermaid.pug -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/third-party/math/katex.pug: -------------------------------------------------------------------------------- 1 | link(rel="stylesheet" type="text/css" href=theme.CDN.katex) 2 | script(src=url_for(theme.CDN.katex_copytex)) 3 | link(rel="stylesheet" type="text/css" href=theme.CDN.katex_copytex_css) 4 | script. 5 | (() => { 6 | document.querySelectorAll('#article-container span.katex-display').forEach(item => { 7 | btf.wrap(item, 'div', { class: 'katex-wrap'}) 8 | }) 9 | })() 10 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/third-party/math/mermaid.pug: -------------------------------------------------------------------------------- 1 | script. 2 | if (document.getElementsByClassName('mermaid').length) { 3 | if (window.mermaidJsLoad) mermaid.init() 4 | else { 5 | getScript('!{theme.CDN.mermaid}').then(() => { 6 | window.mermaidJsLoad = true 7 | mermaid.initialize({ 8 | theme: '!{theme.mermaid.theme}', 9 | }) 10 | !{theme.pjax.enable} && mermaid.init() 11 | }) 12 | } 13 | } 14 | 15 | 16 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/third-party/newest-comments/index.pug: -------------------------------------------------------------------------------- 1 | - let { use } = theme.comments 2 | 3 | if use 4 | - let forum,apiKey,userRepo 5 | case use[0] 6 | when 'Valine' 7 | include ./valine.pug 8 | when 'Waline' 9 | include ./waline.pug 10 | when 'Twikoo' 11 | include ./twikoo-comment.pug 12 | when 'Disqus' 13 | - forum = theme.disqus.shortname 14 | - apiKey = theme.disqus.apikey 15 | include ./disqus-comment.pug 16 | when 'Disqusjs' 17 | - forum = theme.disqusjs.shortname 18 | - apiKey = theme.disqusjs.apikey 19 | include ./disqus-comment.pug 20 | when 'Gitalk' 21 | - let { repo,owner } = theme.gitalk 22 | - userRepo = owner + '/' + repo 23 | include ./github-issues.pug 24 | when 'Utterances' 25 | - userRepo = theme.utterances.repo 26 | include ./github-issues.pug -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/third-party/pangu.pug: -------------------------------------------------------------------------------- 1 | script. 2 | function panguFn () { 3 | if (typeof pangu === 'object') pangu.autoSpacingPage() 4 | else { 5 | getScript('!{url_for(theme.CDN.pangu)}') 6 | .then(() => { 7 | pangu.autoSpacingPage() 8 | }) 9 | } 10 | } 11 | 12 | function panguInit () { 13 | if (!{theme.pangu.field === 'post'}){ 14 | GLOBAL_CONFIG_SITE.isPost && panguFn() 15 | } else { 16 | panguFn() 17 | } 18 | } 19 | 20 | document.addEventListener('DOMContentLoaded', panguInit) 21 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/third-party/prismjs.pug: -------------------------------------------------------------------------------- 1 | if config.prismjs && config.prismjs.enable && !config.prismjs.preprocess 2 | script(src=url_for(theme.CDN.prismjs_js)) 3 | script(src=url_for(theme.CDN.prismjs_autoloader)) 4 | if config.prismjs.line_number 5 | script(src=url_for(theme.CDN.prismjs_lineNumber_js)) 6 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/third-party/search/algolia.pug: -------------------------------------------------------------------------------- 1 | #algolia-search 2 | .search-dialog 3 | #algolia-search-title.search-dialog__title Algolia 4 | #algolia-input-panel 5 | #algolia-search-input 6 | hr 7 | #algolia-search-results 8 | #algolia-hits 9 | #algolia-pagination 10 | #algolia-stats 11 | span.search-close-button 12 | i.fas.fa-times 13 | #search-mask 14 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/third-party/search/index.pug: -------------------------------------------------------------------------------- 1 | if theme.algolia_search.enable 2 | include ./algolia.pug 3 | else if theme.local_search.enable 4 | include ./local-search.pug -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/third-party/search/local-search.pug: -------------------------------------------------------------------------------- 1 | #local-search 2 | .search-dialog 3 | #local-search-title.search-dialog__title=_p("local_search.label") 4 | #local-input-panel 5 | #local-search-input 6 | .local-search-box 7 | input(placeholder=_p("local_search.input_placeholder") type="text").local-search-box--input 8 | hr 9 | #local-search-results 10 | span.search-close-button 11 | i.fas.fa-times 12 | #search-mask -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/third-party/share/add-this.pug: -------------------------------------------------------------------------------- 1 | .addthis_inline_share_toolbox 2 | script(src=`//s7.addthis.com/js/300/addthis_widget.js#pubid=${theme.addThis.pubid}` async) -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/third-party/share/addtoany.pug: -------------------------------------------------------------------------------- 1 | .addtoany 2 | .a2a_kit.a2a_kit_size_32.a2a_default_style 3 | - let addtoanyItem = theme.addtoany.item.split(',') 4 | each name in addtoanyItem 5 | a(class="a2a_button_" + name) 6 | 7 | a.a2a_dd(href="https://www.addtoany.com/share") 8 | script(async src=url_for(theme.CDN.addtoany)) 9 | 10 | 11 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/third-party/share/index.pug: -------------------------------------------------------------------------------- 1 | .post_share 2 | if theme.addThis.enable 3 | !=partial('includes/third-party/share/add-this', {}, {cache: true}) 4 | else if theme.sharejs.enable 5 | include ./share-js.pug 6 | else if theme.addtoany.enable 7 | !=partial('includes/third-party/share/addtoany', {}, {cache: true}) 8 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/third-party/share/share-js.pug: -------------------------------------------------------------------------------- 1 | .social-share(data-image=url_for(page.cover|| theme.avatar.img) data-sites= theme.sharejs.sites) 2 | link(rel='stylesheet' href=url_for(theme.CDN.sharejs_css) media="print" onload="this.media='all'") 3 | script(src=url_for(theme.CDN.sharejs) defer) -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/widget/card_ad.pug: -------------------------------------------------------------------------------- 1 | if theme.ad && theme.ad.aside 2 | .card-widget.ads-wrap 3 | != theme.ad.aside 4 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/widget/card_announcement.pug: -------------------------------------------------------------------------------- 1 | if theme.aside.card_announcement.enable 2 | .card-widget.card-announcement 3 | .item-headline 4 | i.fas.fa-bullhorn.card-announcement-animation 5 | span= _p('aside.card_announcement') 6 | .announcement_content!= theme.aside.card_announcement.content -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/widget/card_archives.pug: -------------------------------------------------------------------------------- 1 | if theme.aside.card_archives.enable 2 | .card-widget.card-archives 3 | - let type = theme.aside.card_archives.type || 'monthly' 4 | - let format = theme.aside.card_archives.format || 'MMMM YYYY' 5 | - let order = theme.aside.card_archives.order || -1 6 | - let limit = theme.aside.card_archives.limit === 0 ? 0 : theme.aside.card_archives.limit || 8 7 | != aside_archives({ type:type, format: format, order: order, limit: limit }) 8 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/widget/card_bottom_self.pug: -------------------------------------------------------------------------------- 1 | if site.data.widget && site.data.widget.bottom 2 | each item in site.data.widget.bottom 3 | .card-widget(class=item.class_name id=item.id_name style=item.order ? `order: ${item.order}` : '') 4 | .item-headline 5 | i(class=item.icon) 6 | span=item.name 7 | .item-content 8 | !=item.html 9 | 10 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/widget/card_categories.pug: -------------------------------------------------------------------------------- 1 | if theme.aside.card_categories.enable 2 | if site.categories.length 3 | .card-widget.card-categories 4 | !=aside_categories({ limit: theme.aside.card_categories.limit === 0 ? 0 : theme.aside.card_categories.limit || 8 , expand: theme.aside.card_categories.expand }) 5 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/widget/card_newest_comment.pug: -------------------------------------------------------------------------------- 1 | if theme.newest_comments.enable 2 | .card-widget#card-newest-comments 3 | .item-headline 4 | i.fas.fa-comment-dots 5 | span= _p('aside.card_newest_comments.headline') 6 | .aside-list 7 | span= _p('aside.card_newest_comments.loading_text') 8 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/widget/card_post_toc.pug: -------------------------------------------------------------------------------- 1 | - let tocNumber = page.toc_number !== undefined ? page.toc_number : theme.toc.number 2 | 3 | #card-toc.card-widget 4 | .item-headline 5 | i.fas.fa-stream 6 | span= _p('aside.card_toc') 7 | 8 | if (page.encrypt == true) 9 | .toc-content.toc-div-class(style="display:none")!=toc(page.origin, {list_number: tocNumber}) 10 | else 11 | .toc-content!=toc(page.content, {list_number: tocNumber}) 12 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/widget/card_tags.pug: -------------------------------------------------------------------------------- 1 | if theme.aside.card_tags.enable 2 | if site.tags.length 3 | .card-widget.card-tags 4 | .item-headline 5 | i.fas.fa-tags 6 | span= _p('aside.card_tags') 7 | 8 | - let tagLimit = theme.aside.card_tags.limit === 0 ? 0 : theme.aside.card_tags.limit || 40 9 | if theme.aside.card_tags.color 10 | .card-tag-cloud!= cloudTags({source: site.tags, minfontsize: 1.15, maxfontsize: 1.45, limit: tagLimit, unit: 'em'}) 11 | else 12 | .card-tag-cloud!= tagcloud({min_font: 1.1, max_font: 1.5, amount: tagLimit , color: true, start_color: '#999', end_color: '#99a9bf', unit: 'em'}) 13 | -------------------------------------------------------------------------------- /themes/butterfly/layout/includes/widget/card_top_self.pug: -------------------------------------------------------------------------------- 1 | if site.data.widget && site.data.widget.top 2 | each item in site.data.widget.top 3 | .card-widget(class=item.class_name id=item.id_name) 4 | .item-headline 5 | i(class=item.icon) 6 | span=item.name 7 | .item-content 8 | !=item.html -------------------------------------------------------------------------------- /themes/butterfly/layout/index.pug: -------------------------------------------------------------------------------- 1 | extends includes/layout.pug 2 | 3 | block content 4 | include ./includes/mixins/post-ui.pug 5 | #recent-posts.recent-posts 6 | +postUI 7 | include includes/pagination.pug -------------------------------------------------------------------------------- /themes/butterfly/layout/page.pug: -------------------------------------------------------------------------------- 1 | extends includes/layout.pug 2 | 3 | block content 4 | #page 5 | case page.type 6 | when 'tags' 7 | include includes/page/tags.pug 8 | when 'link' 9 | include includes/page/flink.pug 10 | when 'categories' 11 | include includes/page/categories.pug 12 | default 13 | include includes/page/default-page.pug 14 | 15 | if page.comments !== false && theme.comments && theme.comments.use 16 | - var commentsJsLoad = true 17 | !=partial('includes/third-party/comments/index', {}, {cache: true}) -------------------------------------------------------------------------------- /themes/butterfly/layout/tag.pug: -------------------------------------------------------------------------------- 1 | extends includes/layout.pug 2 | 3 | block content 4 | if theme.tag_ui == 'index' 5 | include ./includes/mixins/post-ui.pug 6 | #recent-posts.recent-posts 7 | +postUI 8 | include includes/pagination.pug 9 | else 10 | include ./includes/mixins/article-sort.pug 11 | #tag 12 | .article-sort-title= _p('page.tag') + ' - ' + page.tag 13 | +articleSort(page.posts) 14 | include includes/pagination.pug -------------------------------------------------------------------------------- /themes/butterfly/scripts/events/404.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Butterfly 3 | * 404 error page 4 | */ 5 | 6 | 'use strict' 7 | 8 | hexo.extend.generator.register('404', function (locals) { 9 | if (!hexo.theme.config.error_404.enable) return 10 | return { 11 | path: '404.html', 12 | layout: ['page'], 13 | data: { 14 | type: '404', 15 | top_img: false 16 | } 17 | } 18 | }) 19 | -------------------------------------------------------------------------------- /themes/butterfly/scripts/events/welcome.js: -------------------------------------------------------------------------------- 1 | const logger = require('hexo-log')() 2 | 3 | hexo.on('ready', () => { 4 | const { version } = require('../../package.json') 5 | logger.info(` 6 | =================================================================== 7 | 8 | ##### # # ##### ##### ###### ##### ###### # # # 9 | # # # # # # # # # # # # # 10 | ##### # # # # ##### # # ##### # # 11 | # # # # # # # ##### # # # 12 | # # # # # # # # # # # # 13 | ##### #### # # ###### # # # ###### # 14 | 15 | ${version} 16 | ===================================================================`) 17 | }) 18 | -------------------------------------------------------------------------------- /themes/butterfly/scripts/tag/button.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Button 3 | * {% btn url text icon option %} 4 | * option: color outline center block larger 5 | * color : default/blue/pink/red/purple/orange/green 6 | */ 7 | 8 | 'use strict' 9 | 10 | const urlFor = require('hexo-util').url_for.bind(hexo) 11 | 12 | function btn (args) { 13 | args = args.join(' ').split(',') 14 | let url = args[0] || '' 15 | let text = args[1] || '' 16 | let icon = args[2] || '' 17 | let option = args[3] || '' 18 | 19 | url = url.trim() 20 | text = text.trim() 21 | icon = icon.trim() 22 | option = option.trim() 23 | 24 | return `${icon.length ? `` : ''}${text.length ? `${text}` : ''}` 26 | } 27 | 28 | hexo.extend.tag.register('btn', btn, { ends: false }) 29 | -------------------------------------------------------------------------------- /themes/butterfly/scripts/tag/inlineImg.js: -------------------------------------------------------------------------------- 1 | /** 2 | * inlineImg 圖片 3 | * {% inlineImg src height %} 4 | */ 5 | 6 | 'use strict' 7 | 8 | const urlFor = require('hexo-util').url_for.bind(hexo) 9 | 10 | function inlineImg (args) { 11 | const img = args[0] 12 | const height = args[1] ? `style="height:${args[1]}"` : '' 13 | 14 | return `` 15 | } 16 | 17 | hexo.extend.tag.register('inlineImg', inlineImg, { ends: false }) 18 | -------------------------------------------------------------------------------- /themes/butterfly/scripts/tag/label.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Butterfly 3 | * label 4 | * {% label text color %} 5 | */ 6 | 7 | 'use strict' 8 | 9 | function addLabel (args, content) { 10 | const text = args[0] 11 | const className = args[1] || 'default' 12 | 13 | return `${text} ` 14 | } 15 | 16 | hexo.extend.tag.register('label', addLabel, { ends: false }) 17 | -------------------------------------------------------------------------------- /themes/butterfly/scripts/tag/mermaid.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Butterfly 3 | * mermaid 4 | * https://github.com/mermaid-js/mermaid 5 | */ 6 | 7 | 'use strict' 8 | 9 | const { escapeHTML } = require('hexo-util') 10 | 11 | function mermaid (args, content) { 12 | return `
${escapeHTML(content)}
` 13 | } 14 | 15 | hexo.extend.tag.register('mermaid', mermaid, { ends: true }) 16 | -------------------------------------------------------------------------------- /themes/butterfly/source/css/_highlight/prismjs/index.styl: -------------------------------------------------------------------------------- 1 | if hexo-fonfig('prismjs_settings.line_number') 2 | @require 'line-number' 3 | 4 | if $highlight_theme != false 5 | @require 'diff' 6 | 7 | #article-container 8 | pre[class*='language-'] 9 | &::-webkit-scrollbar-thumb 10 | background: var(--hlscrollbar-bg) 11 | 12 | &:not(.line-numbers) 13 | padding: 10px 20px 14 | 15 | .caption 16 | margin-left: -3.8em 17 | padding: .2rem .8rem !important 18 | 19 | a 20 | padding: 0 !important 21 | -------------------------------------------------------------------------------- /themes/butterfly/source/css/_layout/chat.styl: -------------------------------------------------------------------------------- 1 | // chat 2 | if hexo-config('chat_btn') == true && hexo-config('chatra.enable') 3 | #chatra:not(.chatra--expanded) 4 | visibility: hidden !important 5 | width: 1px !important 6 | height: 1px !important 7 | opacity: 0 !important 8 | pointer-events: none 9 | -------------------------------------------------------------------------------- /themes/butterfly/source/css/_layout/footer.styl: -------------------------------------------------------------------------------- 1 | #footer 2 | position: relative 3 | background: $light-blue 4 | background-attachment: local 5 | background-position: bottom 6 | background-size: cover 7 | 8 | if hexo-config('footer_bg') != false 9 | &:before 10 | position: absolute 11 | width: 100% 12 | height: 100% 13 | background-color: alpha($dark-black, .5) 14 | content: '' 15 | 16 | #footer-wrap 17 | position: relative 18 | padding: 2rem 1rem 19 | color: var(--light-grey) 20 | text-align: center 21 | 22 | a 23 | color: var(--light-grey) 24 | 25 | &:hover 26 | text-decoration: underline 27 | 28 | .footer-separator 29 | margin: 0 .2rem 30 | 31 | .icp-icon 32 | padding: 0 4px 33 | vertical-align: text-bottom 34 | max-height: 1.4em 35 | width auto 36 | -------------------------------------------------------------------------------- /themes/butterfly/source/css/_page/tags.styl: -------------------------------------------------------------------------------- 1 | .tag-cloud 2 | &-list 3 | a 4 | display: inline-block 5 | padding: 0 .4rem 6 | transition: all .3s 7 | 8 | &:hover 9 | color: $text-hover !important 10 | transform: scale(1.1) 11 | 12 | +maxWidth768() 13 | zoom: .85 14 | 15 | &-title 16 | font-size: 2.57em 17 | 18 | +maxWidth768() 19 | font-size: 2em 20 | -------------------------------------------------------------------------------- /themes/butterfly/source/css/_tags/hexo.styl: -------------------------------------------------------------------------------- 1 | // pullquote 2 | blockquote 3 | &.pullquote 4 | position: relative 5 | max-width: 45% 6 | font-size: 110% 7 | 8 | &.left 9 | float: left 10 | margin: 1em .5em 0 0 11 | 12 | &.right 13 | float: right 14 | margin: 1em 0 0 .5rem 15 | 16 | // hexo tag video 17 | .video-container 18 | position: relative 19 | overflow: hidden 20 | margin-bottom: .8rem 21 | padding-top: 56.25% 22 | height: 0 23 | 24 | iframe 25 | position: absolute 26 | top: 0 27 | left: 0 28 | margin-top: 0 29 | width: 100% 30 | height: 100% 31 | -------------------------------------------------------------------------------- /themes/butterfly/source/css/_tags/inlineImg.styl: -------------------------------------------------------------------------------- 1 | #article-container 2 | .inline-img 3 | display: inline 4 | margin: 0 3px 5 | height: 1.1em 6 | vertical-align: text-bottom -------------------------------------------------------------------------------- /themes/butterfly/source/css/_tags/label.styl: -------------------------------------------------------------------------------- 1 | .hl-label 2 | padding: 2px 4px 3 | border-radius: 3px 4 | color: $btn-color 5 | 6 | &.default 7 | background-color: $btn-default-color 8 | 9 | for $type in $tagsP-types 10 | &.{$type} 11 | background-color: lookup('$tagsP-' + $type + '-color') 12 | -------------------------------------------------------------------------------- /themes/butterfly/source/css/index.styl: -------------------------------------------------------------------------------- 1 | if hexo-config('css_prefix') 2 | @import 'nib' 3 | 4 | @import '_third-party/normalize.min.css' 5 | // project 6 | @import 'var' 7 | @import '_global/*' 8 | @import '_highlight/highlight' 9 | @import '_page/*' 10 | @import '_layout/*' 11 | @import '_tags/*' 12 | @import '_mode/*' 13 | 14 | // search 15 | if hexo-config('algolia_search.enable') 16 | @import '_search/index' 17 | @import '_search/algolia' 18 | 19 | if hexo-config('local_search') && hexo-config('local_search.enable') 20 | @import '_search/index' 21 | @import '_search/local-search' 22 | -------------------------------------------------------------------------------- /themes/butterfly/source/img/404.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/404.jpg -------------------------------------------------------------------------------- /themes/butterfly/source/img/book.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/book.gif -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/1.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/10.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/11.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/12.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/13.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/14.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/15.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/16.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/17.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/18.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/19.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/2.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/20.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/21.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/22.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/23.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/24.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/25.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/26.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/27.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/28.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/29.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/3.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/30.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/31.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/32.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/33.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/34.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/35.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/36.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/37.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/38.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/39.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/4.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/40.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/41.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/42.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/42.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/43.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/44.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/45.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/46.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/46.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/47.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/47.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/48.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/49.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/49.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/5.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/50.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/51.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/51.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/52.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/52.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/53.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/53.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/54.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/54.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/55.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/56.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/56.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/57.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/58.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/59.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/59.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/6.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/60.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/7.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/8.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/default-cover/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/default-cover/9.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/favicon.png -------------------------------------------------------------------------------- /themes/butterfly/source/img/friend_404.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/friend_404.gif -------------------------------------------------------------------------------- /themes/butterfly/source/img/wechat-sponsor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/butterfly/source/img/wechat-sponsor.png -------------------------------------------------------------------------------- /themes/fluid/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /themes/fluid/.github/ISSUE_TEMPLATE/bug_report_zh.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug 报告 3 | about: 创建一份 Bug 报告帮助我们优化产品 4 | title: '' 5 | labels: ':bug: bug' 6 | assignees: '' 7 | --- 8 | 9 | #### 请确认 10 | - [ ] 是当前最新的 [Release 版本](https://github.com/fluid-dev/hexo-theme-fluid/releases) 11 | - [ ] 浏览器不属于 IE 等旧浏览器 12 | - [ ] 本地 `hexo clean && hexo s` 后仍可复现 13 | - [ ] 清除浏览器缓存或更换浏览器仍可复现 14 | 15 | #### Bug 描述 16 | 17 | 18 | 浏览器: Chrome 80.0.3987.132 64位 19 | 20 | #### 复现步骤 21 | 该 Bug 复现步骤如下: 22 | 1. 在 xxx 页面点击 xxx 按钮 23 | 2. 然后向下滚动 24 | 3. 会出现 xxx 25 | 26 | 最好提供部署后能复现的页面地址: 27 | 28 | #### 截图 29 | -------------------------------------------------------------------------------- /themes/fluid/.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: ':sparkles: enhancement' 6 | assignees: '' 7 | --- 8 | 9 | #### Make sure 10 | - [ ] Difficult to implement through [custom](https://hexo.fluid-dev.com/docs/en/guide/#custom-js-css-html). 11 | - [ ] Difficult to implement through third-party plugins. 12 | 13 | #### Is your feature request related to a problem? Please describe 14 | 15 | 16 | #### Describe the solution you'd like 17 | 18 | 19 | #### Describe alternatives you've considered 20 | 21 | -------------------------------------------------------------------------------- /themes/fluid/.github/ISSUE_TEMPLATE/feature_request_zh.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 功能需求或优化 3 | about: 创建一份合理可行的建议帮助我们提升产品 4 | title: '' 5 | labels: ':sparkles: enhancement' 6 | assignees: '' 7 | --- 8 | 9 | #### 如是功能需求,请确定符合以下情况 10 | - [ ] 难以通过[自定义](https://hexo.fluid-dev.com/docs/guide/#%E8%87%AA%E5%AE%9A%E4%B9%89-js-css-html)实现的功能 11 | - [ ] 难以通过第三方插件实现 12 | 13 | #### 请描述该需求尝试解决的问题 14 | 15 | 16 | #### 请描述您认为可行的解决方案 17 | 18 | 19 | #### 考虑过的替代方案 20 | 21 | -------------------------------------------------------------------------------- /themes/fluid/.github/ISSUE_TEMPLATE/question.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Question 3 | about: Ask a question about use, need help 4 | --- 5 | 6 | #### Make sure 7 | - [ ] Upgrade the latest [release version](https://github.com/fluid-dev/hexo-theme-fluid/releases). 8 | - [ ] No solution found in [Documentation][https://hexo.fluid-dev.com/docs/en/] 9 | 10 | #### Describe the question 11 | 12 | -------------------------------------------------------------------------------- /themes/fluid/.github/ISSUE_TEMPLATE/question_zh.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 问题求助 3 | about: 提出一个使用过程中遇到的问题,需要得到帮助 4 | --- 5 | 6 | #### 请确认 7 | - [ ] 是当前最新的 [Release 版本](https://github.com/fluid-dev/hexo-theme-fluid/releases) 8 | - [ ] 在 [用户指南](https://hexo.fluid-dev.com/docs/) 中没有找到解决办法 9 | 10 | #### 问题描述 11 | 15 | -------------------------------------------------------------------------------- /themes/fluid/.github/workflows/limit.yaml: -------------------------------------------------------------------------------- 1 | name: Limit PRs 2 | 3 | on: 4 | pull_request: 5 | branches: 6 | - master 7 | 8 | jobs: 9 | limit_master_pr: 10 | runs-on: ubuntu-latest 11 | name: Limits PR to master 12 | steps: 13 | - name: Limit action step 14 | id: limit_action 15 | uses: LukBukkit/action-pr-limits@v1 16 | with: 17 | whitelist: | 18 | develop 19 | -------------------------------------------------------------------------------- /themes/fluid/.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | .DS_Store 3 | *.log 4 | *.iml 5 | yarn.lock 6 | package-lock.json 7 | node_modules/ -------------------------------------------------------------------------------- /themes/fluid/languages/en.yml: -------------------------------------------------------------------------------- 1 | search: 2 | title: Search 3 | keyword: keyword 4 | status: 5 | success: v 6 | error: x 7 | 8 | postTotal: "%d posts in total." 9 | 10 | paginator: 11 | pre: Previous 12 | next: Next 13 | 14 | post: 15 | toc: TOC 16 | pre: Previous 17 | next: Next 18 | 19 | home: 20 | title: Home 21 | 22 | archive: 23 | title: Archives 24 | subtitle: Archive 25 | 26 | tag: 27 | title: Tags 28 | subtitle: Tag 29 | 30 | category: 31 | title: Categories 32 | subtitle: Category 33 | 34 | about: 35 | title: About 36 | subtitle: About 37 | 38 | page404: 39 | title: Page not found 40 | subtitle: Oops, Page not found... 41 | 42 | links: 43 | title: Links 44 | subtitle: Links 45 | -------------------------------------------------------------------------------- /themes/fluid/languages/ja.yml: -------------------------------------------------------------------------------- 1 | search: 2 | title: 検索 3 | keyword: キーワード 4 | status: 5 | success: v 6 | error: x 7 | 8 | postTotal: 合計 %d 件のポスト 9 | 10 | paginator: 11 | pre: 前のページ 12 | next: 次のページ 13 | 14 | post: 15 | toc: ディレクトリ 16 | pre: 前の記事 17 | next: 次の記事 18 | 19 | home: 20 | title: ホーム 21 | 22 | archive: 23 | title: アーカイブ 24 | subtitle: アーカイブ 25 | 26 | tag: 27 | title: タグ 28 | subtitle: タグ 29 | 30 | category: 31 | title: カテゴリー 32 | subtitle: カテゴリー 33 | 34 | about: 35 | title: 本ブログ情報  36 | subtitle: 本ブログ情報 37 | 38 | page404: 39 | title: ページが見つかりませんでした 40 | subtitle: ページが見つかりませんでした 41 | 42 | links: 43 | title: リンク 44 | subtitle: リンク 45 | -------------------------------------------------------------------------------- /themes/fluid/languages/zh-CN.yml: -------------------------------------------------------------------------------- 1 | search: 2 | title: 搜索 3 | keyword: 关键词 4 | status: 5 | success: v 6 | error: x 7 | 8 | postTotal: 共计 %d 篇文章 9 | 10 | paginator: 11 | pre: 上一页 12 | next: 下一页 13 | 14 | post: 15 | toc: 目录 16 | pre: 上一篇 17 | next: 下一篇 18 | 19 | home: 20 | title: 首页 21 | 22 | archive: 23 | title: 归档 24 | subtitle: 归档 25 | 26 | tag: 27 | title: 标签 28 | subtitle: 标签 29 | 30 | category: 31 | title: 分类 32 | subtitle: 分类 33 | 34 | about: 35 | title: 关于 36 | subtitle: 关于 37 | 38 | page404: 39 | title: 页面走丢啦~ 40 | subtitle: 页面走丢啦~ 41 | 42 | links: 43 | title: 友链 44 | subtitle: 友情链接 45 | -------------------------------------------------------------------------------- /themes/fluid/layout/404.ejs: -------------------------------------------------------------------------------- 1 | <% 2 | page.layout = "404" 3 | page.title = theme.page404.title || __('page404.title') 4 | page.subtitle = theme.page404.subtitle || __('page404.subtitle') 5 | page.banner_img = theme.page404.banner_img 6 | page.banner_img_height = theme.page404.banner_img_height 7 | page.banner_mask_alpha = theme.page404.banner_mask_alpha 8 | %> 9 | 10 | 17 | -------------------------------------------------------------------------------- /themes/fluid/layout/_partial/comments/livere.ejs: -------------------------------------------------------------------------------- 1 | <% if(theme.livere.uid){ %> 2 |
3 | 9 | 10 |
11 | <% } %> 12 | -------------------------------------------------------------------------------- /themes/fluid/layout/_partial/footer.ejs: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | <%- partial('_partial/scripts.ejs') %> 20 | -------------------------------------------------------------------------------- /themes/fluid/layout/_partial/paginator.ejs: -------------------------------------------------------------------------------- 1 | <% if (page.total > 1){ %> 2 | 12 | <% var point = theme.scroll_down_arrow.scroll_after_turning_page ? '#board' : '' %> 13 | 18 | <% } %> 19 | -------------------------------------------------------------------------------- /themes/fluid/layout/_partial/plugins/anchor.ejs: -------------------------------------------------------------------------------- 1 | <% if((is_post() || is_page()) && theme.fun_features.anchorjs.enable){ %> 2 | <%- js_ex(theme.static_prefix.anchor, "/anchor.min.js") %> 3 | 18 | <% } %> 19 | -------------------------------------------------------------------------------- /themes/fluid/layout/_partial/plugins/aplayer.ejs: -------------------------------------------------------------------------------- 1 | <%- js_ex(theme.static_prefix.aplayer, 'APlayer.min.js', 'defer') %> 2 | <%- css_ex(theme.static_prefix.aplayer, 'APlayer.min.css') %> 3 | 20 | -------------------------------------------------------------------------------- /themes/fluid/layout/_partial/plugins/daovoice.ejs: -------------------------------------------------------------------------------- 1 | <% if(theme.daovoice.enable && theme.daovoice.appid){ %> 2 | 21 | <% } %> 22 | 23 | -------------------------------------------------------------------------------- /themes/fluid/layout/_partial/plugins/fancybox.ejs: -------------------------------------------------------------------------------- 1 | <% if ((is_post() || (is_page() && page.image_zoom)) && theme.post.image_zoom.enable) { %> 2 | <%- js_ex(theme.static_prefix.fancybox, 'jquery.fancybox.min.js') %> 3 | <%- css_ex(theme.static_prefix.fancybox, 'jquery.fancybox.min.css') %> 4 | 5 | 15 | <% } %> 16 | -------------------------------------------------------------------------------- /themes/fluid/layout/_partial/plugins/local-search.ejs: -------------------------------------------------------------------------------- 1 | <% if(theme.search.enable){ %> 2 | <%- js_ex(theme.static_prefix.internal_js, "local-search.js") %> 3 | 11 | <% } %> 12 | -------------------------------------------------------------------------------- /themes/fluid/layout/_partial/plugins/mermaid.ejs: -------------------------------------------------------------------------------- 1 | <% 2 | var enable = theme.post.mermaid.enable; 3 | 4 | if (enable) { 5 | if (is_post()) { 6 | enable = !theme.post.mermaid.specific || (theme.post.mermaid.specific && page.mermaid); 7 | } else if (is_page()) { 8 | enable = page.mermaid; 9 | } else { 10 | enable = false; 11 | } 12 | } 13 | 14 | var options = JSON.stringify(theme.post.mermaid.options); 15 | %> 16 | 17 | <% if (enable) { %> 18 | <%- js_ex(theme.static_prefix.mermaid, 'mermaid.min.js') %> 19 | 24 | <% } %> 25 | -------------------------------------------------------------------------------- /themes/fluid/layout/_partial/plugins/typed.ejs: -------------------------------------------------------------------------------- 1 | <% if(theme.fun_features.typing.enable && page.subtitle !== false){ %> 2 | <%- js_ex(theme.static_prefix.typed, "/typed.min.js") %> 3 | 19 | <% } %> 20 | -------------------------------------------------------------------------------- /themes/fluid/layout/_partial/toc.ejs: -------------------------------------------------------------------------------- 1 |
2 |

 <%= __('post.toc') %>

3 |
4 |
5 | -------------------------------------------------------------------------------- /themes/fluid/layout/page.ejs: -------------------------------------------------------------------------------- 1 | <% 2 | var layout = page.layout 3 | page.title = page.title || __(`${ layout }.title`) 4 | page.subtitle = page.subtitle || page.title || __(`${ layout }.subtitle`) 5 | page.banner_img = page.banner_img || theme.page.banner_img 6 | page.banner_img_height = page.banner_img_height || theme.page.banner_img_height 7 | page.banner_mask_alpha = page.banner_mask_alpha || theme.page.banner_mask_alpha 8 | %> 9 | 10 |
11 | <%- page.content %> 12 |
13 | -------------------------------------------------------------------------------- /themes/fluid/layout/tags.ejs: -------------------------------------------------------------------------------- 1 | <% 2 | page.layout = "tags" 3 | page.title = theme.tag.title || __('tag.title') 4 | page.subtitle = theme.tag.subtitle || __('tag.subtitle') 5 | page.banner_img = theme.tag.banner_img 6 | page.banner_img_height = theme.tag.banner_img_height 7 | page.banner_mask_alpha = theme.tag.banner_mask_alpha 8 | 9 | var min_font = theme.tag.tagcloud.min_font || 15 10 | var max_font = theme.tag.tagcloud.max_font || 30 11 | var unit = theme.tag.tagcloud.unit || 'px' 12 | var start_color = theme.tag.tagcloud.start_color || '#BBBBEE' 13 | var end_color = theme.tag.tagcloud.end_color || '#337ab7' 14 | %> 15 | 16 |
17 | <%- tagcloud({ 18 | min_font: min_font, 19 | max_font: max_font, 20 | amount: 999, 21 | unit: unit, 22 | color: true, 23 | start_color, 24 | end_color 25 | }) %> 26 |
27 | -------------------------------------------------------------------------------- /themes/fluid/scripts/events/index.js: -------------------------------------------------------------------------------- 1 | /* global hexo */ 2 | 3 | 'use strict'; 4 | 5 | hexo.on('generateBefore', () => { 6 | require('./lib/hello')(hexo); 7 | require('./lib/merge-configs')(hexo); 8 | require('./lib/highlight')(hexo); 9 | require('./lib/lazyload')(hexo); 10 | require('./lib/footnote')(hexo); 11 | }); 12 | 13 | hexo.on('generateAfter', () => { 14 | require('./lib/version')(hexo); 15 | }); 16 | -------------------------------------------------------------------------------- /themes/fluid/scripts/events/lib/hello.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = (hexo) => { 4 | hexo.log.info(` 5 | ------------------------------------------------ 6 | | | 7 | | ________ __ _ __ | 8 | | |_ __ |[ | (_) | ] | 9 | | | |_ \\_| | | __ _ __ .--.| | | 10 | | | _| | |[ | | | [ |/ /'\`\\' | | 11 | | _| |_ | | | \\_/ |, | || \\__/ | | 12 | | |_____| [___]'.__.'_/[___]'.__.;__] | 13 | | | 14 | | Thank you for using Fluid theme ! | 15 | | Docs: https://hexo.fluid-dev.com/docs/ | 16 | | | 17 | ------------------------------------------------ 18 | `); 19 | }; 20 | -------------------------------------------------------------------------------- /themes/fluid/scripts/events/lib/highlight.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const objUtil = require('../../utils/object'); 4 | 5 | module.exports = (hexo) => { 6 | const config = hexo.theme.config; 7 | if (!config.highlight.enable) { 8 | return; 9 | } 10 | 11 | // Force set hexo config 12 | hexo.config.highlight = objUtil.merge({}, hexo.config.highlight, { 13 | enable : true, 14 | hljs : true, 15 | line_number: false, 16 | wrap : false, 17 | auto_detect: true 18 | }); 19 | 20 | if (config.highlight.bg_color) { 21 | hexo.extend.filter.register('after_render:html', (html, data) => { 22 | return html.replace(/(?)(.*?)<\/pre>/gis, (str, p1, p2) => { 23 | return `
${p2}
`; 24 | }); 25 | }); 26 | } 27 | }; 28 | -------------------------------------------------------------------------------- /themes/fluid/scripts/filters/post-filter.js: -------------------------------------------------------------------------------- 1 | /* global hexo */ 2 | 3 | 'use strict'; 4 | 5 | // 生成前过滤文章 6 | hexo.extend.filter.register('before_generate', function() { 7 | this._bindLocals(); 8 | 9 | const all_posts = this.locals.get('posts'); 10 | const hide_posts = all_posts.filter(post => post.hide); 11 | const normal_posts = all_posts.filter(post => !post.hide); 12 | 13 | this.locals.set('all_posts', all_posts); 14 | this.locals.set('hide_posts', hide_posts); 15 | this.locals.set('posts', normal_posts); 16 | }); 17 | 18 | const original_post_generator = hexo.extend.generator.get('post'); 19 | 20 | hexo.extend.generator.register('post', function(locals) { 21 | // 发送时需要把过滤的页面也加入 22 | return original_post_generator.bind(this)({ 23 | posts: new locals.posts.constructor( 24 | locals.posts.data.concat(locals.hide_posts.data) 25 | ) 26 | }); 27 | }); 28 | -------------------------------------------------------------------------------- /themes/fluid/scripts/helpers/page.js: -------------------------------------------------------------------------------- 1 | /* global hexo */ 2 | 3 | 'use strict'; 4 | 5 | hexo.extend.helper.register('prev_page', function prev_page(page) { 6 | const prev = page.prev; 7 | if (!prev) { 8 | return null; 9 | } 10 | if (prev.hide) { 11 | return prev_page(prev); 12 | } 13 | return prev; 14 | }); 15 | 16 | hexo.extend.helper.register('next_page', function next_page(page) { 17 | const next = page.next; 18 | if (!next) { 19 | return null; 20 | } 21 | if (next.hide) { 22 | return next_page(next); 23 | } 24 | return next; 25 | }); 26 | -------------------------------------------------------------------------------- /themes/fluid/scripts/helpers/url.js: -------------------------------------------------------------------------------- 1 | /* global hexo */ 2 | 3 | 'use strict'; 4 | 5 | const joinPath = require('../utils/join-path'); 6 | 7 | hexo.extend.helper.register('css_ex', function(base, relative, ex = '') { 8 | return ``; 9 | }); 10 | 11 | hexo.extend.helper.register('js_ex', function(base, relative, ex = '') { 12 | return ``; 13 | }); 14 | 15 | hexo.extend.helper.register('url_join', function(base, relative) { 16 | return this.url_for(joinPath(base, relative)); 17 | }); 18 | -------------------------------------------------------------------------------- /themes/fluid/scripts/helpers/utils.js: -------------------------------------------------------------------------------- 1 | /* global hexo */ 2 | 3 | 'use strict'; 4 | 5 | const crypto = require('crypto'); 6 | 7 | hexo.extend.helper.register('md5', function(string) { 8 | return crypto.createHash('md5').update(string).digest('hex'); 9 | }); 10 | -------------------------------------------------------------------------------- /themes/fluid/scripts/tags/button.js: -------------------------------------------------------------------------------- 1 | /* global hexo */ 2 | 3 | 'use strict'; 4 | 5 | const button = (args) => { 6 | args = args.join(' ').split(','); 7 | const url = (args[0] || '').trim(); 8 | const text = (args[1] || '').trim(); 9 | const title = (args[2] || '').trim(); 10 | 11 | !url && hexo.log.warn('Button url must be defined!'); 12 | 13 | return ` 0 ? ` title="${title}"` : ''} target="_blank">${text}`; 14 | }; 15 | 16 | // {% btn url, text, title %} 17 | hexo.extend.tag.register('button', button, { ends: false }); 18 | hexo.extend.tag.register('btn', button, { ends: false }); 19 | -------------------------------------------------------------------------------- /themes/fluid/scripts/tags/label.js: -------------------------------------------------------------------------------- 1 | /* global hexo */ 2 | 3 | 'use strict'; 4 | 5 | const label = (args) => { 6 | args = args.join(' ').split('@'); 7 | const classes = args[0] || 'default'; 8 | const text = args[1] || ''; 9 | 10 | !text && hexo.log.warn('Label text must be defined!'); 11 | 12 | return `${text}`; 13 | }; 14 | 15 | // {% label class @text %} 16 | hexo.extend.tag.register('label', label, { ends: false }); 17 | -------------------------------------------------------------------------------- /themes/fluid/scripts/tags/note.js: -------------------------------------------------------------------------------- 1 | /* global hexo */ 2 | 3 | 'use strict'; 4 | 5 | const note = (args, content) => { 6 | if (!args || !args[0]) { 7 | args = ['primary']; 8 | } 9 | return `
10 | ${hexo.render.renderSync({ text: content, engine: 'markdown' }).split('\n').join('')} 11 |
`; 12 | }; 13 | 14 | /* 15 | {% note class %} 16 | text 17 | {% endnote %} 18 | */ 19 | hexo.extend.tag.register('note', note, { ends: true }); 20 | -------------------------------------------------------------------------------- /themes/fluid/scripts/utils/join-path.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const joinPath = function(base, relative) { 4 | if (relative && /^https*:\/\//.test(relative)) { 5 | return relative; 6 | } 7 | return relative 8 | ? base.replace(/\/+$/, '') + '/' + relative.replace(/^\/+/, '') 9 | : base; 10 | }; 11 | 12 | module.exports = joinPath; 13 | -------------------------------------------------------------------------------- /themes/fluid/scripts/utils/object.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const isObject = (item) => { 4 | return item && typeof item === 'object' && !Array.isArray(item); 5 | }; 6 | 7 | const merge = (target, ...sources) => { 8 | for (const source of sources) { 9 | for (const key in source) { 10 | if (!Object.prototype.hasOwnProperty.call(source, key)) { 11 | continue; 12 | } 13 | if (isObject(target[key]) && isObject(source[key])) { 14 | merge(target[key], source[key]); 15 | } else { 16 | target[key] = source[key]; 17 | } 18 | } 19 | } 20 | return target; 21 | }; 22 | 23 | module.exports = { 24 | isObject: isObject, 25 | merge : merge 26 | }; 27 | -------------------------------------------------------------------------------- /themes/fluid/source/css/_functions/base.styl: -------------------------------------------------------------------------------- 1 | theme-config(config, predef) 2 | unquote(hexo-config(config) ? hexo-config(config):predef) 3 | 4 | theme-config-unit(config, predef, unit) 5 | unit(hexo-config(config) ? hexo-config(config):predef, unit) 6 | 7 | theme-config-origin(config, predef) 8 | (hexo-config(config) ? hexo-config(config):predef) 9 | -------------------------------------------------------------------------------- /themes/fluid/source/css/_mixins/base.styl: -------------------------------------------------------------------------------- 1 | /* 给锚点增加偏移量(适配导航栏的高度) */ 2 | anchor-offset() 3 | &::before 4 | display block 5 | content "" 6 | margin-top -5rem 7 | height 5rem 8 | width 1px 9 | visibility hidden 10 | 11 | /* 毛玻璃透明效果 */ 12 | ground-glass($px, $bg-color, $alpha) 13 | /* 若浏览器支持 backdrop-filter,则启用毛玻璃 */ 14 | @supports (-webkit-backdrop-filter: blur($px)) or (backdrop-filter: blur($px)) 15 | & 16 | background rgba(convert($bg-color), $alpha) 17 | -webkit-backdrop-filter blur($px) 18 | backdrop-filter blur($px) 19 | 20 | /* 若浏览器器不支持,则使用透明 */ 21 | @supports not ((-webkit-backdrop-filter: blur($px)) or (backdrop-filter: blur($px))) 22 | & 23 | background rgb(convert($bg-color)) 24 | -------------------------------------------------------------------------------- /themes/fluid/source/css/_pages/_about/about.styl: -------------------------------------------------------------------------------- 1 | .about-avatar 2 | position relative 3 | margin -8rem auto 1rem 4 | width 10rem 5 | height 10rem 6 | z-index 3 7 | 8 | img 9 | width 100% 10 | height 100% 11 | border-radius 50% 12 | -moz-border-radius 50% 13 | -webkit-border-radius 50% 14 | object-fit cover 15 | -webkit-box-shadow 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12) 16 | box-shadow 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12) 17 | 18 | .about-info 19 | & > div 20 | margin-bottom .5rem 21 | 22 | .about-name 23 | font-size 1.75rem 24 | font-weight bold 25 | 26 | .about-intro 27 | font-size 1rem 28 | 29 | .about-icons 30 | & > a 31 | margin-right .5rem 32 | 33 | & > a > i 34 | font-size 1.5rem 35 | -------------------------------------------------------------------------------- /themes/fluid/source/css/_pages/_archive/archive.styl: -------------------------------------------------------------------------------- 1 | .list-group 2 | a ~ p.h5 3 | margin-top 1rem 4 | -------------------------------------------------------------------------------- /themes/fluid/source/css/_pages/_base/keyframes.styl: -------------------------------------------------------------------------------- 1 | @keyframes fadeInUp 2 | from 3 | opacity 0 4 | -webkit-transform translate3d(0, 100%, 0) 5 | transform translate3d(0, 100%, 0) 6 | to 7 | opacity 1 8 | -webkit-transform translate3d(0, 0, 0) 9 | transform translate3d(0, 0, 0) 10 | 11 | @keyframes scroll-down 12 | 0% 13 | opacity 0.8 14 | top 0 15 | 50% 16 | opacity 0.4 17 | top -1em 18 | 100% 19 | opacity 0.8 20 | top 0 21 | 22 | @keyframes scroll-top 23 | 0% 24 | -webkit-transform translateY(0) 25 | transform translateY(0) 26 | 50% 27 | -webkit-transform translateY(-0.35rem) 28 | transform translateY(-0.35rem) 29 | 100% 30 | -webkit-transform translateY(0) 31 | transform translateY(0) 32 | -------------------------------------------------------------------------------- /themes/fluid/source/css/_pages/_category/category.styl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/fluid/source/css/_pages/_category/category.styl -------------------------------------------------------------------------------- /themes/fluid/source/css/_pages/_tag/tag.styl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/fluid/source/css/_pages/_tag/tag.styl -------------------------------------------------------------------------------- /themes/fluid/source/css/_pages/_tag/tags.styl: -------------------------------------------------------------------------------- 1 | .tagcloud 2 | padding 1rem 5% 3 | 4 | a 5 | display inline-block 6 | padding .5rem 7 | 8 | &:hover 9 | color $link-hover-color !important 10 | -------------------------------------------------------------------------------- /themes/fluid/source/css/_pages/pages.styl: -------------------------------------------------------------------------------- 1 | @import "_base/*" 2 | @import "_index/*" 3 | @import "_post/*" 4 | @import "_archive/*" 5 | @import "_about/*" 6 | @import "_category/*" 7 | @import "_tag/*" 8 | @import "_links/*" 9 | -------------------------------------------------------------------------------- /themes/fluid/source/css/main.styl: -------------------------------------------------------------------------------- 1 | // -------------------------------------- 2 | // Fluid 3 | // https://github.com/fluid-dev/hexo-theme-fluid 4 | // -------------------------------------- 5 | 6 | @import "_variables/base" 7 | 8 | @import "_functions/base" 9 | 10 | @import "_mixins/base" 11 | 12 | @import "_pages/pages" 13 | -------------------------------------------------------------------------------- /themes/fluid/source/img/avatar-useless.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/fluid/source/img/avatar-useless.png -------------------------------------------------------------------------------- /themes/fluid/source/img/avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/fluid/source/img/avatar.jpg -------------------------------------------------------------------------------- /themes/fluid/source/img/default-useless.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/fluid/source/img/default-useless.png -------------------------------------------------------------------------------- /themes/fluid/source/img/default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/fluid/source/img/default.png -------------------------------------------------------------------------------- /themes/fluid/source/img/favicon-useless.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/fluid/source/img/favicon-useless.png -------------------------------------------------------------------------------- /themes/fluid/source/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/fluid/source/img/loading.gif -------------------------------------------------------------------------------- /themes/fluid/source/img/police_beian.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/fluid/source/img/police_beian.png -------------------------------------------------------------------------------- /themes/fluid/source/img/qq.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/fluid/source/img/qq.JPG -------------------------------------------------------------------------------- /themes/indigo/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 4 7 | insert_final_newline = true 8 | trim_trailing_whitespace = true 9 | 10 | [*.{yml,json}] 11 | indent_size = 2 12 | -------------------------------------------------------------------------------- /themes/indigo/languages/en.yml: -------------------------------------------------------------------------------- 1 | global: 2 | search_input_hint: "Search" 3 | 4 | post: 5 | continue_reading: "Continue reading..." 6 | last_updated: "Last updated: " 7 | 8 | footer: 9 | license: 'This blog is licensed under a Creative Commons Attribution 4.0 International License.' 10 | 11 | tag: 12 | all: "All" 13 | tags: "Tags" 14 | -------------------------------------------------------------------------------- /themes/indigo/languages/ja.yml: -------------------------------------------------------------------------------- 1 | global: 2 | search_input_hint: "検索" 3 | 4 | post: 5 | continue_reading: "続きを読む…" 6 | last_updated: "最終更新:" 7 | 8 | footer: 9 | license: 'このブログの内容物はクリエイティブ・コモンズ 表示 - 非営利 - 継承 4.0 国際ライセンスの下に提供されています' 10 | 11 | tag: 12 | all: "全て" 13 | tags: "タグ" 14 | -------------------------------------------------------------------------------- /themes/indigo/languages/nl-NL: -------------------------------------------------------------------------------- 1 | global: 2 | search_input_hint: "Zoeken" 3 | 4 | post: 5 | continue_reading: "Lees verder..." 6 | last_updated: "Laatste update: " 7 | 8 | footer: 9 | license: 'Deze blog valt onder de Creative Commons Attribution 4.0 International Licentie.' 10 | 11 | tag: 12 | all: "Alle" 13 | tags: "Labels" 14 | -------------------------------------------------------------------------------- /themes/indigo/languages/zh-CN.yml: -------------------------------------------------------------------------------- 1 | global: 2 | search_input_hint: "输入感兴趣的关键字" 3 | 4 | post: 5 | continue_reading: "阅读全文…" 6 | last_updated: "最后更新时间:" 7 | 8 | footer: 9 | license: '博客内容遵循 知识共享 署名 - 非商业性 - 相同方式共享 4.0 国际协议' 10 | 11 | tag: 12 | all: "全部" 13 | tags: "标签" 14 | -------------------------------------------------------------------------------- /themes/indigo/languages/zh-TW.yml: -------------------------------------------------------------------------------- 1 | global: 2 | search_input_hint: "搜尋" 3 | 4 | post: 5 | continue_reading: "閱讀全文…" 6 | last_updated: "最後更新時間:" 7 | 8 | footer: 9 | license: '本部落格係採用創用 CC 姓名標示 4.0 國際 授權條款授權' 10 | 11 | tag: 12 | all: "全部" 13 | tags: "標籤" 14 | -------------------------------------------------------------------------------- /themes/indigo/layout/_partial/after-footer.ejs: -------------------------------------------------------------------------------- 1 |
2 | 3 | <% if(theme.share){ %> 4 | <%- partial('post/share', {scope: 'global'}) %> 5 | <% } %> 6 | -------------------------------------------------------------------------------- /themes/indigo/layout/_partial/archive.ejs: -------------------------------------------------------------------------------- 1 |
2 |
3 | 7 | <%- partial('post/title', { 8 | hasLink: true 9 | }) %> 10 | <% if(post.tags && post.tags.length){ %> 11 | 14 | <% } %> 15 |
16 |
-------------------------------------------------------------------------------- /themes/indigo/layout/_partial/loading.ejs: -------------------------------------------------------------------------------- 1 |
2 | -------------------------------------------------------------------------------- /themes/indigo/layout/_partial/paginator.ejs: -------------------------------------------------------------------------------- 1 | <% if (page.total > 1){ %> 2 | 10 | <% } %> -------------------------------------------------------------------------------- /themes/indigo/layout/_partial/plugins/baidu.ejs: -------------------------------------------------------------------------------- 1 | <% if (theme.baidu_tongji){ %> 2 | 3 | 4 | 5 | 6 | <% } %> 7 | 8 | <% if(theme.baidu_push){ %> 9 | 10 | 24 | 25 | <% } %> 26 | -------------------------------------------------------------------------------- /themes/indigo/layout/_partial/plugins/disqus.ejs: -------------------------------------------------------------------------------- 1 | <% if (theme.disqus_shortname){ %> 2 |
3 |
4 | 8 | 9 |
10 | <% } %> 11 | -------------------------------------------------------------------------------- /themes/indigo/layout/_partial/plugins/dynamic-title.ejs: -------------------------------------------------------------------------------- 1 | <% if (theme.title_change) { %> 2 | 18 | <% } %> 19 | -------------------------------------------------------------------------------- /themes/indigo/layout/_partial/plugins/gitment.ejs: -------------------------------------------------------------------------------- 1 | <% if (theme.gitment){ %> 2 |
3 |
4 | 5 | 6 | 17 |
18 | <% } %> 19 | -------------------------------------------------------------------------------- /themes/indigo/layout/_partial/plugins/google-analytics.ejs: -------------------------------------------------------------------------------- 1 | <% if (theme.google_analytics){ %> 2 | 3 | 8 | 9 | 10 | <% } %> 11 | -------------------------------------------------------------------------------- /themes/indigo/layout/_partial/plugins/mathjax.ejs: -------------------------------------------------------------------------------- 1 | <% if (theme.mathjax){ %> 2 | 3 | 4 | 20 | 21 | 22 | <% } %> 23 | -------------------------------------------------------------------------------- /themes/indigo/layout/_partial/plugins/page-visit.ejs: -------------------------------------------------------------------------------- 1 | <% if (theme.visit_counter) { %> 2 | 5 | <% } %> 6 | -------------------------------------------------------------------------------- /themes/indigo/layout/_partial/plugins/site-visit.ejs: -------------------------------------------------------------------------------- 1 | <% if (theme.visit_counter) { %> 2 |

3 | 6 | 9 |

10 | <% } %> 11 | -------------------------------------------------------------------------------- /themes/indigo/layout/_partial/plugins/tajs.ejs: -------------------------------------------------------------------------------- 1 | <% if (theme.tajs){ %> 2 | 3 | 4 | 5 | 6 | 7 | 8 | <% } %> 9 | -------------------------------------------------------------------------------- /themes/indigo/layout/_partial/plugins/uyan.ejs: -------------------------------------------------------------------------------- 1 | <% if (theme.uyan_uid){ %> 2 |
3 | 4 |
5 | 6 | 7 |
8 | <% } %> 9 | -------------------------------------------------------------------------------- /themes/indigo/layout/_partial/post/category.ejs: -------------------------------------------------------------------------------- 1 | <% if (post.categories && post.categories.length){ %> 2 | <%- list_categories(post.categories, { 3 | show_count: false, 4 | class: 'article-category', 5 | style: 'list' 6 | }) %> 7 | <% } %> 8 | 9 | -------------------------------------------------------------------------------- /themes/indigo/layout/_partial/post/comment.ejs: -------------------------------------------------------------------------------- 1 | <% if(post.comments){ %> 2 | 3 | <%- partial('../plugins/disqus') %> 4 | 5 | <%- partial('../plugins/uyan') %> 6 | 7 | <%- partial('../plugins/gitment') %> 8 | 9 | <%- partial('../plugins/valine') %> 10 | 11 | <%- partial('../plugins/hyper-comments') %> 12 | 13 | <%- partial('../plugins/gitalk') %> 14 | <%} %> 15 | -------------------------------------------------------------------------------- /themes/indigo/layout/_partial/post/copyright.ejs: -------------------------------------------------------------------------------- 1 |
2 | <% if(theme.postMessage || theme.show_last_updated) { %> 3 |
4 | <%- partial('updated') %> 5 | <% if(theme.postMessage) {%> 6 | <%- _.template(theme.postMessage)(locals) %> 7 | <% } %> 8 |
9 | <% } %> 10 | 16 |
17 | -------------------------------------------------------------------------------- /themes/indigo/layout/_partial/post/date.ejs: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /themes/indigo/layout/_partial/post/head-meta.ejs: -------------------------------------------------------------------------------- 1 | 4 | 5 | <% if (page.categories && page.categories.length){ %> 6 | <%- list_categories(page.categories, { 7 | show_count: false, 8 | class: 'article-category', 9 | style: 'list' 10 | }) %> 11 | <% } %> -------------------------------------------------------------------------------- /themes/indigo/layout/_partial/post/reward-btn.ejs: -------------------------------------------------------------------------------- 1 | <% if(page.reward){ %> 2 |
3 | 4 |
5 | <% } %> 6 | -------------------------------------------------------------------------------- /themes/indigo/layout/_partial/post/share-fab.ejs: -------------------------------------------------------------------------------- 1 | <% if(theme.share){ %> 2 |
3 | <%- partial('share', { scope: 'page' }) %> 4 | 5 | 6 | 7 |
8 | <% } %> 9 | -------------------------------------------------------------------------------- /themes/indigo/layout/_partial/post/tag.ejs: -------------------------------------------------------------------------------- 1 | <% if (post.tags && post.tags.length){ %> 2 | <%- list_tags(post.tags, { 3 | show_count: false, 4 | class: 'article-tag' 5 | }) %> 6 | <% } %> -------------------------------------------------------------------------------- /themes/indigo/layout/_partial/post/title.ejs: -------------------------------------------------------------------------------- 1 | <% 2 | post.title = post.title || 'No title'; 3 | %> 4 | 5 | <% if (post.link){ %> 6 |

7 | 8 |

9 | <% } else if (post.title){ %> 10 | <% if (hasLink){ %> 11 |

12 | <%= post.title %> 13 |

14 | <% } else { %> 15 |

16 | <%= post.title %> 17 |

18 | <% } %> 19 | <% } %> 20 | 21 | -------------------------------------------------------------------------------- /themes/indigo/layout/_partial/post/toc.ejs: -------------------------------------------------------------------------------- 1 | <% if(theme.toc){ 2 | var topic = toc(post.content, { 3 | class: 'post-toc', 4 | list_number: theme.toc.list_number 5 | }) 6 | if(topic) { 7 | %> 8 | 14 | <% } 15 | } %> 16 | -------------------------------------------------------------------------------- /themes/indigo/layout/_partial/post/updated.ejs: -------------------------------------------------------------------------------- 1 | <% if(theme.show_last_updated){ %> 2 | 3 | <%= __('post.last_updated') %> 4 |
5 | <%} %> 6 | -------------------------------------------------------------------------------- /themes/indigo/layout/_partial/script.ejs: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | <% if (theme.search){ %> 12 | <%- partial('search') %> 13 | 14 | <% } %> 15 | 16 | <%- partial('plugins/mathjax') %> 17 | 18 | <% if (theme.visit_counter) { %> 19 | 20 | <% } %> 21 | 22 | <%- partial('plugins/dynamic-title') %> 23 | -------------------------------------------------------------------------------- /themes/indigo/layout/_partial/search.ejs: -------------------------------------------------------------------------------- 1 | 2 |
3 |
    4 |
    5 | 18 | -------------------------------------------------------------------------------- /themes/indigo/layout/category.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('categories', { 2 | title: theme.categories_title + ': ' + page.category 3 | }) %> 4 | -------------------------------------------------------------------------------- /themes/indigo/layout/index.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('_partial/header', { 2 | title: config.title, 3 | hdClass: 'index-header' 4 | }) %> 5 |
    6 | 7 |
      8 | <% page.posts.each(function(post){ %> 9 |
    • 10 | <%- partial('_partial/index-item', { 11 | post: post, 12 | index: true 13 | }) %> 14 |
    • 15 | <% }) %> 16 |
    17 | 18 | <%- partial('_partial/paginator') %> 19 | 20 |
    21 | -------------------------------------------------------------------------------- /themes/indigo/layout/layout.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | <%- partial('_partial/head') %> 4 | 5 | <%- partial('_partial/loading') %> 6 | <%- partial('_partial/menu') %> 7 |
    8 | <%- body %> 9 | <%- partial('_partial/footer') %> 10 |
    11 | <%- partial('_partial/after-footer') %> 12 | <%- partial('_partial/script') %> 13 | 14 | 15 | -------------------------------------------------------------------------------- /themes/indigo/layout/post.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('_partial/header', { 2 | title: page.title, 3 | hdClass: 'post-header' 4 | }) %> 5 | <% 6 | page.reward = 'reward' in page ? (theme.reward && page.reward) : theme.reward 7 | %> 8 |
    9 | <%- partial('_partial/post', {post: page }) %> 10 |
    11 | -------------------------------------------------------------------------------- /themes/indigo/layout/tag.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('tags', { 2 | title: theme.tags_title + ': '+ page.tag 3 | }) %> 4 | -------------------------------------------------------------------------------- /themes/indigo/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hexo-theme-material-indigo", 3 | "version": "1.7.2", 4 | "description": "Material Design theme for Hexo.", 5 | "keywords": [ 6 | "hexo", 7 | "theme", 8 | "material design" 9 | ], 10 | "author": { 11 | "name": "Huang Yuhui", 12 | "email": "3083968068@qq.com" 13 | }, 14 | "license": "MIT", 15 | "repository": { 16 | "url": "git+https://github.com/YUbuntu0109", 17 | "type": "git" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /themes/indigo/source/css/_partial/gotop.less: -------------------------------------------------------------------------------- 1 | #gotop { 2 | position: fixed; 3 | right: 16px; 4 | bottom: 30px; 5 | z-index: 30; 6 | width: 56px; 7 | height: 56px; 8 | line-height: 56px; 9 | text-align: center; 10 | color: #fff; 11 | background: @accentColor; 12 | border-radius: 50%; 13 | opacity: 0; 14 | .boxShadow(); 15 | .transform(translateX(200%)); 16 | 17 | &.in { 18 | opacity: 1; 19 | .transform(none); 20 | } 21 | 22 | } 23 | 24 | @media screen and (max-width:760px) { 25 | #gotop { 26 | width: 40px; 27 | height: 40px; 28 | line-height: 40px; 29 | } 30 | 31 | } -------------------------------------------------------------------------------- /themes/indigo/source/css/fonts/fontawesome/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/css/fonts/fontawesome/FontAwesome.otf -------------------------------------------------------------------------------- /themes/indigo/source/css/fonts/fontawesome/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/css/fonts/fontawesome/fontawesome-webfont.eot -------------------------------------------------------------------------------- /themes/indigo/source/css/fonts/fontawesome/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/css/fonts/fontawesome/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /themes/indigo/source/css/fonts/fontawesome/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/css/fonts/fontawesome/fontawesome-webfont.woff -------------------------------------------------------------------------------- /themes/indigo/source/css/fonts/fontawesome/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/css/fonts/fontawesome/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /themes/indigo/source/css/fonts/roboto/Roboto-Bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/css/fonts/roboto/Roboto-Bold.eot -------------------------------------------------------------------------------- /themes/indigo/source/css/fonts/roboto/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/css/fonts/roboto/Roboto-Bold.ttf -------------------------------------------------------------------------------- /themes/indigo/source/css/fonts/roboto/Roboto-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/css/fonts/roboto/Roboto-Bold.woff -------------------------------------------------------------------------------- /themes/indigo/source/css/fonts/roboto/Roboto-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/css/fonts/roboto/Roboto-Bold.woff2 -------------------------------------------------------------------------------- /themes/indigo/source/css/fonts/roboto/Roboto-Light.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/css/fonts/roboto/Roboto-Light.eot -------------------------------------------------------------------------------- /themes/indigo/source/css/fonts/roboto/Roboto-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/css/fonts/roboto/Roboto-Light.ttf -------------------------------------------------------------------------------- /themes/indigo/source/css/fonts/roboto/Roboto-Light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/css/fonts/roboto/Roboto-Light.woff -------------------------------------------------------------------------------- /themes/indigo/source/css/fonts/roboto/Roboto-Light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/css/fonts/roboto/Roboto-Light.woff2 -------------------------------------------------------------------------------- /themes/indigo/source/css/fonts/roboto/Roboto-Medium.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/css/fonts/roboto/Roboto-Medium.eot -------------------------------------------------------------------------------- /themes/indigo/source/css/fonts/roboto/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/css/fonts/roboto/Roboto-Medium.ttf -------------------------------------------------------------------------------- /themes/indigo/source/css/fonts/roboto/Roboto-Medium.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/css/fonts/roboto/Roboto-Medium.woff -------------------------------------------------------------------------------- /themes/indigo/source/css/fonts/roboto/Roboto-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/css/fonts/roboto/Roboto-Medium.woff2 -------------------------------------------------------------------------------- /themes/indigo/source/css/fonts/roboto/Roboto-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/css/fonts/roboto/Roboto-Regular.eot -------------------------------------------------------------------------------- /themes/indigo/source/css/fonts/roboto/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/css/fonts/roboto/Roboto-Regular.ttf -------------------------------------------------------------------------------- /themes/indigo/source/css/fonts/roboto/Roboto-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/css/fonts/roboto/Roboto-Regular.woff -------------------------------------------------------------------------------- /themes/indigo/source/css/fonts/roboto/Roboto-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/css/fonts/roboto/Roboto-Regular.woff2 -------------------------------------------------------------------------------- /themes/indigo/source/css/fonts/roboto/Roboto-Thin.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/css/fonts/roboto/Roboto-Thin.eot -------------------------------------------------------------------------------- /themes/indigo/source/css/fonts/roboto/Roboto-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/css/fonts/roboto/Roboto-Thin.ttf -------------------------------------------------------------------------------- /themes/indigo/source/css/fonts/roboto/Roboto-Thin.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/css/fonts/roboto/Roboto-Thin.woff -------------------------------------------------------------------------------- /themes/indigo/source/css/fonts/roboto/Roboto-Thin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/css/fonts/roboto/Roboto-Thin.woff2 -------------------------------------------------------------------------------- /themes/indigo/source/img/Wechat_appreciates.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/img/Wechat_appreciates.png -------------------------------------------------------------------------------- /themes/indigo/source/img/brand.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/img/brand.jpg -------------------------------------------------------------------------------- /themes/indigo/source/img/cc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/img/cc.png -------------------------------------------------------------------------------- /themes/indigo/source/img/img-err.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/img/img-err.png -------------------------------------------------------------------------------- /themes/indigo/source/img/img-loading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/img/img-loading.png -------------------------------------------------------------------------------- /themes/indigo/source/img/my-portrait.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/img/my-portrait.jpg -------------------------------------------------------------------------------- /themes/indigo/source/img/portrait.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogTech/blog/15ca1c3f3f123091e555d506b50776b2cccc4a33/themes/indigo/source/img/portrait.jpg --------------------------------------------------------------------------------