- Markdown简介 {#1. Markdown简介} ==============================
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档, 然后转换成格式丰富的HTML页面
2.语法 {#2.语法}
2.1 标题 {#2.1 标题}
在Markdown中,标题总共有六级. 只需要在文本前加上#即可,增加#时,标题字号相应降低
# 一级标题
## 二级标题
### 三级标题
......
###### 六级标题
2.2链接和图片 {#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 粗体和斜体 {#2.3 粗体和斜体}
用两个*包含一段文本就是粗体的语法, 用一个 * 包含一段文本就是斜体的语法. eg:
得即*高歌*失即休,多愁多恨亦悠悠,**今朝有酒今朝醉**,明日愁来明日忧
显示效果: 得即高歌 失即休,多愁多恨亦悠悠,今朝有酒今朝醉,明日愁来明日忧
2.4 中文首行缩进 {#2.4 中文首行缩进}
有两种方法可以实现: 1.在段落开头的时候,先输入 :    然后紧跟着输入文本即可
2.把输入法由半角改为全角,两次空格之后就能够有两个汉字的缩进. eg:首行缩进: 得到的
2.5 代码块 {#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;
}
`}
`
显示结果: 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 引用 {#2.6 引用}
在你希望引用的文字前面加上>就好了 eg:
>我们是IT资源交流分享者
显示效果: 我们是IT资源交流分享者
2.7 水平滚动条 {#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
}
`}
`
显示结果: 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
🌝 本文主要展示
halo-theme-joe2.0
中的各种样式,方便大家写作的时候进行参考,部分样式可能会在迭代过程中有所变更,请及时关注最新信息。
文本元素 {#文本元素}
标题 {#标题}
下划线 {#下划线}
今天天气很好,你拨通了女盆友的电话 ++1300002225++
加粗 {#加粗}
她 气喘吁吁 的和你说:我在跑步
倾斜 {#倾斜}
你问她为什么有 啪啪啪 的声音,她和你说:我是穿拖鞋跑步的
删除线 {#删除线}
你明白了,此刻自己头上正顶着个 ~~绿帽子~~
引用 {#引用}
那女孩对你说:你还不如跳蛋。
超链接 {#超链接}
段落缩进 {#段落缩进}
有些男人就像烤面筋,外表黄黄的,身体圆圆的,说话柔柔的,无害,看上去还非常好吃。可当你吃下去,才知道他绵绵的,并无特别的味道,甚至到你吃完,你都不知道他是用什么做的。 ---- 李七毛《我们都不擅长告别》
<p class="indent">
有些男人就像烤面筋,外表黄黄的,身体圆圆的,说话柔柔的,无害,看上去还非常好吃。可当你吃下去,才知道他绵绵的,并无特别的味道,甚至到你吃完,你都不知道他是用什么做的。
---- 李七毛《我们都不擅长告别》
</p>
居中标题 {#居中标题}
<joe-mtitle title="牛鞭牛鞭"></joe-mtitle>
代码元素 {#代码元素}
行内代码 {#行内代码}
halo-theme-joe2.0
代码块 {#代码块}
<html>
<head>
<title>标题</title>
</head>
<body>
<p>远上寒山石径斜,白云生处有人家。</p>
</body>
</html>
#Joe {
position: relative;
z-index: 1;
display: flex;
justify-content: space-between;
flex-direction: column;
min-height: 100vh;
}
列表元素 {#列表元素}
有序列表 {#有序列表}
杜蕾斯(durex)的优点如下:
- 耐久(durability)
- 可靠(reliability)
- 优良(excellence)
无序列表 {#无序列表}
- 一个女朋友
- 二个女朋友
- 三个女朋友
- N 个女朋友
- 卒
任务列表 {#任务列表}
- [x] 早餐
- [x] 上班
- [x] 午餐
- [ ] 锻炼
- [ ] 睡觉
表格元素 {#表格元素}
左对齐 {#左对齐}
| 表头 1 | 表头 2 | 表头 3 | |:-----|:-----|:-----| | 内容 1 | 内容 2 | 内容 3 |
| 表头 1 | 表头 2 | 表头 3 |
| :----- | :----- | :----- |
| 内容 1 | 内容 2 | 内容 3 |
居中 {#居中}
| 表头 1 | 表头 2 | 表头 3 | |:----:|:----:|:----:| | 内容 1 | 内容 2 | 内容 3 |
| 表头 1 | 表头 2 | 表头 3 |
| :----: | :----: | :----: |
| 内容 1 | 内容 2 | 内容 3 |
右对齐 {#右对齐}
| 表头 1 | 表头 2 | 表头 3 | |-----:|-----:|-----:| | 内容 1 | 内容 2 | 内容 3 |
| 表头 1 | 表头 2 | 表头 3 |
| -----: | -----: | -----: |
| 内容 1 | 内容 2 | 内容 3 |
按钮元素 {#按钮元素}
多彩按钮 {#多彩按钮}
自定义自己想要的颜色
<joe-abtn color="#409eff" content="多彩按钮"></joe-abtn>
自定义图标,达 6000+ 图标任你使用
<joe-abtn icon="fa-bell" content="带图标按钮"></joe-abtn>
自定义圆角度数,最大 18px
<joe-abtn radius="12px" content="圆角按钮"></joe-abtn>
搭配在一起任意使用
<joe-abtn
color="#409eff"
icon="fa-bell"
href="#"
radius="3px"
content="搭配在一起"
></joe-abtn>
便条按钮 {#便条按钮}
便条按钮不能自定义色彩,必须使用一个图标,其他的的和上面的多彩按钮一样
<joe-anote href="#" type="secondary" content="便条按钮"></joe-anote>
<joe-anote icon="fa-bus" href="#" type="success" content="便条按钮"></joe-anote>
<joe-anote icon="fa-bus" href="#" type="warning" content="便条按钮"></joe-anote>
<joe-anote icon="fa-bus" href="#" type="error" content="便条按钮"></joe-anote>
<joe-anote icon="fa-bus" href="#" type="info" content="便条按钮"></joe-anote>
复制按钮 {#复制按钮}
<joe-copy
title="点击复制"
content="这是一段美好的鸡汤文"
color="green"
bold
></joe-copy>
标签按钮 {#标签按钮}
<joe-anote
icon="fa-download"
href="#"
type="success"
content="标签按钮"
></joe-anote>
网盘按钮 {#网盘按钮}
<joe-cloud type="default" url="" password=""></joe-cloud>
<joe-cloud type="360" url="" password=""></joe-cloud>
<joe-cloud type="bd" url="" password="bn6f"></joe-cloud>
<joe-cloud type="ty" url="" password=""></joe-cloud>
<joe-cloud type="ct" url="" password=""></joe-cloud>
<joe-cloud type="wy" url="" password=""></joe-cloud>
<joe-cloud type="github" url="" password=""></joe-cloud>
<joe-cloud type="gitee" url="" password=""></joe-cloud>
<joe-cloud type="lz" url="" password=""></joe-cloud>
装饰元素 {#装饰元素}
分割线 {#分割线}
跑马灯 {#跑马灯}
<span class="joe_lamp"></span>
进度条 {#进度条}
<joe-progress percentage="50%" color="#6ce766"></joe-progress>
彩色虚线 {#彩色虚线}
可自定义虚线颜色
<joe-dotted></joe-dotted>
<joe-dotted startcolor="#1772e8" endcolor="#4cd327"></joe-dotted>
Tabs {#Tabs}
{tabs-pane 第一个}单身狗的故事{/tabs-pane} {tabs-pane 第二个}小说家的故事{/tabs-pane}
<joe-tabs>
<div class="_tpl">
{tabs-pane 第一个}单身狗的故事{/tabs-pane}
{tabs-pane 第二个}小说家的故事{/tabs-pane}
</div>
</joe-tabs>
时间线 {#时间线}
{timeline-item 2020}10元{/timeline-item} {timeline-item 2021}20元{/timeline-item} {timeline-item 2022}100元{/timeline-item}
<joe-timeline>
<div class="_tpl">
{timeline-item 2020}10元{/timeline-item}
{timeline-item 2021}20元{/timeline-item}
{timeline-item 2022}100元{/timeline-item}
</div>
</joe-timeline>
评论后可见 {#评论后可见}
<joe-hide></joe-hide>
渲染原始内容 {#渲染原始内容}
主题默认对常用的 HTML 标签进行了样式美化,但有时候你可能不想应用这些样式。比如你想富文本内容中的样式能够原样展示,那么就需要用到这个标签来承载你的内容,该标签内的内容将 不会被外部样式和脚本污染,反之亦然。
俺是个3级标题,我有自己的样式
我是原始内容,可以是任何合法的文本或HTML,我的样式和外界是隔离的
<joe-raw-content>
<div id="_raw">
<div
style="padding: 1px 10px;background: linear-gradient(45deg, #329891, #ffe266);"
>
<h3 style="color:blue;font-style:italic">
俺是个3级标题,我有自己的样式
</h3>
<p>我是原始内容,可以是任何合法的文本或HTML,我的样式和外界是隔离的</p>
</div>
</div>
</joe-raw-content>
头像框 {#头像框}
列出了当前主题包含的头像框,方便大家进行选择
emoji 表情 {#emoji 表情}
列出一些通用表情元素,更多请 参见这里
😀😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏😐😑😒😓😔😕😖😗😘😙😚😛😜😝😞😟😠😡😢😣😤😥😦😧😨😩😪😫😬😭😮😯😰😱😲😳😴😵😶😷🙁🙂🙃🙄🤐🤑🤒🤓🤔🤕🤠🤡🤢🤣🤤🤥🤧🤨🤩🤪🤫🤬🤭🤮🤯🧐😀😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏😐😑😒😓😔😕😖😗😘😙😚😛😜😝😞😟😠😡😢😣😤😥😦😧😨😩😪😫😬😭😮😯😰😱😲😳😴😵😶😷😸😹😺😻😼😽😾😿🙀🙁🙂🙃🙄
媒体元素 {#媒体元素}
图片预览 {#图片预览}
视频播放器 {#视频播放器}
<joe-dplayer src="https://stream7.iqilu.com/10339/upload_transcode/202002/17/20200217101826WjyFCbUXQ2.mp4"></joe-dplyer>
Bilibili 视频 {#Bilibili 视频}
<joe-bilibili bvid="BV12h411k7vr"></joe-bilibili>
PDF 预览 {#PDF 预览}
<joe-pdf
src="https://bbchin.com/upload/2022/03/Node%E7%9A%84%E8%AE%BE%E8%AE%A1%E4%B8%8E%E5%AE%9E%E7%8E%B0-0a7b571b1a5b4a0d8f810a253afe7077.pdf"
></joe-pdf>
网易云歌单 {#网易云歌单}
<joe-mlist id="6800335663"></joe-mlist>
网易云单曲 {#网易云单曲}
<joe-music id="1303046498"></joe-music>
音频播放器 {#音频播放器}
<joe-mp3
name="天生狂野-柴古唐斯主题曲"
url="https://bbchin.com/upload/2022/04/%E5%A4%A9%E7%94%9F%E7%8B%82%E9%87%8E-%E6%9F%B4%E5%8F%A4%E5%94%90%E6%96%AF%E4%B8%BB%E9%A2%98%E6%9B%B2.mp3"
theme="red"
cover="https://bbchin.com/upload/2022/04/cgts.png"
autoplay
></joe-mp3>
提示元素 {#提示元素}
消息提示 {#消息提示}
<joe-message type="success" content="成功消息"></joe-message>
<joe-message type="info" content="普通消息"></joe-message>
<joe-message type="warning" content="警告消息"></joe-message>
<joe-message type="error" content="错误消息"></joe-message>
注意事项!!! {#注意事项!!!}
以上大部分为
webcomponents
组件,且仅在使用halo-theme-joe2.0
主题时才能生效,请根据实际情况使用。
组件定义文件见主题目录下的source/js/custom.js
。