Markdown语法使用总结

  只记录我写博客时用到的语法,至于那些高级的语法可以点这儿Cmd Markdown。本博客支持本文中指出的markdown语法。

常用语法:

  1. 六级标题,以#号的个数代替。
  2. 段落前面加1.(数字、点、空格)表示有序列表,加* + -表示无序列表。列表可嵌套,上一级和下一级之间敲四个空格即可。
  3. 段落前面加一个>(大于号)表示引用,加多个可以嵌套。
  4. 用一个*号包围的文本显示为斜体,两个*号包围的文本显示为粗体,三个*号包围的文本显示为斜体加粗,两个~号包围的文本显示为删除(似乎是模板js不支持,只能用html<del> 删除 </del>代替了)。
  5. 两个`(半角间隔号)包围的文本为行内代码,三个`包围的文本为代码段。
  6. 三个-(减号)或三个*号会替换成一条如下的分隔线:
  7. 图片的引用格式:![图片alt](图片地址 ''图片title''),但这样好像没法设置大小对齐,可以html代替。
    <div align="center">
        <img src="url"  width = "300" height = "120" alt="图片alt" title="图片title" />
    </div>
    
  8. 超链接引用格式:[超链接名](超链接地址 "超链接title"),title可加可不加。但这种方式的超链接默认在本页面打开,想在新页面可用这种格式替换<a href="超链接地址" target="_blank">超链接名</a>
  9. 补充:普通文本需要换行的先按两个空格再回车;
      缩进可用:

【1】&ensp;或&#8194; //半角
【2】&emsp;或&#8195; //全角
【3】&nbsp;或&#160;

测试下效果:

  • 列表嵌套
    1. 嵌套两行有序列表。
    2. 嵌套两行有序列表。
      • 再嵌套两行无序列表。
      • 再嵌套两行无序列表。
  • 引用嵌套

这是直接引用

嵌套引用

  • 字体
    斜体,对比,加粗斜体加粗 删除
  • 分割线


  • 图片
    • markdown引入图片
      图片测试
    • html引入图片
测试图片
* 链接

我是内链 我是外链

写这篇文章时发现一个Bug,markdown渲染时不支持将代码段嵌套,即上面的引入图片的那段html代码,不能嵌在次级列表下,而直接加入肯定就导致8.超链接引用那段重新编号。还有在特殊格式后要打上空行才能另起一行,例如本段与上面的链接中间就要用一个单独的空行。

