<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Dong</title>
    <description>“日事日毕，日清日高”</description>
    <link>https://hdd2803.github.io/</link>
    <atom:link href="https://hdd2803.github.io/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Thu, 19 Apr 2018 01:04:20 +0000</pubDate>
    <lastBuildDate>Thu, 19 Apr 2018 01:04:20 +0000</lastBuildDate>
    <generator>Jekyll v3.7.3</generator>
    
      <item>
        <title>Spring注解汇总</title>
        <description>&lt;h3 id=&quot;一元注解&quot;&gt;一、元注解&lt;/h3&gt;
&lt;p&gt;1、@Documented：表示含有此注解的注解应该被Javadoc工具记录，默认注解是不记录的。&lt;/p&gt;

&lt;p&gt;2、@Inherited：表示含有此注解的注解可以被子类继承，只能用在类上。&lt;/p&gt;

&lt;p&gt;3、@Retention(RUNTIME)：表示含有此注解的注解会保留到哪个。 例如：&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;SOURCE–只在源代码级别保留，编译时就会被忽略。&lt;/li&gt;
  &lt;li&gt;CLASS–编译时被保留，在class文件中存在，但JVM将会忽略。&lt;/li&gt;
  &lt;li&gt;RUNTIME–将被JVM保留，所以他们能在运行时被JVM或其他使用反射机制的代码所读取和使用。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;4、@Target({TYPE, METHOD, FIELD, PARAMETER})：表示含有此注解的注解使用范围。
&lt;a href=&quot;/images/posts/JavaNote/SpringAnnotation/1.png&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&quot;二bean类注解&quot;&gt;二、Bean类注解&lt;/h3&gt;
&lt;p&gt;1、@Component：将类标记为一个组件，以Bean的形式注入到Spring容器中。相当于xml配置中的&lt;code class=&quot;highlighter-rouge&quot;&gt;&amp;lt;bean id=&quot;&quot; class=&quot;&quot;/&amp;gt;&lt;/code&gt;。bean的ID默认为将类名第一个字母变为小写的字符串。&lt;/p&gt;

&lt;p&gt;2、@ComponentScan：会默认扫描与配置类相同的包，将扫描到的@Component类自动注入到Spring容器中，免去写@Bean方法。&lt;/p&gt;

&lt;p&gt;3、@Autowired：为属性或方法的形参自动注入bean，默认按类型装配，属于Spring的注解。&lt;/p&gt;

&lt;p&gt;4、@Resource：为属性或方法的形参自动注入bean，默认按名称装配，若按名称找不到，则切换按类型装配，属于J2EE的注解。也可以写在类上，表示这是一个bean，而@Autowired不能。&lt;/p&gt;

&lt;p&gt;5、@Bean：标记此方法返回一个bean，一般用在@Configuration类中。bean的ID默认和带有@Bean注解的方法名是一样的。&lt;/p&gt;

&lt;p&gt;6、@Configuration：标记此类为一个配置类，自动将类中的@Bean下的类注入到Spring容器中。&lt;/p&gt;

&lt;p&gt;7、@Controller：声明一个controller类bean。（注入service）&lt;/p&gt;

&lt;p&gt;8、@Service：声明一个service类bean。（注入dao）&lt;/p&gt;

&lt;p&gt;9、@Repository：声明一个dao类bean。（实现数据访问，常与Hibernate使用）&lt;/p&gt;

&lt;p&gt;10、@ConditionOnMissingBean：当bean不存在时，才创建bean，常放在@Bean下面。&lt;/p&gt;

&lt;p&gt;11、@Conditional（xxx.class）：指定创建bean的条件类，若条件类的matches()返回true则创建此bean。&lt;/p&gt;

&lt;p&gt;12、@Primary：指定那个bean为子类中首选的bean。&lt;/p&gt;

&lt;p&gt;13、@Qualifier（xxx）：指定bean的别名。&lt;/p&gt;

&lt;p&gt;14、@Scope（xxx）：指定bean的作用域。一共有单例、原型、会话、请求四种作用域，例
如：@Scope(ConfigurableBeanFactory.SCOPE_SINGLETON)。&lt;/p&gt;

&lt;p&gt;15、@Mapper：使Mapper类接口与Mapper.xml文件相互映射，实现数据访问功能。例如：WallMapper.java接口和WallMapper.xml相对应，从而实现里面的数据访问方法。（实现数据访问，常与Mybatis使用）&lt;/p&gt;

&lt;p&gt;16、@MapperScan（xxx）：指定扫描Mapper类接口的包。例如：@MapperScan（”com.dong.mapper”）。&lt;/p&gt;

&lt;p&gt;17、@Valid：验证后面的形参是否满足校验类注解的要求。通常用在形参为POJO的对象上。&lt;/p&gt;

