如何使用Markdown写博客

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wudinaniya/article/details/74772660

1 Markown简介

Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档, 然后转换成格式丰富的HTML页面.

2.语法

2.1 标题

在Markdown中,标题总共有六级. 只需要在文本前加上#即可,增加#时,标题字号相应降低.

# 一级标题
## 二级标题
### 三级标题
......
###### 六级标题

2.2链接和图片

在Markdown中,插入链接不需要其他按钮,你只需要使用[显示文本](链接地址)这样的语法.eg:

[游民星空](http://www.gamersky.com/)

显示效果: 游民星空

在Markdown中,插入图片不需要其他按钮, 你只需要 这样的语法即可.
eg:

![](http://desk.fd.zol-img.com.cn/t_s960x600c5/g5/M00/01/0F/ChMkJ1bKwqeIKFNmAAonfZtjYLcAALGrQAYAnkACieV338.jpg)

显示效果:

Markdown支持自动链接形式来处理网址和电子邮件信箱,只要是用尖括号包起来, Markdown就会自动把它转成链接.
例如: <http:www.baidu.com>
显示效果:
http:www.baidu.com

2.3 粗体和斜体

用两个*包含一段文本就是粗体的语法, 用一个 * 包含一段文本就是斜体的语法.
eg:

得即*高歌*失即休,多愁多恨亦悠悠,**今朝有酒今朝醉**,明日愁来明日忧.

显示效果:
得即高歌 失即休,多愁多恨亦悠悠,今朝有酒今朝醉,明日愁来明日忧 .

2.4 中文首行缩进

有两种方法可以实现:

  • 在段落开头的时候,先输入 : &#160;&#160;&#160;&#160;然后紧跟着输入文本即可
  • 把输入法由半角改为全角. 两次空格之后就能够有两个汉字的缩进.

eg:首行缩进:
  得到的

2.5 代码块

将要显示的代码块放在 3对反引号 中间, CSDN提供的编译器支持不同的语法高亮, 只要在反引号后注明语言, 例如:


package com.qx.aspectj.annotation;

import org.springframework.stereotype.Service;

@Service("userService")
public class UserServiceImpl implements UserService {

    @Override
    public void addUser() {
        // TODO Auto-generated method stub
//      System.out.println(1/0);
        System.out.println("addUser");
    }

    @Override
    public int deleteUser() {
        // TODO Auto-generated method stub
        System.out.println("deleteUser");
        return 0;
    }

}

2.6 引用

在你希望引用的文字前面加上>就好了.
eg:


>Fate系列Saber壁纸(1/16) 关闭 播放 ZOL桌面壁纸有部分资源来源于互联网,图片版权归原作者所有,若有侵权问题敬请告知,我们会立即处理。本站图片资源如果没有特殊...

显示效果:

Fate系列Saber壁纸(1/16) 关闭 播放 ZOL桌面壁纸有部分资源来源于互联网,图片版权归原作者所有,若有侵权问题敬请告知,我们会立即处理。本站图片资源如果没有特殊…

2.7 水平滚动条

在代码块内,当一行的内容显示不下时,会自动显示水平滚动条

package com.qx.demo05.jdk;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;

public class MyBeanFactory {

    public static UserService createService(){

        //创建目标类对象
        UserService userService=new UserServiceImpl();

        //切面类---我感觉它仅仅是个增强类
        MyAspect myAdpect=new MyAspect();

        /**
         * 使用jdk动态代理,创建代理类对象
         * 参1 ClassLoader loader: 类加载器
         *      MyBeanFactory.class.getClassLoader()
         *      userService.getClass.getClassLoader()
         * 参2 Class<?>[] interfaces:代理类实现的接口
         *      userService.getClass().getInterfaces()
         * 参3 InvocationHandler h: 匿名内部类,给目标方法添加事务
         * 
         */
        /**
         * 动态代理
         *  在java动态代理中有一个重要的接口InvocationHandler和一个类Proxy.
         * 
         * 当我们调用具体被代理类的方法时,会转由这个接口中的invoke方法进行调用.我们可以理解为理类获得要调用的方法名和参数,交给InvocationHandler, 并由InvocationHandler中的invoke方法调用具体被代理类中相对应的方法.
         * 参1: ClassLoader loader-定义代理类的类加载器
         * 参2: Class<?>[] interfaces-代理类要实现的接口列表
         * 参3: InvocationHandler h-指派方法调用的调用处理程序
         * 返回值: 一个由指定的类加载器定义,并实现指定的接口的代理类的实例
         */
        UserService usService=(UserService) Proxy.newProxyInstance(userService.getClass().getClassLoader(),
                userService.getClass().getInterfaces(),new InvocationHandler() {

                    @Override
                    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
                        // TODO Auto-generated method stub
                        myAdpect.before();
                        Object obj=method.invoke(userService, args);
                        myAdpect.after();

//                      System.out.println(proxy instanceof UserService);//true
//                      System.out.println(proxy instanceof InvocationHandler);//false
//                      System.out.println(obj instanceof InvocationHandler);//false
                        System.out.println(obj);
                        return obj;
                    }
                });



        return usService;  //应该返回代理对象usService, 而不要返回被代理对象userService


    }
}
展开阅读全文

没有更多推荐了,返回首页