内容概要:本文介绍了ENVI Deep Learning V1.0的操作教程,重点讲解了如何利用ENVI软件进行深度学习模型的训练与应用,以实现遥感图像中特定目标(如集装箱)的自动提取。教程涵盖了从数据准备、标签图像创建、模型初始化与训练,到执行分类及结果优化的完整流程,并介绍了精度评价与通过ENVI Modeler实现一键化建模的方法。系统基于TensorFlow框架,采用ENVINet5(U-Net变体)架构,支持通过点、线、面ROI或分类图生成标签数据,适用于多/高光谱影像的单一类别特征提取。; 适合人群:具备遥感图像处理基础,熟悉ENVI软件操作,从事地理信息、测绘、环境监测等相关领域的技术人员或研究人员,尤其是希望将深度学习技术应用于遥感目标识别的初学者与实践者。; 使用场景及目标:①在遥感影像中自动识别和提取特定地物目标(如车辆、建筑、道路、集装箱等);②掌握ENVI环境下深度学习模型的训练流程与关键参数设置(如Patch Size、Epochs、Class Weight等);③通过模型调优与结果反馈提升分类精度,实现高效自动化信息提取。; 阅读建议:建议结合实际遥感项目边学边练,重点关注标签数据制作、模型参数配置与结果后处理环节,充分利用ENVI Modeler进行自动化建模与参数优化,同时注意软硬件环境(特别是NVIDIA GPU)的配置要求以保障训练效率。
内容概要:本文系统阐述了企业新闻发稿在生成式引擎优化(GEO)时代下的全渠道策略与效果评估体系,涵盖当前企业传播面临的预算、资源、内容与效果评估四大挑战,并深入分析2025年新闻发稿行业五大趋势,包括AI驱动的智能化转型、精准化传播、首发内容价值提升、内容资产化及数据可视化。文章重点解析央媒、地方官媒、综合门户和自媒体四类媒体资源的特性、传播优势与发稿策略,提出基于内容适配性、时间节奏、话题设计的策略制定方法,并构建涵盖品牌价值、销售转化与GEO优化的多维评估框架。此外,结合“传声港”工具实操指南,提供AI智能投放、效果监测、自媒体管理与舆情应对的全流程解决方案,并针对科技、消费、B2B、区域品牌四大行业推出定制化发稿方案。; 适合人群:企业市场/公关负责人、品牌传播管理者、数字营销从业者及中小企业决策者,具备一定媒体传播经验并希望提升发稿效率与ROI的专业人士。; 使用场景及目标:①制定科学的新闻发稿策略,实现从“流量思维”向“价值思维”转型;②构建央媒定调、门户扩散、自媒体互动的立体化传播矩阵;③利用AI工具实现精准投放与GEO优化,提升品牌在AI搜索中的权威性与可见性;④通过数据驱动评估体系量化品牌影响力与销售转化效果。; 阅读建议:建议结合文中提供的实操清单、案例分析与工具指南进行系统学习,重点关注媒体适配性策略与GEO评估指标,在实际发稿中分阶段试点“AI+全渠道”组合策略,并定期复盘优化,以实现品牌传播的长期复利效应。
<think> 我们之前讨论过在钉钉卡片消息中通过HTML/CSS修改字体大小,但用户现在明确要求使用Markdown语法推送钉钉卡片消息并修改字体大小。然而,需要澄清的是:钉钉的Markdown消息类型本身不支持直接修改字体大小。钉钉的Markdown消息遵循标准的Markdown语法,而标准Markdown并不支持设置字体大小。 但是,我们可以通过一些变通方法来实现类似效果: 1. **使用标题级别**:利用Markdown的标题级别来改变文字大小(从H1到H6,字号递减) 2. **插入HTML标签**:在钉钉的Markdown消息中,实际上可以内嵌HTML标签,但需要谨慎使用,因为钉钉对HTML的支持有限。 根据钉钉官方文档,在Markdown消息类型中,只有部分HTML标签被支持,且样式支持也有限。不过,我们可以尝试在Markdown消息中嵌入HTML标签来设置字体大小。 注意:钉钉的Markdown消息中,只有`<font>`标签的`color`和`size`属性被部分支持(根据历史经验,但官方文档未明确说明,需要测试验证)。 因此,我们可以这样尝试: ```java String markdownText = "## 标题(二级标题,较大)\n" + "普通文本\n" + "<font size=4>自定义大小文本(4号字)</font>\n" + "**加粗文本**\n" + "<font color='red' size=5>红色5号字</font>"; ``` 但请注意,钉钉官方并没有明确保证`<font>`标签的`size`属性一定有效,所以这种方法存在风险。 另外,钉钉还支持另一种方式:使用`actionCard`类型(即之前的卡片消息),并在其中使用Markdown格式的文本,同时结合HTML/CSS。但这里用户要求的是Markdown语法,所以我们先按Markdown消息类型来处理。 下面是一个完整的Java示例,使用Markdown消息类型,并尝试通过内嵌HTML修改字体大小: ```java import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.HttpClients; import java.nio.charset.StandardCharsets; public class DingTalkMarkdownSender { private static final String WEBHOOK_URL = "https://oapi.dingtalk.com/robot/send?access_token=YOUR_TOKEN"; public static void sendMarkdownWithFontSize() throws Exception { HttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(WEBHOOK_URL); httpPost.addHeader("Content-Type", "application/json; charset=utf-8"); // 构建Markdown消息,尝试使用<font>标签设置字体大小 String markdownContent = "### 这是一个标题\n" + "普通文本\n\n" + "<font size='4'>这是4号字</font>\n\n" + "<font size='5' color='blue'>这是5号蓝色字</font>\n\n" + "**加粗文本**\n"; String jsonMsg = "{" + "\"msgtype\": \"markdown\"," + "\"markdown\": {" + " \"title\": \"Markdown消息测试\"," + " \"text\": \"" + markdownContent.replace("\"", "\\\"") + "\"" + "}" + "}"; httpPost.setEntity(new StringEntity(jsonMsg, StandardCharsets.UTF_8)); HttpResponse response = httpClient.execute(httpPost); // 处理响应... } } ``` 但是,这种方法并不一定可靠,因为钉钉对HTML的支持有限。如果上述方法无效,那么只能考虑使用其他消息类型(如actionCard)来完全使用HTML控制样式。 因此,作为备选方案,我们可以使用actionCard消息类型,并在其中使用Markdown格式的文本(实际上actionCard的text字段支持HTML,所以我们可以将Markdown文本转换为HTML,然后设置样式): 步骤: 1. 将Markdown文本转换为HTML(可以使用Java库如flexmark) 2. 在HTML中通过CSS控制样式 3. 作为actionCard消息发送 示例: ```java import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import com.vladsch.flexmark.html.HtmlRenderer; import com.vladsch.flexmark.parser.Parser; import com.vladsch.flexmark.util.ast.Node; import com.vladsch.flexmark.util.data.MutableDataSet; public class DingTalkActionCardSender { private static final String WEBHOOK_URL = "https://oapi.dingtalk.com/robot/send?access_token=YOUR_TOKEN"; public static void sendMarkdownAsHtmlCard() throws Exception { try (CloseableHttpClient httpClient = HttpClients.createDefault()) { HttpPost httpPost = new HttpPost(WEBHOOK_URL); httpPost.addHeader("Content-Type", "application/json"); // 原始Markdown内容 String markdownContent = "## 标题\n" + "普通文本\n" + "**加粗文本**\n"; // 将Markdown转换为HTML MutableDataSet options = new MutableDataSet(); Parser parser = Parser.builder(options).build(); HtmlRenderer renderer = HtmlRenderer.builder(options).build(); Node document = parser.parse(markdownContent); String htmlContent = renderer.render(document); // 在HTML外面包裹一个div,设置整体样式,并针对特定元素设置字体大小 String styledHtml = "<div style='font-size:14px'>" + htmlContent + "</div>"; // 构建actionCard消息 String jsonMsg = "{" + "\"msgtype\": \"actionCard\"," + "\"actionCard\": {" + " \"title\": \"Markdown转HTML卡片\"," + " \"text\": \"" + styledHtml.replace("\"", "\\\"") + "\"," + " \"btnOrientation\": \"0\"," + " \"btns\": [{\"title\": \"查看\", \"actionURL\": \"https://example.com\"}]" + "}" + "}"; httpPost.setEntity(new StringEntity(jsonMsg, "UTF-8")); httpClient.execute(httpPost); } } } ``` 注意:使用flexmark需要添加Maven依赖: ```xml <dependency> <groupId>com.vladsch.flexmark</groupId> <artifactId>flexmark-all</artifactId> <version>0.64.0</version> </dependency> ``` 总结: 1. 直接使用Markdown消息类型并内嵌HTML标签(如`<font>`)可能部分有效,但不保证。 2. 更可靠的方式是将Markdown转换为HTML,然后通过actionCard消息发送,在HTML中使用CSS样式控制字体大小。 由于钉钉消息格式的限制,建议先测试第一种方法(内嵌`<font>`标签)是否有效。如果无效,则采用第二种方法。 另外,钉钉官方文档建议:Markdown消息类型中,文本内容不超过5000字符,且消息中可带1个跳转链接。 最后,请注意转义JSON字符串中的双引号。 以上就是在Java开发中使用Markdown语法推送钉钉卡片消息并修改字体大小的两种方法。 </think>### Java开发中使用Markdown语法推送钉钉卡片消息并修改字体大小的方法 在钉钉消息推送中,**Markdown消息类型本身不支持直接修改字体大小**,但可以通过以下两种方法实现类似效果: --- ### 方法1:使用Markdown标题层级控制文字大小(推荐) 钉钉的Markdown消息支持6级标题,不同标题级别对应不同字体大小: ```java import com.alibaba.fastjson.JSONObject; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; public class DingTalkSender { private static final String WEBHOOK_URL = "https://oapi.dingtalk.com/robot/send?access_token=YOUR_TOKEN"; public void sendMarkdownWithHeading() throws Exception { JSONObject msg = new JSONObject(); msg.put("msgtype", "markdown"); JSONObject markdown = new JSONObject(); markdown.put("title", "系统通知"); // 使用标题层级控制字体大小 String content = "# 一级标题(最大字体)\n" + "## 二级标题\n" + "### 三级标题\n" + "**加粗文本**\n" + "普通正文文本"; markdown.put("text", content); msg.put("markdown", markdown); // 发送请求 HttpPost post = new HttpPost(WEBHOOK_URL); post.setEntity(new StringEntity(msg.toJSONString(), "UTF-8")); // 执行HTTP请求... } } ``` **标题大小对应关系**: - `# H1` → 最大字体(约24px) - `## H2` → 大号字体(约20px) - `### H3` → 中等字体(约18px) - `#### H4` → 标准正文字体(16px) - `##### H5` → 小号字体(14px) - `###### H6` → 最小字体(12px) --- ### 方法2:结合HTML/CSS实现精细控制 通过ActionCard消息类型嵌入HTML/CSS样式: ```java public void sendStyledActionCard() throws Exception { JSONObject msg = new JSONObject(); msg.put("msgtype", "actionCard"); JSONObject actionCard = new JSONObject(); actionCard.put("title", "带样式的通知"); // 使用HTML/CSS控制字体大小 String htmlContent = "<div style='font-size:20px;font-weight:bold'>主标题</div>" + "<div style='font-size:16px;margin-top:10px'>正文内容</div>" + "<div style='font-size:12px;color:#999999'>辅助说明</div>"; actionCard.put("text", htmlContent); actionCard.put("btnOrientation", "0"); // 添加按钮 JSONArray btns = new JSONArray(); JSONObject btn = new JSONObject(); btn.put("title", "查看详情"); btn.put("actionURL", "https://example.com"); btns.add(btn); actionCard.put("btns", btns); msg.put("actionCard", actionCard); // 发送请求 HttpPost post = new HttpPost(WEBHOOK_URL); post.setEntity(new StringEntity(msg.toJSONString(), "UTF-8")); // 执行HTTP请求... } ``` --- ### 两种方法对比 | 方法 | 优点 | 局限性 | |--------------|------------------------------|---------------------------| | Markdown标题 | ✅ 兼容性好<br>✅ 无需额外依赖 | ❌ 字体大小选择有限 | | HTML/CSS | ✅ 精确控制样式<br>✅ 支持颜色 | ❌ 部分CSS属性不被钉钉支持 | --- ### 最佳实践建议 1. **优先使用标题层级**:在纯Markdown消息中,用`#`到`######`控制文字大小层级 2. **加粗强调**:结合`**加粗文本**`突出关键信息 3. **颜色标注**:使用`<font color='#FF0000'>`标签设置文字颜色 4. **混合使用**:在ActionCard中结合Markdown和HTML: ```java String mixedContent = "### Markdown标题\n" + "<div style='font-size:14px'>HTML样式文本</div>"; ``` > **注意事项**:钉钉对CSS的支持有限,建议提前测试目标样式是否生效。手机端支持度优于PC端[^1]。 --- ### 完整消息发送工具封装 参考企业微信消息SDK的设计理念[^2][^4][^5],可封装钉钉消息工具类: ```java public class DingTalkBot { private final String webhookUrl; public DingTalkBot(String webhookUrl) { this.webhookUrl = webhookUrl; } public void sendMarkdown(String title, String content) { // 实现Markdown消息发送 } public void sendStyledCard(String title, String htmlContent) { // 实现HTML样式卡片发送 } // 使用示例 public static void main(String[] args) { DingTalkBot bot = new DingTalkBot(WEBHOOK_URL); bot.sendMarkdown("状态通知", "### 服务异常\n> 请立即处理"); } } ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值