&lt;p&gt;18、@PathVariable：将URL中占位符参数绑定到控制器处理方法的形参中。例如：URL中的/user/{xxx}通过@PathVariable(“xxx”) 绑定到操作方法的形参中。&lt;/p&gt;

&lt;p&gt;19、@Transactional：声明方法或类中的方法以事务的方式运行。&lt;/p&gt;

&lt;p&gt;20、@EnableTransactionManagement：开启类以事务方式运行其中的方法。&lt;/p&gt;

&lt;h3 id=&quot;三请求类注解&quot;&gt;三、请求类注解&lt;/h3&gt;
&lt;p&gt;1、@EnableWebMVC：启用MVC。&lt;/p&gt;

&lt;p&gt;2、@RequestParam：指定参数的一些属性，比如required（是否必须）、value（对应请求体中的参数）、defaultValue（默认值）。例如：&lt;/p&gt;
&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;@RequestParam(value = &quot;age&quot;, required = true, defaultValue = &quot;23&quot;) String userAge。
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;3、@RequestMapping（xxx）：指定访问的路径，可用在方法和类上。可以限制路径、请求类型、接收参数、接收请求头，例如：&lt;/p&gt;
&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;@RequestMapping(value=&quot;/login&quot;, method=RequestMethod.POST, params=&quot;name&quot;, headers=&quot;Content-Type:text/html;charset=UTF-8&quot;)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;4、@GetMapping（xxx）：指定接受GET请求及其请求路径。&lt;/p&gt;

&lt;p&gt;5、@POSTMapping（xxx）：指定接受POST请求及其请求路径。&lt;/p&gt;

&lt;p&gt;6、@RequestBody：用来解析content-type不是application/x-www-form-urlcoded类型的请求内容，并自动编码为指定的形参类。&lt;/p&gt;

&lt;p&gt;7、@ResponseBody：用于将Controller的方法返回的对象，根据HTTP Request Header的Accept的内容，通过适当的HttpMessageConverter转换为指定格式后，写入到Response对象的body数据区。使用时，返回的数据不是html标签的页面，而是其他某种格式的数据时（如json、xml等）使用。&lt;/p&gt;

&lt;p&gt;8、@RequestHeader：可将请求头中的属性值绑定到处理方法的形参中。&lt;/p&gt;

&lt;p&gt;9、@CookieValue：获取cookie值，有value、required、defaultValue三个参数。&lt;/p&gt;

&lt;h3 id=&quot;四资源类注解&quot;&gt;四、资源类注解&lt;/h3&gt;
&lt;p&gt;1、@Import（xxx.class）：指定需要导入的类。&lt;/p&gt;

&lt;p&gt;2、@ImportResource（xxx）：指定需要导入的文件。&lt;/p&gt;

&lt;p&gt;3、@Profile（xxx）：指定使用哪个配置文件。&lt;/p&gt;

&lt;p&gt;4、@ActiveProfile（xxx）：指定运行时需要激活哪一个配置文件。&lt;/p&gt;

&lt;p&gt;5、@PropertySource（xxx）：隔离加载配置文件。例如：&lt;/p&gt;
&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;@PropertySource(&quot;classpath:/com/sound/app/properties&quot;)。
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;五辅助类注解&quot;&gt;五、辅助类注解&lt;/h3&gt;
&lt;p&gt;1、@Override：指定此方法被子类重写。加上此注解可以确认方法是否写对，若写错会报错。&lt;/p&gt;

&lt;p&gt;2、@SuppressWarnings(xxx)：屏蔽某些编译时的警告信息。例如：&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;@SuppressWarnings(“unused”) 屏蔽方法或对象从未使用的警告。&lt;/li&gt;
  &lt;li&gt;@SuppressWarnings(“rawtypes”) 屏蔽对象未使用泛型指定类型的警告。&lt;/li&gt;
  &lt;li&gt;@SuppressWarnings(“deprecation”)屏蔽使用了已过时或者不推荐使用的类或方法时的警告。&lt;/li&gt;
  &lt;li&gt;@SuppressWarnings(“unchecked”) 屏蔽未执行类型转换检查的警告。&lt;/li&gt;
  &lt;li&gt;@SuppressWarnings(“fallthrough”) 屏蔽当Switch程序块直接通往下一种情况而没有Break时的警告。&lt;/li&gt;
  &lt;li&gt;@SuppressWarnings(“path”) 屏蔽在类、源文件等路径中有不存在的路径时的警告。&lt;/li&gt;
  &lt;li&gt;@SuppressWarnings(“serial”) 屏蔽当在可序列化的类上缺少serialVersionUID定义时的警告。&lt;/li&gt;
  &lt;li&gt;@SuppressWarnings(“all”) 屏蔽所有情况的警告。&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;六测试类注解&quot;&gt;六、测试类注解&lt;/h3&gt;
&lt;p&gt;1、@RunWith（xxx.class）：指定类运行时需要依赖的测试类。&lt;/p&gt;

&lt;p&gt;2、@ContextConfiguration（classes=xxx.class）：指定需要加载的配置类。&lt;/p&gt;

&lt;p&gt;3、@Test：标记测试的方法。&lt;/p&gt;

&lt;h3 id=&quot;七切面类注解&quot;&gt;七、切面类注解&lt;/h3&gt;
&lt;p&gt;1、@AspectJ：标记此类为切面。&lt;/p&gt;

&lt;p&gt;2、@Pointcut：声明切点方法。&lt;/p&gt;

&lt;p&gt;3、@Before：通过方法会在目标方法调用之前执行。&lt;/p&gt;

&lt;p&gt;4、@After：通知方法会在目标方法调用之后执行。&lt;/p&gt;

&lt;p&gt;5、@AfterThrowing：通知方法会在目标方法抛出异常后调用。&lt;/p&gt;

&lt;p&gt;6、@AfterReturning：通知方法会在目标方法返回后调用。&lt;/p&gt;

&lt;p&gt;7、@Around：通知方法会将目标方法封装起来。&lt;/p&gt;

&lt;p&gt;8、@EnableAspectJAutoProxy：启用AspectJ自动代理。&lt;/p&gt;

&lt;h3 id=&quot;八校验类注解&quot;&gt;八、校验类注解&lt;/h3&gt;
&lt;p&gt;1、空检查&lt;/p&gt;

&lt;p&gt;1）@Null：验证对象是否为null。&lt;/p&gt;

&lt;p&gt;2）@NotNull：验证对象是否不为null, 无法查检长度为0的字符串。&lt;/p&gt;

&lt;p&gt;3）@NotBlank：检查约束字符串是不是Null还有被Trim的长度是否大于0,只对字符串,且会去掉前后空格。&lt;/p&gt;

&lt;p&gt;4）@NotEmpty：检查约束元素是否为NULL或者是EMPTY。&lt;/p&gt;

&lt;p&gt;2、Booelan检查&lt;/p&gt;

&lt;p&gt;1）@AssertTrue：验证 Boolean 对象是否为 true。&lt;/p&gt;

&lt;p&gt;2）@AssertFalse：验证 Boolean 对象是否为 false。&lt;/p&gt;

&lt;p&gt;3、长度检查&lt;/p&gt;

&lt;p&gt;1）@Size(min=, max=)：验证对象（Array,Collection,Map,String）长度是否在给定的范围之内。&lt;/p&gt;

&lt;p&gt;2）@Length(min=, max=)：验证string的长度是否在给定范围之内。&lt;/p&gt;

&lt;p&gt;4、日期检查&lt;/p&gt;

&lt;p&gt;1）@Past：验证 Date 和 Calendar 对象是否在当前时间之前。&lt;/p&gt;

&lt;p&gt;2）@Future：验证 Date 和 Calendar 对象是否在当前时间之后。&lt;/p&gt;

&lt;p&gt;3）@Pattern：验证 String 对象是否符合正则表达式的规则。&lt;/p&gt;

&lt;p&gt;5、数值检查。建议使用在Stirng,Integer类型，不建议使用在int类型上，因为表单值为”
“时无法转换为int，但可以转换为Stirng为”“，Integer为null。&lt;/p&gt;

&lt;p&gt;1）@Min：验证 Number 和 String 对象是否大等于指定的值 。&lt;/p&gt;

&lt;p&gt;2）@Max：验证 Number 和 String 对象是否小等于指定的值 。&lt;/p&gt;

&lt;p&gt;3）@DecimalMax：被标注的值必须不大于约束中指定的最大值.这个约束的参数是一个通过
BigDecimal定义的最大值的字符串表示。小数存在精度。&lt;/p&gt;

&lt;p&gt;4）@DecimalMin：被标注的值必须不小于约束中指定的最小值.这个约束的参数是一个通过
BigDecimal定义的最小值的字符串表示。小数存在精度。&lt;/p&gt;

&lt;p&gt;5）@Digits：验证 Number 和 String 的构成是否合法  。&lt;/p&gt;

&lt;p&gt;6）@Digits(integer=,fraction=)验证字符串是否是符合指定格式的数字，interger指定整数精度，fraction指定小数精度。&lt;/p&gt;

&lt;p&gt;7）@Range(min=, max=) 检查数字是否介于min和max之间。例如：&lt;/p&gt;
&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;@Range(min=10000,max=50000,message=&quot;range.bean.wage&quot;)private BigDecimal wage;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;8）@Valid：递归的对关联对象进行校验，如果关联对象是个集合或者数组，那么对其中的元素进行递归校验；如果是一个map，则对其中的值部分进行校验。(是否进行递归验证)&lt;/p&gt;

&lt;p&gt;9）@CreditCardNumber：信用卡验证。&lt;/p&gt;

&lt;p&gt;10）@Email：验证是否是邮件地址，如果为null,不进行验证，算通过验证。&lt;/p&gt;

&lt;p&gt;11）@ScriptAssert(lang= , script=, alias=)：验证调用的脚步。&lt;/p&gt;

&lt;p&gt;12）@URL(protocol=, host=, port=, regexp=, flags=)：验证URL。&lt;/p&gt;

&lt;h4 id=&quot;备注&quot;&gt;备注：&lt;/h4&gt;
&lt;p&gt;1、xxx.class指某个类名。&lt;/p&gt;

&lt;p&gt;2、xxx指某个字符串。&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
转载请注明：&lt;a href=&quot;http://hdd2803.github.io&quot;&gt;Dong的博客&lt;/a&gt; » &lt;a href=&quot;http://hdd2803.github.io/2017/11/JavaNote_Spring注解汇总/&quot;&gt;Spring注解汇总&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Fri, 10 Nov 2017 00:00:00 +0000</pubDate>
        <link>https://hdd2803.github.io/2017/11/JavaNote_Spring%E6%B3%A8%E8%A7%A3%E6%B1%87%E6%80%BB/</link>
        <guid isPermaLink="true">https://hdd2803.github.io/2017/11/JavaNote_Spring%E6%B3%A8%E8%A7%A3%E6%B1%87%E6%80%BB/</guid>
        
        <category>JavaNote</category>
        
        
      </item>
    
      <item>
        <title>Jekyll搭建个人博客</title>
        <description>&lt;p&gt;　　一直想有一个自己的博客，用来发表或者管理自己的文章，这几天在自己的折腾下，终于在Windows和MacOS下均搭建好了Jekyll的博客环境。搭建的过程也不是一帆风顺，尤其是在Windows系统下，所以略有所感悟，记录下来以供分享。&lt;/p&gt;

&lt;h3 id=&quot;一windows系统下&quot;&gt;一、Windows系统下&lt;/h3&gt;
&lt;h4 id=&quot;1安装ruby&quot;&gt;1、安装Ruby&lt;/h4&gt;
&lt;p&gt;1）去&lt;a href=&quot;https://rubyinstaller.org/downloads/&quot;&gt;Ruby官网&lt;/a&gt;下载适合自己系统的Ruby版本，以及对应Ruby的Development Kits。比如：&lt;a href=&quot;https://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.3.3-x64.exe&quot;&gt;Ruby 2.3.3 (x64)&lt;/a&gt;版本需要对应下载的Development Kits：&lt;a href=&quot;https://dl.bintray.com/oneclick/rubyinstaller/DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe&quot;&gt;DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe&lt;/a&gt;。记住一定要按照官网的要求，下载对应的两个软件。注意一下，Ruby 2.4.0及以上使用的开发套件是MSYS2 toolkit。&lt;/p&gt;

&lt;p&gt;2）双击下载的Ruby软件进行安装，安装路径中切记不要带有空格。比如&lt;code class=&quot;highlighter-rouge&quot;&gt;C:\Program Files\Ruby193&lt;/code&gt;就是错误的路径，而&lt;code class=&quot;highlighter-rouge&quot;&gt;D:\Program\Ruby23-x64&lt;/code&gt;是正确路径。&lt;/p&gt;

&lt;p&gt;3）安装完成后，双击下载的Development Kits提取文件，选择的存放路径也一定不要带有空格，否则会遇到未知错误。比如：&lt;code class=&quot;highlighter-rouge&quot;&gt;D:\Program\DevKit&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;4）打开命令窗口cd到Development Kits的存放路径。运行&lt;code class=&quot;highlighter-rouge&quot;&gt;ruby dk.rb init&lt;/code&gt;，在Development Kits目录下会生产&lt;code class=&quot;highlighter-rouge&quot;&gt;config.yml&lt;/code&gt;文件。打开此文件，在其中输入Ruby的安装路径，如：&lt;code class=&quot;highlighter-rouge&quot;&gt;- D:/Program/Ruby23-x64&lt;/code&gt;。
&lt;img src=&quot;/images/posts/WebNote/Jekyll/1.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;5）(可选)在命令窗口输入&lt;code class=&quot;highlighter-rouge&quot;&gt;ruby dk.rb review&lt;/code&gt;，可以查看第四步中输入的路径是否正确。&lt;/p&gt;

&lt;p&gt;6）最后再输入&lt;code class=&quot;highlighter-rouge&quot;&gt;ruby dk.rb install&lt;/code&gt;来增强Ruby的功能。成功后，可在路径&lt;code class=&quot;highlighter-rouge&quot;&gt;&amp;lt;RUBY_INSTALL_DIR&amp;gt;\lib\ruby\site_ruby&lt;/code&gt;下，可以看到&lt;code class=&quot;highlighter-rouge&quot;&gt;devkit.rb&lt;/code&gt;文件。&lt;/p&gt;

&lt;p&gt;7）若要测试DevKit是否在Ruby环境中正确安装，可以输入如下几个命令：&lt;/p&gt;
&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;- gem install json --platform=ruby
- ruby -rubygems -e &quot;require 'json'; puts JSON.load('[42]').inspect&quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;如果没有报错且返回结果42，则安装成功。步骤如下图所示：
&lt;img src=&quot;/images/posts/WebNote/Jekyll/2.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;2安装jekyll并启动&quot;&gt;2、安装Jekyll并启动&lt;/h4&gt;
&lt;p&gt;1）在命令窗口中输入如下命令来安装Jekyll：
&lt;code class=&quot;highlighter-rouge&quot;&gt;gem install jekyll&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;2）在电脑中创建博客存放文件夹（如：&lt;code class=&quot;highlighter-rouge&quot;&gt;E:\StudyDocument\Blog&lt;/code&gt;），cd进入此路径&lt;/p&gt;
&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;e:
cd E:\StudyDocument\Blog
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;3）获取文件&lt;code class=&quot;highlighter-rouge&quot;&gt;Gemfile.lock&lt;/code&gt;需要的bundler：
&lt;code class=&quot;highlighter-rouge&quot;&gt;gem install bundler&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;4）安装bundler：
&lt;code class=&quot;highlighter-rouge&quot;&gt;bundle install&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;5）启动jekyll：
&lt;code class=&quot;highlighter-rouge&quot;&gt;jekyll server&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;6）若安装过程中没有报错，则启动成功。在浏览器地址栏中输入&lt;code class=&quot;highlighter-rouge&quot;&gt;http://127.0.0.1:4000/&lt;/code&gt;，即可查看博客。&lt;/p&gt;

&lt;h4 id=&quot;3部署到github&quot;&gt;3、部署到GitHub&lt;/h4&gt;
&lt;p&gt;1）在你的GitHub中创建一个和你用户名一致的仓库，如我创建的是：&lt;code class=&quot;highlighter-rouge&quot;&gt;hdd2803.github.io&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;2）把此仓库克隆到本地，然后把你刚才创建的Blog文件夹中全部文件复制到仓库中，然后同步到GitHub网站上去。同步方式可以选择Git命令或者GitHub Desktop客户端。&lt;/p&gt;

&lt;p&gt;3）到GitHub网站，选择你的博客仓库，选择Setting→GitHub Page开启网站服务。&lt;/p&gt;

&lt;p&gt;4）在浏览器地址栏输入你的&lt;code class=&quot;highlighter-rouge&quot;&gt;username.github.io&lt;/code&gt;，即可访问你的博客。&lt;/p&gt;

&lt;h4 id=&quot;4更换主题&quot;&gt;4、更换主题&lt;/h4&gt;
&lt;p&gt;1）从GitHub上下载别人jekyll主题的仓库文件，解压到本地。&lt;/p&gt;

&lt;p&gt;2）cd到解压的文件夹。&lt;/p&gt;

&lt;p&gt;3）输入如下命令来启动博客：&lt;/p&gt;
&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;gem install bundler
bundle install
jekyll server
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;4）若过程中没有报错，则在浏览器地址栏中输入&lt;code class=&quot;highlighter-rouge&quot;&gt;http://127.0.0.1:4000/&lt;/code&gt;即可查看博客。&lt;/p&gt;

&lt;p&gt;5）切记：将博客中别人的信息替换成自己的！！&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;（1）将博客文件夹&lt;code class=&quot;highlighter-rouge&quot;&gt;_posts/&lt;/code&gt;目录下的文件全部删除。&lt;/li&gt;
  &lt;li&gt;（2）修改&lt;code class=&quot;highlighter-rouge&quot;&gt; _config.yml&lt;/code&gt;中的内容为自己的。&lt;/li&gt;
  &lt;li&gt;（3）修改&lt;code class=&quot;highlighter-rouge&quot;&gt;about.md&lt;/code&gt;和&lt;code class=&quot;highlighter-rouge&quot;&gt;README.md&lt;/code&gt;文件的内容。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;6）若出现bundler版本不相符的情况，有如下两个方法：&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;（1）修改&lt;code class=&quot;highlighter-rouge&quot;&gt;Gemfile.lock&lt;/code&gt;中对应的bundler版本。&lt;/li&gt;
  &lt;li&gt;（2）对版本不相符的bundler，执行如下命令：
  &lt;code class=&quot;highlighter-rouge&quot;&gt;bundle clean —force&lt;/code&gt;或者&lt;code class=&quot;highlighter-rouge&quot;&gt;bundle update xxx&lt;/code&gt;。
&lt;img src=&quot;/images/posts/WebNote/Jekyll/3.png&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;二macos系统下&quot;&gt;二、MacOS系统下&lt;/h3&gt;
&lt;p&gt;　　MacOS系统下只有安装插件和Windows系统的步骤不同，即第一步不相同，从第二步到后面均一样，就不赘述了。接下来重点讲一下安装HomeBrew、Xcode、Ruby的过程。&lt;/p&gt;

&lt;h4 id=&quot;1安装homebrew&quot;&gt;1、安装HomeBrew&lt;/h4&gt;
&lt;p&gt;1）在终端输入如下命令来安装HomeBrew：
&lt;code class=&quot;highlighter-rouge&quot;&gt;ruby -e &quot;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)&quot;&lt;/code&gt;`&lt;/p&gt;

&lt;p&gt;2）HomeBrew的常用命令&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;（1）安装工具：&lt;code class=&quot;highlighter-rouge&quot;&gt;brew install xxx&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;（2）查看安装的工具：&lt;code class=&quot;highlighter-rouge&quot;&gt;brew list —versions&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;（3）更新brew：&lt;code class=&quot;highlighter-rouge&quot;&gt;brew update&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;（4）搜索工具：&lt;code class=&quot;highlighter-rouge&quot;&gt;brew search xxx&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;（5）卸载工具：&lt;code class=&quot;highlighter-rouge&quot;&gt;brew uninstall xxx&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;（6）查看brew版本：&lt;code class=&quot;highlighter-rouge&quot;&gt;brew -v&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;2安装xcode及xcode-command-line-tools&quot;&gt;2、安装Xcode及Xcode command line tools&lt;/h4&gt;
&lt;p&gt;1）通过App Store安装Xcode。&lt;/p&gt;

&lt;p&gt;2）在Xcode中选择Preferences→Downloads→Components来安装Xcode command line tools。&lt;/p&gt;

&lt;h4 id=&quot;3安装ruby&quot;&gt;3、安装Ruby&lt;/h4&gt;
&lt;p&gt;1）在终端输入来安装Ruby：
&lt;code class=&quot;highlighter-rouge&quot;&gt;brew install ruby&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;2）常用命令&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;（1）显示ruby版本：&lt;code class=&quot;highlighter-rouge&quot;&gt;ruby -v&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;（2）显示ruby安装位置：&lt;code class=&quot;highlighter-rouge&quot;&gt;whick ruby&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;3）使用brew安装ruby成功后，若输入命令&lt;code class=&quot;highlighter-rouge&quot;&gt;ruby -v&lt;/code&gt;显示的是系统Ruby的版本，则需要在在系统目录下修改.profile文件（文件地址如：&lt;code class=&quot;highlighter-rouge&quot;&gt;/Users/Dong/.profile &lt;/code&gt;），来切换Ruby。输入语句如下：&lt;/p&gt;
&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;# for brew install
export PATH=/usr/local/bin:$PATH
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;仅当输入命令&lt;code class=&quot;highlighter-rouge&quot;&gt;whick ruby&lt;/code&gt;后显示的是&lt;code class=&quot;highlighter-rouge&quot;&gt;/usr/local/bin/ruby&lt;/code&gt;，则在末尾添加以上语句有用。&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
以上就是用Jekyll搭建个人博客的全过程，如有不正之处，请多多指教！&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
转载请注明：&lt;a href=&quot;http://hdd2803.github.io&quot;&gt;Dong的博客&lt;/a&gt; » &lt;a href=&quot;http://hdd2803.github.io/2017/11/WebNote_Jekyll/&quot;&gt;Jekyll搭建个人博客&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Tue, 07 Nov 2017 00:00:00 +0000</pubDate>
        <link>https://hdd2803.github.io/2017/11/WebNote_Jekyll/</link>
        <guid isPermaLink="true">https://hdd2803.github.io/2017/11/WebNote_Jekyll/</guid>
        
        <category>WebNote</category>
        
        
      </item>
    
      <item>
        <title>Sublime Text3的Markdown配置</title>
        <description>&lt;p&gt;　　Sublime Text3是一款及其强大的软件，其特点在于丰富的插件，可以扩展各种功能，可谓“只有你想不到，没有它做不到”。通过一段时间的使用后，发现用它来编写Markdown文本，很是方便。但感觉网上的教程五花八门，没有系统性的介绍在Markdown下的配置，现把自己的配置历程，做一下总结。&lt;/p&gt;

&lt;h3 id=&quot;一macos下的配置&quot;&gt;一、MacOS下的配置&lt;/h3&gt;

&lt;h4 id=&quot;1注册sublime-text3&quot;&gt;1、注册Sublime Text3&lt;/h4&gt;
&lt;p&gt;点击Help→Enter License，输入找到的可用注册码，即可注册成功。
可用注册码（2017.11.05）：&lt;/p&gt;
&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;—– BEGIN LICENSE —–
Morin
2 User License
EA7E-924018
184B9FDB 02612F57 33B15E69 BBC567F1
E20FA231 C077EA95 CC14B48B 71DD2536
E209843A 94D13692 03AC2FAA 895B688D
B8F4A0E6 FDC15964 A5573FD7 6405ED1E
6F205469 7F34C69D 3D36E475 52AF6A5B
DFD15C31 85BA64EF F95DD592 4B42C314
AC655762 C0F0F5A1 018824E4 17C56E16
AC5AA84C 034F7A53 2C9A801B 8AED239F
—— END LICENSE ——
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h4 id=&quot;2安装package-control&quot;&gt;2、安装Package Control&lt;/h4&gt;
&lt;p&gt;1）打开Sublime Text3，按下组合键Ctrl + `，调出控制台，在控制台输入如下命令后回车：&lt;/p&gt;
&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;import urllib2,os; pf='Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler( ))); open( os.path.join( ipp, pf), 'wb' ).write( urllib2.urlopen( 'http://sublime.wbond.net/'; +pf.replace( ' ','%20' )).read()); print( 'Please restart Sublime Text to finish installation')
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;2）安装成功后，按下组合件Shift + Command + P，即可打开Package Control。或者通过Tools→Command Palette来打开，如下图所示。
&lt;img src=&quot;/images/posts/WebNote/SublimeText/1.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;3安装markdown-preview&quot;&gt;3、安装Markdown Preview&lt;/h4&gt;
&lt;p&gt;1）打开Package Control，输入“PCIP”后点击回车，进入安装插件的页面。&lt;/p&gt;

&lt;p&gt;2）输入“Markdown Preview”后，选择此插件进行安装。&lt;/p&gt;

&lt;h4 id=&quot;4安装markdown-editing&quot;&gt;4、安装Markdown Editing&lt;/h4&gt;
&lt;p&gt;1）打开Package Control，输入“PCIP”后点击回车，进入安装插件的页面。&lt;/p&gt;

&lt;p&gt;2）输入“Markdown Editing”后，选择此插件进行安装。&lt;/p&gt;

&lt;h4 id=&quot;5设置markdown浏览器中查看快捷键&quot;&gt;5、设置Markdown浏览器中查看快捷键&lt;/h4&gt;
&lt;p&gt;1）选择Sublime Text→Perferences→Key Bindings，打开如下页面。
&lt;img src=&quot;/images/posts/WebNote/SublimeText/2.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;2）在右侧的User设置中输入如下代码，设置快捷键为Command + R，当然可以随自己喜好设置。&lt;/p&gt;
&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;[
    { &quot;keys&quot;: [&quot;command+r&quot;], &quot;command&quot;: &quot;markdown_preview&quot;, &quot;args&quot;: {&quot;target&quot;: &quot;browser&quot;, &quot;parser&quot;:&quot;markdown&quot;} }
]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h4 id=&quot;6设置浏览器自动刷新功能&quot;&gt;6、设置浏览器自动刷新功能&lt;/h4&gt;
&lt;p&gt;1）选择Sublime Text→Perferences→Package Settings→Markdown Preview→Setting-User，打开如下页面。
&lt;img src=&quot;/images/posts/WebNote/SublimeText/3.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;2）在页面中输入如下代码。&lt;/p&gt;
&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{
    &quot;enable_autoreload&quot;: true
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;3）打开Package Control，输入“PCIP”后点击回车，进入安装插件的页面。&lt;/p&gt;

&lt;p&gt;4）输入“LiveReload”后，选择此插件进行安装，重启Sublime Text3。&lt;/p&gt;

&lt;p&gt;5）在每次打开.md格式文件后，打开Package Control，先输入&lt;code class=&quot;highlighter-rouge&quot;&gt;LiveReload: Enable/disable plug-ins&lt;/code&gt;回车，然后选择&lt;code class=&quot;highlighter-rouge&quot;&gt;Simple Reload with delay (400ms)&lt;/code&gt;后点击回车，即可尽情的编辑Markdown文件了。每次保存文件后，就会在浏览器打开的页面中自动刷新。&lt;/p&gt;

&lt;p&gt;6）对于一些文件需要调整到Markdown模式下编辑，则点击Sublime Text的右下角，选择MarkdownEditing→Markdown，如下图所示。
&lt;img src=&quot;/images/posts/WebNote/SublimeText/4.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;7）个人不建议使用MarkdownLivePreview来进行双面浏览显示，因为它显示的不全面，有些细节无法反映。&lt;/p&gt;

&lt;h4 id=&quot;7设置自动保存功能可选&quot;&gt;7、设置自动保存功能（可选）&lt;/h4&gt;
&lt;p&gt;1）打开Package Control，输入“PCIP”后点击回车，进入安装插件的页面。&lt;/p&gt;

&lt;p&gt;2）输入“Auto-save”后，选择此插件进行安装。&lt;/p&gt;

&lt;p&gt;3）每次打开.md格式文件后，打开Package Control，输入“current file only”后点击回车，即打开了自动保存功能。&lt;/p&gt;

&lt;p&gt;4）若需要设置保存的间隔，则选择Sublime Text→Perferences→Package Settings→Auto-save，打开Setting-Default和Setting-User，如下所示。
&lt;img src=&quot;/images/posts/WebNote/SublimeText/5.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;5）将Settin-Default中的内容复制到Setting-User，并修改如下设置：
&lt;code class=&quot;highlighter-rouge&quot;&gt;&quot;auto_save_delay_in_seconds&quot;: 1&lt;/code&gt;
即可设置自己的保存间隔。&lt;/p&gt;

&lt;h4 id=&quot;8删除多余的插件可选&quot;&gt;8、删除多余的插件（可选）&lt;/h4&gt;
&lt;p&gt;1）打开Package Control，输入“PCRP”后点击回车，进入删除插件的页面。&lt;/p&gt;

&lt;p&gt;2）选择你不需要的插件回车，即可删除。&lt;/p&gt;

&lt;h4 id=&quot;9关闭文件记忆功能可选&quot;&gt;9、关闭文件记忆功能（可选）&lt;/h4&gt;
&lt;p&gt;1）选择Sublime Text→Perferences→Settings，打开如下页面。
&lt;img src=&quot;/images/posts/WebNote/SublimeText/6.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;2）在右侧的User设置中输入如下代码，设置快捷键为Command + R，当然可以随自己喜好设置。&lt;/p&gt;
&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{
     &quot;hot_exit&quot;: false,
     &quot;remember_open_files&quot;: false
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h4 id=&quot;10介绍几个实用功能&quot;&gt;10、介绍几个实用功能&lt;/h4&gt;
&lt;p&gt;1）SideBarEnhancements：侧栏右键功能增强。&lt;/p&gt;

&lt;p&gt;2）Theme – Soda：完美的编码主题，用过的都说好。&lt;/p&gt;

&lt;p&gt;3）GBK to UTF8：将文件编码从GBK转换成UTF8，菜单（Sublime Text）里面找。&lt;/p&gt;

&lt;p&gt;4）ZenCoding：前端开发方面的插件。安装后可直接使用，Tab键触发，Alt+Shift+W是个代码机器。&lt;/p&gt;

&lt;h3 id=&quot;二windows下的配置&quot;&gt;二、Windows下的配置&lt;/h3&gt;
&lt;p&gt;Windows下的配置和MacOS下的大致相同，不同的地方就是快捷键的位置。比如：&lt;/p&gt;

&lt;p&gt;1）Windows下的Preferences是在导航栏，而MacOS的是在Sublime Text下。&lt;/p&gt;

&lt;p&gt;2）设置打开浏览器的快捷键，在Windows下我喜欢设置成Ctrl + R。&lt;/p&gt;

&lt;p&gt;3）Windows下打开Package Control的快捷键是Shift + Ctrl + P，而MacOS下是Shift + Command + P。&lt;/p&gt;

&lt;p&gt;以上就是Markdown在MacOS及Windows下的详细配置，如有不懂之处，可以向我咨询，谢谢！&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
转载请注明：&lt;a href=&quot;http://hdd2803.github.io&quot;&gt;Dong的博客&lt;/a&gt; » &lt;a href=&quot;http://hdd2803.github.io/2017/11/WebNote_Sublime_Text/&quot;&gt;Sublime Text3的Markdown配置&lt;/a&gt;&lt;/p&gt;

</description>
        <pubDate>Sun, 05 Nov 2017 00:00:00 +0000</pubDate>
        <link>https://hdd2803.github.io/2017/11/WebNote_Sublime_Text/</link>
        <guid isPermaLink="true">https://hdd2803.github.io/2017/11/WebNote_Sublime_Text/</guid>
        
        <category>WebNote</category>
        
        
      </item>
    
  </channel>
</rss>
