mirror of
https://github.com/wahyd4/wahyd4.github.com.git
synced 2026-08-08 21:05:52 +10:00
Site updated: 2025-10-27 22:16:11
This commit is contained in:
+181
-259
@@ -2,9 +2,9 @@
|
||||
<html lang="zh-Hans">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
|
||||
<meta name="theme-color" content="#222">
|
||||
<meta name="generator" content="Hexo 6.3.0">
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<meta name="theme-color" content="#222"><meta name="generator" content="Hexo 6.3.0">
|
||||
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png">
|
||||
@@ -13,14 +13,13 @@
|
||||
<link rel="stylesheet" href="/css/main.css">
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/lib/font-awesome/css/all.min.css">
|
||||
|
||||
<script id="hexo-configurations">
|
||||
var NexT = window.NexT || {};
|
||||
var CONFIG = {"hostname":"toozhao.com","root":"/","scheme":"Muse","version":"7.8.0","exturl":false,"sidebar":{"position":"left","display":"post","offset":12,"b2t":false,"scrollpercent":false,"onmobile":false,"width_expanded":320,"width_dual_column":240,"padding":18},"copycode":{"enable":false,"style":null},"back2top":{"enable":true,"sidebar":false,"scrollpercent":false},"bookmark":{"enable":false,"color":"#222","save":"auto"},"fancybox":false,"mediumzoom":false,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"algolia":{"hits":{"per_page":10},"labels":{"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}},"localsearch":{"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},"motion":{"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"fadeInDown","post_body":"fadeInDown","coll_header":"fadeInLeft","sidebar":"fadeInUp","menu_item":"fadeInDown"},"duration":200}};
|
||||
</script>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.0/css/all.min.css" integrity="sha256-VHqXKFhhMxcpubYf9xiWdCiojEbY9NexQ4jh8AxbvcM=" crossorigin="anonymous">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.1.1/animate.min.css" integrity="sha256-PR7ttpcvz8qrF57fur/yAx1qXMFJeJFiA6pSzWi0OIE=" crossorigin="anonymous">
|
||||
|
||||
<meta name="description" content="说到 IDE 我们想到的都是 Intellij 和 Eclipse系列这样的几百兆的桌面应用程序,它让我们编程效率得以很大提升,在日常工作中变得离不开这些软件。我们最喜欢用的 IDE 功能主要有: 代码自动补全 代码重构 代码格式化 代码调试 代码高亮 代码错误检查 代码引用查询与跳转 但往往 IDE 也有占用内存多,时不时反应卡顿等问题。因此很多程序员在开发一些动态语言、脚本语言的时候更倾向">
|
||||
<script class="next-config" data-name="main" type="application/json">{"hostname":"toozhao.com","root":"/","images":"/images","scheme":"Muse","darkmode":false,"version":"8.25.0","exturl":false,"sidebar":{"position":"left","width_expanded":320,"width_dual_column":240,"display":"post","padding":18,"offset":12},"hljswrap":true,"codeblock":{"theme":{"light":"default","dark":"stackoverflow-dark"},"prism":{"light":"prism","dark":"prism-dark"},"copy_button":{"enable":false,"style":null},"fold":{"enable":false,"height":500},"language":false},"bookmark":{"enable":false,"color":"#222","save":"auto"},"mediumzoom":false,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"stickytabs":false,"motion":{"enable":true,"async":false,"duration":200,"transition":{"menu_item":"fadeInDown","post_block":"fadeIn","post_header":"fadeInDown","post_body":"fadeInDown","coll_header":"fadeInLeft","sidebar":"fadeInUp"}},"prism":false,"i18n":{"placeholder":"Searching...","empty":"We didn't find any results for the search: ${query}","hits_time":"${hits} results found in ${time} ms","hits":"${hits} results found"}}</script><script src="/js/config.js" defer></script>
|
||||
|
||||
<meta name="description" content="说到 IDE 我们想到的都是 Intellij 和 Eclipse系列这样的几百兆的桌面应用程序,它让我们编程效率得以很大提升,在日常工作中变得离不开这些软件。我们最喜欢用的 IDE 功能主要有: 代码自动补全 代码重构 代码格式化 代码调试 代码高亮 代码错误检查 代码引用查询与跳转 但往往 IDE 也有占用内存多,时不时反应卡顿等问题。因此很多程序员在开发一些动态语言、脚本语言的时候更倾向">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:title" content="使用 VS Code 快速搭建你的 Golang 开发 IDE">
|
||||
<meta property="og:url" content="https://toozhao.com/2017/08/23/vscode-golang/index.html">
|
||||
@@ -31,27 +30,21 @@
|
||||
<meta property="og:image" content="https://debug.png/">
|
||||
<meta property="og:image" content="https://toozhao.com/code-runner.png">
|
||||
<meta property="article:published_time" content="2017-08-23T07:26:31.000Z">
|
||||
<meta property="article:modified_time" content="2025-10-25T03:21:33.707Z">
|
||||
<meta property="article:modified_time" content="2025-10-27T10:42:00.950Z">
|
||||
<meta property="article:author" content="Junv">
|
||||
<meta property="article:tag" content="go">
|
||||
<meta property="article:tag" content="vscode">
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:image" content="https://toozhao.com/vscode.gif">
|
||||
|
||||
|
||||
<link rel="canonical" href="https://toozhao.com/2017/08/23/vscode-golang/">
|
||||
|
||||
|
||||
<script id="page-configurations">
|
||||
// https://hexo.io/docs/variables.html
|
||||
CONFIG.page = {
|
||||
sidebar: "",
|
||||
isHome : false,
|
||||
isPost : true,
|
||||
lang : 'zh-Hans'
|
||||
};
|
||||
</script>
|
||||
<script class="next-config" data-name="page" type="application/json">{"sidebar":"","isHome":false,"isPost":true,"lang":"zh-Hans","comments":true,"permalink":"https://toozhao.com/2017/08/23/vscode-golang/","path":"2017/08/23/vscode-golang/","title":"使用 VS Code 快速搭建你的 Golang 开发 IDE"}</script>
|
||||
|
||||
<title>使用 VS Code 快速搭建你的 Golang 开发 IDE | 大染志</title>
|
||||
<script class="next-config" data-name="calendar" type="application/json">""</script>
|
||||
<title>使用 VS Code 快速搭建你的 Golang 开发 IDE | 大染志</title>
|
||||
|
||||
|
||||
|
||||
@@ -59,126 +52,180 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.1/anime.min.js" integrity="sha256-XL2inqUJaslATFnHdJOi9GfQ60on8Wx1C2H8DYiN1xY=" crossorigin="anonymous" defer></script>
|
||||
<script src="/js/utils.js" defer></script><script src="/js/motion.js" defer></script><script src="/js/sidebar.js" defer></script><script src="/js/next-boot.js" defer></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<noscript>
|
||||
<style>
|
||||
.use-motion .brand,
|
||||
.use-motion .menu-item,
|
||||
.sidebar-inner,
|
||||
.use-motion .post-block,
|
||||
.use-motion .pagination,
|
||||
.use-motion .comments,
|
||||
.use-motion .post-header,
|
||||
.use-motion .post-body,
|
||||
.use-motion .collection-header { opacity: initial; }
|
||||
|
||||
.use-motion .site-title,
|
||||
.use-motion .site-subtitle {
|
||||
opacity: initial;
|
||||
top: initial;
|
||||
}
|
||||
|
||||
.use-motion .logo-line-before i { left: initial; }
|
||||
.use-motion .logo-line-after i { right: initial; }
|
||||
</style>
|
||||
</noscript>
|
||||
|
||||
<link rel="stylesheet" href="/css/noscript.css">
|
||||
</noscript>
|
||||
</head>
|
||||
|
||||
<body itemscope itemtype="http://schema.org/WebPage">
|
||||
<div class="container use-motion">
|
||||
<div class="headband"></div>
|
||||
<body itemscope itemtype="http://schema.org/WebPage" class="use-motion">
|
||||
<div class="headband"></div>
|
||||
|
||||
<header class="header" itemscope itemtype="http://schema.org/WPHeader">
|
||||
<div class="header-inner"><div class="site-brand-container">
|
||||
<main class="main">
|
||||
<div class="column">
|
||||
<header class="header" itemscope itemtype="http://schema.org/WPHeader"><div class="site-brand-container">
|
||||
<div class="site-nav-toggle">
|
||||
<div class="toggle" aria-label="Toggle navigation bar">
|
||||
<span class="toggle-line toggle-line-first"></span>
|
||||
<span class="toggle-line toggle-line-middle"></span>
|
||||
<span class="toggle-line toggle-line-last"></span>
|
||||
<div class="toggle" aria-label="Toggle navigation bar" role="button">
|
||||
<span class="toggle-line"></span>
|
||||
<span class="toggle-line"></span>
|
||||
<span class="toggle-line"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="site-meta">
|
||||
|
||||
<a href="/" class="brand" rel="start">
|
||||
<span class="logo-line-before"><i></i></span>
|
||||
<h1 class="site-title">大染志</h1>
|
||||
<span class="logo-line-after"><i></i></span>
|
||||
<i class="logo-line"></i>
|
||||
<p class="site-title">大染志</p>
|
||||
<i class="logo-line"></i>
|
||||
</a>
|
||||
<p class="site-subtitle" itemprop="description">想要玩得很 High 的程序员</p>
|
||||
</div>
|
||||
|
||||
<div class="site-nav-right">
|
||||
<div class="toggle popup-trigger">
|
||||
<div class="toggle popup-trigger" aria-label="Search" role="button">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<nav class="site-nav">
|
||||
<ul class="main-menu menu"><li class="menu-item menu-item-home"><a href="/" rel="section"><i class="fa fa-home fa-fw"></i>Home</a></li><li class="menu-item menu-item-about"><a href="/about/" rel="section"><i class="fa fa-user fa-fw"></i>About</a></li><li class="menu-item menu-item-archives"><a href="/archives/" rel="section"><i class="fa fa-archive fa-fw"></i>Archives<span class="badge">308</span></a></li><li class="menu-item menu-item-tags"><a href="/tags/" rel="section"><i class="fa fa-tags fa-fw"></i>Tags<span class="badge">249</span></a></li><li class="menu-item menu-item-知识图谱"><a href="https://wiki.toozhao.com/" rel="section" target="_blank"><i class="fa fa-sitemap fa-fw"></i>知识图谱</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<aside class="sidebar">
|
||||
|
||||
<div class="sidebar-inner sidebar-nav-active sidebar-toc-active">
|
||||
<ul class="sidebar-nav">
|
||||
<li class="sidebar-nav-toc">
|
||||
Table of Contents
|
||||
</li>
|
||||
<li class="sidebar-nav-overview">
|
||||
Overview
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="sidebar-panel-container">
|
||||
<!--noindex-->
|
||||
<div class="post-toc-wrap sidebar-panel">
|
||||
<div class="post-toc animated"><ol class="nav"><li class="nav-item nav-level-3"><a class="nav-link" href="#%E5%AE%89%E8%A3%85-vscode"><span class="nav-number">1.</span> <span class="nav-text">安装 vscode</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#%E5%AE%89%E8%A3%85-Go-%E6%8F%92%E4%BB%B6"><span class="nav-number">2.</span> <span class="nav-text">安装 Go 插件</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#%E5%AE%89%E8%A3%85"><span class="nav-number">2.1.</span> <span class="nav-text">安装</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#%E9%85%8D%E7%BD%AE"><span class="nav-number">2.2.</span> <span class="nav-text">配置</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#%E4%BD%BF%E7%94%A8"><span class="nav-number">2.3.</span> <span class="nav-text">使用</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#%E8%B0%83%E8%AF%95-Go%E7%A8%8B%E5%BA%8F"><span class="nav-number">2.4.</span> <span class="nav-text">调试 Go程序</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#%E5%BF%AB%E9%80%9F%E7%9A%84%E6%90%9C%E7%B4%A2"><span class="nav-number">2.5.</span> <span class="nav-text">快速的搜索</span></a></li></ol></li><li class="nav-item nav-level-3"><a class="nav-link" href="#%E5%A6%82%E8%99%8E%E6%B7%BB%E7%BF%BC%E7%9A%84%E5%85%B6%E4%BB%96%E6%8F%92%E4%BB%B6"><span class="nav-number">3.</span> <span class="nav-text">如虎添翼的其他插件</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#IntelliJ-IDEA-Keybindings"><span class="nav-number">3.1.</span> <span class="nav-text">IntelliJ IDEA Keybindings</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#Code-Runner"><span class="nav-number">3.2.</span> <span class="nav-text">Code Runner</span></a></li></ol></li><li class="nav-item nav-level-3"><a class="nav-link" href="#%E6%A6%82%E6%8B%AC"><span class="nav-number">4.</span> <span class="nav-text">概括</span></a></li></ol></div>
|
||||
</div>
|
||||
<!--/noindex-->
|
||||
|
||||
<div class="site-overview-wrap sidebar-panel">
|
||||
<div class="site-author animated" itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||
<p class="site-author-name" itemprop="name">Junv</p>
|
||||
<div class="site-description" itemprop="description">Go, JavaScript, Ruby on Rails, Java,Docker, CI, CD, Photography</div>
|
||||
</div>
|
||||
</header>
|
||||
<div class="site-state-wrap animated">
|
||||
<nav class="site-state">
|
||||
<div class="site-state-item site-state-posts">
|
||||
<a href="/archives/">
|
||||
<span class="site-state-item-count">308</span>
|
||||
<span class="site-state-item-name">posts</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="site-state-item site-state-categories">
|
||||
<a href="/categories/">
|
||||
<span class="site-state-item-count">69</span>
|
||||
<span class="site-state-item-name">categories</span></a>
|
||||
</div>
|
||||
<div class="site-state-item site-state-tags">
|
||||
<a href="/tags/">
|
||||
<span class="site-state-item-count">249</span>
|
||||
<span class="site-state-item-name">tags</span></a>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="back-to-top">
|
||||
<i class="fa fa-arrow-up"></i>
|
||||
<span>0%</span>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
|
||||
<main class="main">
|
||||
<div class="main-inner">
|
||||
<div class="content-wrap">
|
||||
|
||||
</div>
|
||||
|
||||
<div class="content post posts-expand">
|
||||
|
||||
<div class="main-inner post posts-expand">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-block">
|
||||
|
||||
|
||||
<article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-Hans">
|
||||
|
||||
<article itemscope itemtype="http://schema.org/Article" class="post-content" lang="zh-Hans">
|
||||
<link itemprop="mainEntityOfPage" href="https://toozhao.com/2017/08/23/vscode-golang/">
|
||||
|
||||
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||
<meta itemprop="image" content="/images/avatar.gif">
|
||||
<meta itemprop="name" content="Junv">
|
||||
<meta itemprop="description" content="Go, JavaScript, Ruby on Rails, Java,Docker, CI, CD, Photography">
|
||||
</span>
|
||||
|
||||
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
|
||||
<meta itemprop="name" content="大染志">
|
||||
<meta itemprop="description" content="Go, JavaScript, Ruby on Rails, Java,Docker, CI, CD, Photography">
|
||||
</span>
|
||||
|
||||
<span hidden itemprop="post" itemscope itemtype="http://schema.org/CreativeWork">
|
||||
<meta itemprop="name" content="使用 VS Code 快速搭建你的 Golang 开发 IDE | 大染志">
|
||||
<meta itemprop="description" content="">
|
||||
</span>
|
||||
<header class="post-header">
|
||||
<h1 class="post-title" itemprop="name headline">
|
||||
使用 VS Code 快速搭建你的 Golang 开发 IDE
|
||||
</h1>
|
||||
|
||||
<div class="post-meta">
|
||||
<span class="post-meta-item">
|
||||
<span class="post-meta-item-icon">
|
||||
<i class="far fa-calendar"></i>
|
||||
</span>
|
||||
<span class="post-meta-item-text">Posted on</span>
|
||||
<div class="post-meta-container">
|
||||
<div class="post-meta">
|
||||
<span class="post-meta-item">
|
||||
<span class="post-meta-item-icon">
|
||||
<i class="far fa-calendar"></i>
|
||||
</span>
|
||||
<span class="post-meta-item-text">Posted on</span>
|
||||
|
||||
<time title="Created: 2017-08-23 17:26:31" itemprop="dateCreated datePublished" datetime="2017-08-23T17:26:31+10:00">2017-08-23</time>
|
||||
</span>
|
||||
<span class="post-meta-item">
|
||||
<span class="post-meta-item-icon">
|
||||
<i class="far fa-calendar-check"></i>
|
||||
</span>
|
||||
<span class="post-meta-item-text">Edited on</span>
|
||||
<time title="Modified: 2025-10-25 14:21:33" itemprop="dateModified" datetime="2025-10-25T14:21:33+11:00">2025-10-25</time>
|
||||
</span>
|
||||
<time title="Created: 2017-08-23 17:26:31" itemprop="dateCreated datePublished" datetime="2017-08-23T17:26:31+10:00">2017-08-23</time>
|
||||
</span>
|
||||
<span class="post-meta-item">
|
||||
<span class="post-meta-item-icon">
|
||||
<i class="far fa-calendar-check"></i>
|
||||
</span>
|
||||
<span class="post-meta-item-text">Edited on</span>
|
||||
<time title="Modified: 2025-10-27 21:42:00" itemprop="dateModified" datetime="2025-10-27T21:42:00+11:00">2025-10-27</time>
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</header>
|
||||
@@ -186,10 +233,7 @@
|
||||
|
||||
|
||||
|
||||
<div class="post-body" itemprop="articleBody">
|
||||
|
||||
|
||||
<p>说到 IDE 我们想到的都是 Intellij 和 Eclipse系列这样的几百兆的桌面应用程序,它让我们编程效率得以很大提升,在日常工作中变得离不开这些软件。我们最喜欢用的 IDE 功能主要有:</p>
|
||||
<div class="post-body" itemprop="articleBody"><p>说到 IDE 我们想到的都是 Intellij 和 Eclipse系列这样的几百兆的桌面应用程序,它让我们编程效率得以很大提升,在日常工作中变得离不开这些软件。我们最喜欢用的 IDE 功能主要有:</p>
|
||||
<ul>
|
||||
<li>代码自动补全</li>
|
||||
<li>代码重构</li>
|
||||
@@ -252,7 +296,7 @@
|
||||
|
||||
|
||||
|
||||
<footer class="post-footer">
|
||||
<footer class="post-footer">
|
||||
<div class="post-tags">
|
||||
<a href="/tags/go/" rel="tag"># go</a>
|
||||
<a href="/tags/vscode/" rel="tag"># vscode</a>
|
||||
@@ -260,185 +304,63 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-nav">
|
||||
<div class="post-nav-item">
|
||||
<a href="/2016/10/17/easiest-way-to-use-go/" rel="prev" title="开发Go项目最简单的方式 — 一个基于Docker的go 工具">
|
||||
<i class="fa fa-chevron-left"></i> 开发Go项目最简单的方式 — 一个基于Docker的go 工具
|
||||
</a></div>
|
||||
<div class="post-nav-item">
|
||||
<a href="/2017/09/19/caddy/" rel="next" title="快速上手更简单的 Web 服务器 —— Caddy">
|
||||
快速上手更简单的 Web 服务器 —— Caddy <i class="fa fa-chevron-right"></i>
|
||||
</a></div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
</article>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-nav">
|
||||
<div class="post-nav-item">
|
||||
<a href="/2016/10/17/easiest-way-to-use-go/" rel="prev" title="开发Go项目最简单的方式 — 一个基于Docker的go 工具">
|
||||
<i class="fa fa-angle-left"></i> 开发Go项目最简单的方式 — 一个基于Docker的go 工具
|
||||
</a>
|
||||
</div>
|
||||
<div class="post-nav-item">
|
||||
<a href="/2017/09/19/caddy/" rel="next" title="快速上手更简单的 Web 服务器 —— Caddy">
|
||||
快速上手更简单的 Web 服务器 —— Caddy <i class="fa fa-angle-right"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</footer>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
window.addEventListener('tabs:register', () => {
|
||||
let { activeClass } = CONFIG.comments;
|
||||
if (CONFIG.comments.storage) {
|
||||
activeClass = localStorage.getItem('comments_active') || activeClass;
|
||||
}
|
||||
if (activeClass) {
|
||||
let activeTab = document.querySelector(`a[href="#comment-${activeClass}"]`);
|
||||
if (activeTab) {
|
||||
activeTab.click();
|
||||
}
|
||||
}
|
||||
});
|
||||
if (CONFIG.comments.storage) {
|
||||
window.addEventListener('tabs:click', event => {
|
||||
if (!event.target.matches('.tabs-comment .tab-content .tab-pane')) return;
|
||||
let commentClass = event.target.classList[1];
|
||||
localStorage.setItem('comments_active', commentClass);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="toggle sidebar-toggle">
|
||||
<span class="toggle-line toggle-line-first"></span>
|
||||
<span class="toggle-line toggle-line-middle"></span>
|
||||
<span class="toggle-line toggle-line-last"></span>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer-inner">
|
||||
|
||||
<div class="copyright">
|
||||
©
|
||||
<span itemprop="copyrightYear">2025</span>
|
||||
<span class="with-love">
|
||||
<i class="fa fa-heart"></i>
|
||||
</span>
|
||||
<span class="author" itemprop="copyrightHolder">Junv</span>
|
||||
</div>
|
||||
<div class="powered-by">Powered by <a href="https://hexo.io/" rel="noopener" target="_blank">Hexo</a> & <a href="https://theme-next.js.org/muse/" rel="noopener" target="_blank">NexT.Muse</a>
|
||||
</div>
|
||||
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-inner">
|
||||
|
||||
<ul class="sidebar-nav motion-element">
|
||||
<li class="sidebar-nav-toc">
|
||||
Table of Contents
|
||||
</li>
|
||||
<li class="sidebar-nav-overview">
|
||||
Overview
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<!--noindex-->
|
||||
<div class="post-toc-wrap sidebar-panel">
|
||||
<div class="post-toc motion-element"><ol class="nav"><li class="nav-item nav-level-3"><a class="nav-link" href="#%E5%AE%89%E8%A3%85-vscode"><span class="nav-number">1.</span> <span class="nav-text">安装 vscode</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#%E5%AE%89%E8%A3%85-Go-%E6%8F%92%E4%BB%B6"><span class="nav-number">2.</span> <span class="nav-text">安装 Go 插件</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#%E5%AE%89%E8%A3%85"><span class="nav-number">2.1.</span> <span class="nav-text">安装</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#%E9%85%8D%E7%BD%AE"><span class="nav-number">2.2.</span> <span class="nav-text">配置</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#%E4%BD%BF%E7%94%A8"><span class="nav-number">2.3.</span> <span class="nav-text">使用</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#%E8%B0%83%E8%AF%95-Go%E7%A8%8B%E5%BA%8F"><span class="nav-number">2.4.</span> <span class="nav-text">调试 Go程序</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#%E5%BF%AB%E9%80%9F%E7%9A%84%E6%90%9C%E7%B4%A2"><span class="nav-number">2.5.</span> <span class="nav-text">快速的搜索</span></a></li></ol></li><li class="nav-item nav-level-3"><a class="nav-link" href="#%E5%A6%82%E8%99%8E%E6%B7%BB%E7%BF%BC%E7%9A%84%E5%85%B6%E4%BB%96%E6%8F%92%E4%BB%B6"><span class="nav-number">3.</span> <span class="nav-text">如虎添翼的其他插件</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#IntelliJ-IDEA-Keybindings"><span class="nav-number">3.1.</span> <span class="nav-text">IntelliJ IDEA Keybindings</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#Code-Runner"><span class="nav-number">3.2.</span> <span class="nav-text">Code Runner</span></a></li></ol></li><li class="nav-item nav-level-3"><a class="nav-link" href="#%E6%A6%82%E6%8B%AC"><span class="nav-number">4.</span> <span class="nav-text">概括</span></a></li></ol></div>
|
||||
</div>
|
||||
<!--/noindex-->
|
||||
|
||||
<div class="site-overview-wrap sidebar-panel">
|
||||
<div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||
<p class="site-author-name" itemprop="name">Junv</p>
|
||||
<div class="site-description" itemprop="description">Go, JavaScript, Ruby on Rails, Java,Docker, CI, CD, Photography</div>
|
||||
</div>
|
||||
<div class="site-state-wrap motion-element">
|
||||
<nav class="site-state">
|
||||
<div class="site-state-item site-state-posts">
|
||||
<a href="/archives">
|
||||
<span class="site-state-item-count">307</span>
|
||||
<span class="site-state-item-name">posts</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="site-state-item site-state-categories">
|
||||
<a href="/categories/">
|
||||
<span class="site-state-item-count">69</span>
|
||||
<span class="site-state-item-name">categories</span></a>
|
||||
</div>
|
||||
<div class="site-state-item site-state-tags">
|
||||
<a href="/tags/">
|
||||
<span class="site-state-item-count">247</span>
|
||||
<span class="site-state-item-name">tags</span></a>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</aside>
|
||||
<div id="sidebar-dimmer"></div>
|
||||
</footer>
|
||||
|
||||
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer-inner">
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="copyright">
|
||||
|
||||
©
|
||||
<span itemprop="copyrightYear">2025</span>
|
||||
<span class="with-love">
|
||||
<i class="fa fa-heart"></i>
|
||||
</span>
|
||||
<span class="author" itemprop="copyrightHolder">Junv</span>
|
||||
</div>
|
||||
<div class="powered-by">Powered by <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> & <a href="https://muse.theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Muse</a>
|
||||
<div class="toggle sidebar-toggle" role="button">
|
||||
<span class="toggle-line"></span>
|
||||
<span class="toggle-line"></span>
|
||||
<span class="toggle-line"></span>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</footer>
|
||||
<div class="sidebar-dimmer"></div>
|
||||
<div class="back-to-top" role="button" aria-label="Back to top">
|
||||
<i class="fa fa-arrow-up fa-lg"></i>
|
||||
<span>0%</span>
|
||||
</div>
|
||||
<div class="reading-progress-bar"></div>
|
||||
|
||||
|
||||
<script src="/lib/anime.min.js"></script>
|
||||
<script src="/lib/velocity/velocity.min.js"></script>
|
||||
<script src="/lib/velocity/velocity.ui.min.js"></script>
|
||||
|
||||
<script src="/js/utils.js"></script>
|
||||
|
||||
<script src="/js/motion.js"></script>
|
||||
|
||||
|
||||
<script src="/js/schemes/muse.js"></script>
|
||||
|
||||
|
||||
<script src="/js/next-boot.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<noscript>
|
||||
<div class="noscript-warning">Theme NexT works best with JavaScript enabled</div>
|
||||
</noscript>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+181
-259
@@ -2,9 +2,9 @@
|
||||
<html lang="zh-Hans">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
|
||||
<meta name="theme-color" content="#222">
|
||||
<meta name="generator" content="Hexo 6.3.0">
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<meta name="theme-color" content="#222"><meta name="generator" content="Hexo 6.3.0">
|
||||
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png">
|
||||
@@ -13,14 +13,13 @@
|
||||
<link rel="stylesheet" href="/css/main.css">
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/lib/font-awesome/css/all.min.css">
|
||||
|
||||
<script id="hexo-configurations">
|
||||
var NexT = window.NexT || {};
|
||||
var CONFIG = {"hostname":"toozhao.com","root":"/","scheme":"Muse","version":"7.8.0","exturl":false,"sidebar":{"position":"left","display":"post","offset":12,"b2t":false,"scrollpercent":false,"onmobile":false,"width_expanded":320,"width_dual_column":240,"padding":18},"copycode":{"enable":false,"style":null},"back2top":{"enable":true,"sidebar":false,"scrollpercent":false},"bookmark":{"enable":false,"color":"#222","save":"auto"},"fancybox":false,"mediumzoom":false,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"algolia":{"hits":{"per_page":10},"labels":{"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}},"localsearch":{"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},"motion":{"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"fadeInDown","post_body":"fadeInDown","coll_header":"fadeInLeft","sidebar":"fadeInUp","menu_item":"fadeInDown"},"duration":200}};
|
||||
</script>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.0/css/all.min.css" integrity="sha256-VHqXKFhhMxcpubYf9xiWdCiojEbY9NexQ4jh8AxbvcM=" crossorigin="anonymous">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.1.1/animate.min.css" integrity="sha256-PR7ttpcvz8qrF57fur/yAx1qXMFJeJFiA6pSzWi0OIE=" crossorigin="anonymous">
|
||||
|
||||
<meta name="description" content="说到Web 服务器,我们大多想到的是 Apache 这个老前辈和如日中天的Nginx,但是这里今天我将要分享的是 Web 服务器和反向代理服务器的新秀 Caddy。在我们拥有了这么强大的 Nginx 以后我们为什么还需要 Caddy?我认为 Caddy 之所以可以占有一席之地是因为它的两大法宝:配置简单 和 自动启用 HTTPS。下面带下面快速上手这个软件。 安装Caddy 提醒定制化的下载,可">
|
||||
<script class="next-config" data-name="main" type="application/json">{"hostname":"toozhao.com","root":"/","images":"/images","scheme":"Muse","darkmode":false,"version":"8.25.0","exturl":false,"sidebar":{"position":"left","width_expanded":320,"width_dual_column":240,"display":"post","padding":18,"offset":12},"hljswrap":true,"codeblock":{"theme":{"light":"default","dark":"stackoverflow-dark"},"prism":{"light":"prism","dark":"prism-dark"},"copy_button":{"enable":false,"style":null},"fold":{"enable":false,"height":500},"language":false},"bookmark":{"enable":false,"color":"#222","save":"auto"},"mediumzoom":false,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"stickytabs":false,"motion":{"enable":true,"async":false,"duration":200,"transition":{"menu_item":"fadeInDown","post_block":"fadeIn","post_header":"fadeInDown","post_body":"fadeInDown","coll_header":"fadeInLeft","sidebar":"fadeInUp"}},"prism":false,"i18n":{"placeholder":"Searching...","empty":"We didn't find any results for the search: ${query}","hits_time":"${hits} results found in ${time} ms","hits":"${hits} results found"}}</script><script src="/js/config.js" defer></script>
|
||||
|
||||
<meta name="description" content="说到Web 服务器,我们大多想到的是 Apache 这个老前辈和如日中天的Nginx,但是这里今天我将要分享的是 Web 服务器和反向代理服务器的新秀 Caddy。在我们拥有了这么强大的 Nginx 以后我们为什么还需要 Caddy?我认为 Caddy 之所以可以占有一席之地是因为它的两大法宝:配置简单 和 自动启用 HTTPS。下面带下面快速上手这个软件。 安装Caddy 提醒定制化的下载,可">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:title" content="快速上手更简单的 Web 服务器 —— Caddy">
|
||||
<meta property="og:url" content="https://toozhao.com/2017/09/19/caddy/index.html">
|
||||
@@ -29,26 +28,20 @@
|
||||
<meta property="og:locale">
|
||||
<meta property="og:image" content="https://wx2.sinaimg.cn/mw1024/49fcaea6gy1fjp0hua3q1j20yp0l7dzc.jpg">
|
||||
<meta property="article:published_time" content="2017-09-19T06:23:53.000Z">
|
||||
<meta property="article:modified_time" content="2017-10-13T01:47:58.000Z">
|
||||
<meta property="article:modified_time" content="2025-10-27T10:42:00.951Z">
|
||||
<meta property="article:author" content="Junv">
|
||||
<meta property="article:tag" content="caddy">
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:image" content="https://wx2.sinaimg.cn/mw1024/49fcaea6gy1fjp0hua3q1j20yp0l7dzc.jpg">
|
||||
|
||||
|
||||
<link rel="canonical" href="https://toozhao.com/2017/09/19/caddy/">
|
||||
|
||||
|
||||
<script id="page-configurations">
|
||||
// https://hexo.io/docs/variables.html
|
||||
CONFIG.page = {
|
||||
sidebar: "",
|
||||
isHome : false,
|
||||
isPost : true,
|
||||
lang : 'zh-Hans'
|
||||
};
|
||||
</script>
|
||||
<script class="next-config" data-name="page" type="application/json">{"sidebar":"","isHome":false,"isPost":true,"lang":"zh-Hans","comments":true,"permalink":"https://toozhao.com/2017/09/19/caddy/","path":"2017/09/19/caddy/","title":"快速上手更简单的 Web 服务器 —— Caddy"}</script>
|
||||
|
||||
<title>快速上手更简单的 Web 服务器 —— Caddy | 大染志</title>
|
||||
<script class="next-config" data-name="calendar" type="application/json">""</script>
|
||||
<title>快速上手更简单的 Web 服务器 —— Caddy | 大染志</title>
|
||||
|
||||
|
||||
|
||||
@@ -56,126 +49,180 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.1/anime.min.js" integrity="sha256-XL2inqUJaslATFnHdJOi9GfQ60on8Wx1C2H8DYiN1xY=" crossorigin="anonymous" defer></script>
|
||||
<script src="/js/utils.js" defer></script><script src="/js/motion.js" defer></script><script src="/js/sidebar.js" defer></script><script src="/js/next-boot.js" defer></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<noscript>
|
||||
<style>
|
||||
.use-motion .brand,
|
||||
.use-motion .menu-item,
|
||||
.sidebar-inner,
|
||||
.use-motion .post-block,
|
||||
.use-motion .pagination,
|
||||
.use-motion .comments,
|
||||
.use-motion .post-header,
|
||||
.use-motion .post-body,
|
||||
.use-motion .collection-header { opacity: initial; }
|
||||
|
||||
.use-motion .site-title,
|
||||
.use-motion .site-subtitle {
|
||||
opacity: initial;
|
||||
top: initial;
|
||||
}
|
||||
|
||||
.use-motion .logo-line-before i { left: initial; }
|
||||
.use-motion .logo-line-after i { right: initial; }
|
||||
</style>
|
||||
</noscript>
|
||||
|
||||
<link rel="stylesheet" href="/css/noscript.css">
|
||||
</noscript>
|
||||
</head>
|
||||
|
||||
<body itemscope itemtype="http://schema.org/WebPage">
|
||||
<div class="container use-motion">
|
||||
<div class="headband"></div>
|
||||
<body itemscope itemtype="http://schema.org/WebPage" class="use-motion">
|
||||
<div class="headband"></div>
|
||||
|
||||
<header class="header" itemscope itemtype="http://schema.org/WPHeader">
|
||||
<div class="header-inner"><div class="site-brand-container">
|
||||
<main class="main">
|
||||
<div class="column">
|
||||
<header class="header" itemscope itemtype="http://schema.org/WPHeader"><div class="site-brand-container">
|
||||
<div class="site-nav-toggle">
|
||||
<div class="toggle" aria-label="Toggle navigation bar">
|
||||
<span class="toggle-line toggle-line-first"></span>
|
||||
<span class="toggle-line toggle-line-middle"></span>
|
||||
<span class="toggle-line toggle-line-last"></span>
|
||||
<div class="toggle" aria-label="Toggle navigation bar" role="button">
|
||||
<span class="toggle-line"></span>
|
||||
<span class="toggle-line"></span>
|
||||
<span class="toggle-line"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="site-meta">
|
||||
|
||||
<a href="/" class="brand" rel="start">
|
||||
<span class="logo-line-before"><i></i></span>
|
||||
<h1 class="site-title">大染志</h1>
|
||||
<span class="logo-line-after"><i></i></span>
|
||||
<i class="logo-line"></i>
|
||||
<p class="site-title">大染志</p>
|
||||
<i class="logo-line"></i>
|
||||
</a>
|
||||
<p class="site-subtitle" itemprop="description">想要玩得很 High 的程序员</p>
|
||||
</div>
|
||||
|
||||
<div class="site-nav-right">
|
||||
<div class="toggle popup-trigger">
|
||||
<div class="toggle popup-trigger" aria-label="Search" role="button">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<nav class="site-nav">
|
||||
<ul class="main-menu menu"><li class="menu-item menu-item-home"><a href="/" rel="section"><i class="fa fa-home fa-fw"></i>Home</a></li><li class="menu-item menu-item-about"><a href="/about/" rel="section"><i class="fa fa-user fa-fw"></i>About</a></li><li class="menu-item menu-item-archives"><a href="/archives/" rel="section"><i class="fa fa-archive fa-fw"></i>Archives<span class="badge">308</span></a></li><li class="menu-item menu-item-tags"><a href="/tags/" rel="section"><i class="fa fa-tags fa-fw"></i>Tags<span class="badge">249</span></a></li><li class="menu-item menu-item-知识图谱"><a href="https://wiki.toozhao.com/" rel="section" target="_blank"><i class="fa fa-sitemap fa-fw"></i>知识图谱</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<aside class="sidebar">
|
||||
|
||||
<div class="sidebar-inner sidebar-nav-active sidebar-toc-active">
|
||||
<ul class="sidebar-nav">
|
||||
<li class="sidebar-nav-toc">
|
||||
Table of Contents
|
||||
</li>
|
||||
<li class="sidebar-nav-overview">
|
||||
Overview
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="sidebar-panel-container">
|
||||
<!--noindex-->
|
||||
<div class="post-toc-wrap sidebar-panel">
|
||||
<div class="post-toc animated"><ol class="nav"><li class="nav-item nav-level-2"><a class="nav-link" href="#%E5%AE%89%E8%A3%85"><span class="nav-number">1.</span> <span class="nav-text">安装</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#Hello-World"><span class="nav-number">2.</span> <span class="nav-text">Hello World</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#%E5%BC%BA%E5%A4%A7%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6"><span class="nav-number">3.</span> <span class="nav-text">强大的配置文件</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#Host-%E7%9B%AE%E5%BD%95%E4%B8%8B%E7%9A%84%E7%BD%91%E9%A1%B5"><span class="nav-number">3.1.</span> <span class="nav-text">Host 目录下的网页</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#%E9%85%8D%E7%BD%AE%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86"><span class="nav-number">3.2.</span> <span class="nav-text">配置反向代理</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#%E8%87%AA%E5%8A%A8-HTTPS"><span class="nav-number">4.</span> <span class="nav-text">自动 HTTPS</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#%E6%80%BB%E7%BB%93"><span class="nav-number">5.</span> <span class="nav-text">总结</span></a></li></ol></div>
|
||||
</div>
|
||||
<!--/noindex-->
|
||||
|
||||
<div class="site-overview-wrap sidebar-panel">
|
||||
<div class="site-author animated" itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||
<p class="site-author-name" itemprop="name">Junv</p>
|
||||
<div class="site-description" itemprop="description">Go, JavaScript, Ruby on Rails, Java,Docker, CI, CD, Photography</div>
|
||||
</div>
|
||||
</header>
|
||||
<div class="site-state-wrap animated">
|
||||
<nav class="site-state">
|
||||
<div class="site-state-item site-state-posts">
|
||||
<a href="/archives/">
|
||||
<span class="site-state-item-count">308</span>
|
||||
<span class="site-state-item-name">posts</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="site-state-item site-state-categories">
|
||||
<a href="/categories/">
|
||||
<span class="site-state-item-count">69</span>
|
||||
<span class="site-state-item-name">categories</span></a>
|
||||
</div>
|
||||
<div class="site-state-item site-state-tags">
|
||||
<a href="/tags/">
|
||||
<span class="site-state-item-count">249</span>
|
||||
<span class="site-state-item-name">tags</span></a>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="back-to-top">
|
||||
<i class="fa fa-arrow-up"></i>
|
||||
<span>0%</span>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
|
||||
<main class="main">
|
||||
<div class="main-inner">
|
||||
<div class="content-wrap">
|
||||
|
||||
</div>
|
||||
|
||||
<div class="content post posts-expand">
|
||||
|
||||
<div class="main-inner post posts-expand">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-block">
|
||||
|
||||
|
||||
<article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-Hans">
|
||||
|
||||
<article itemscope itemtype="http://schema.org/Article" class="post-content" lang="zh-Hans">
|
||||
<link itemprop="mainEntityOfPage" href="https://toozhao.com/2017/09/19/caddy/">
|
||||
|
||||
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||
<meta itemprop="image" content="/images/avatar.gif">
|
||||
<meta itemprop="name" content="Junv">
|
||||
<meta itemprop="description" content="Go, JavaScript, Ruby on Rails, Java,Docker, CI, CD, Photography">
|
||||
</span>
|
||||
|
||||
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
|
||||
<meta itemprop="name" content="大染志">
|
||||
<meta itemprop="description" content="Go, JavaScript, Ruby on Rails, Java,Docker, CI, CD, Photography">
|
||||
</span>
|
||||
|
||||
<span hidden itemprop="post" itemscope itemtype="http://schema.org/CreativeWork">
|
||||
<meta itemprop="name" content="快速上手更简单的 Web 服务器 —— Caddy | 大染志">
|
||||
<meta itemprop="description" content="">
|
||||
</span>
|
||||
<header class="post-header">
|
||||
<h1 class="post-title" itemprop="name headline">
|
||||
快速上手更简单的 Web 服务器 —— Caddy
|
||||
</h1>
|
||||
|
||||
<div class="post-meta">
|
||||
<span class="post-meta-item">
|
||||
<span class="post-meta-item-icon">
|
||||
<i class="far fa-calendar"></i>
|
||||
</span>
|
||||
<span class="post-meta-item-text">Posted on</span>
|
||||
<div class="post-meta-container">
|
||||
<div class="post-meta">
|
||||
<span class="post-meta-item">
|
||||
<span class="post-meta-item-icon">
|
||||
<i class="far fa-calendar"></i>
|
||||
</span>
|
||||
<span class="post-meta-item-text">Posted on</span>
|
||||
|
||||
<time title="Created: 2017-09-19 16:23:53" itemprop="dateCreated datePublished" datetime="2017-09-19T16:23:53+10:00">2017-09-19</time>
|
||||
</span>
|
||||
<span class="post-meta-item">
|
||||
<span class="post-meta-item-icon">
|
||||
<i class="far fa-calendar-check"></i>
|
||||
</span>
|
||||
<span class="post-meta-item-text">Edited on</span>
|
||||
<time title="Modified: 2017-10-13 12:47:58" itemprop="dateModified" datetime="2017-10-13T12:47:58+11:00">2017-10-13</time>
|
||||
</span>
|
||||
<time title="Created: 2017-09-19 16:23:53" itemprop="dateCreated datePublished" datetime="2017-09-19T16:23:53+10:00">2017-09-19</time>
|
||||
</span>
|
||||
<span class="post-meta-item">
|
||||
<span class="post-meta-item-icon">
|
||||
<i class="far fa-calendar-check"></i>
|
||||
</span>
|
||||
<span class="post-meta-item-text">Edited on</span>
|
||||
<time title="Modified: 2025-10-27 21:42:00" itemprop="dateModified" datetime="2025-10-27T21:42:00+11:00">2025-10-27</time>
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</header>
|
||||
@@ -183,10 +230,7 @@
|
||||
|
||||
|
||||
|
||||
<div class="post-body" itemprop="articleBody">
|
||||
|
||||
|
||||
<p><img src="https://wx2.sinaimg.cn/mw1024/49fcaea6gy1fjp0hua3q1j20yp0l7dzc.jpg" alt="Caddy"></p>
|
||||
<div class="post-body" itemprop="articleBody"><p><img src="https://wx2.sinaimg.cn/mw1024/49fcaea6gy1fjp0hua3q1j20yp0l7dzc.jpg" alt="Caddy"></p>
|
||||
<p>说到Web 服务器,我们大多想到的是 Apache 这个老前辈和如日中天的Nginx,但是这里今天我将要分享的是 Web 服务器和反向代理服务器的新秀 Caddy。在我们拥有了这么强大的 Nginx 以后我们为什么还需要 Caddy?<br>我认为 Caddy 之所以可以占有一席之地是因为它的两大法宝:<code>配置简单</code> 和 <code>自动启用 HTTPS</code>。下面带下面快速上手这个软件。</p>
|
||||
<h2 id="安装"><a href="#安装" class="headerlink" title="安装"></a>安装</h2><p>Caddy 提醒定制化的下载,可以自由选择各种插件和平台。请前往: <a target="_blank" rel="noopener" href="https://caddyserver.com/download">https://caddyserver.com/download</a> 下载。 也可以使用这个一键安装脚本:</p>
|
||||
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">curl https://getcaddy.com | bash</span><br></pre></td></tr></table></figure>
|
||||
@@ -222,192 +266,70 @@
|
||||
|
||||
|
||||
|
||||
<footer class="post-footer">
|
||||
<footer class="post-footer">
|
||||
<div class="post-tags">
|
||||
<a href="/tags/caddy/" rel="tag"># caddy</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-nav">
|
||||
<div class="post-nav-item">
|
||||
<a href="/2017/08/23/vscode-golang/" rel="prev" title="使用 VS Code 快速搭建你的 Golang 开发 IDE">
|
||||
<i class="fa fa-chevron-left"></i> 使用 VS Code 快速搭建你的 Golang 开发 IDE
|
||||
</a></div>
|
||||
<div class="post-nav-item">
|
||||
<a href="/2017/10/12/caddy-markdown/" rel="next" title="使用 Caddy Web服务器显示 Markdown 文件">
|
||||
使用 Caddy Web服务器显示 Markdown 文件 <i class="fa fa-chevron-right"></i>
|
||||
</a></div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
</article>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-nav">
|
||||
<div class="post-nav-item">
|
||||
<a href="/2017/08/23/vscode-golang/" rel="prev" title="使用 VS Code 快速搭建你的 Golang 开发 IDE">
|
||||
<i class="fa fa-angle-left"></i> 使用 VS Code 快速搭建你的 Golang 开发 IDE
|
||||
</a>
|
||||
</div>
|
||||
<div class="post-nav-item">
|
||||
<a href="/2017/10/12/caddy-markdown/" rel="next" title="使用 Caddy Web服务器显示 Markdown 文件">
|
||||
使用 Caddy Web服务器显示 Markdown 文件 <i class="fa fa-angle-right"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</footer>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
window.addEventListener('tabs:register', () => {
|
||||
let { activeClass } = CONFIG.comments;
|
||||
if (CONFIG.comments.storage) {
|
||||
activeClass = localStorage.getItem('comments_active') || activeClass;
|
||||
}
|
||||
if (activeClass) {
|
||||
let activeTab = document.querySelector(`a[href="#comment-${activeClass}"]`);
|
||||
if (activeTab) {
|
||||
activeTab.click();
|
||||
}
|
||||
}
|
||||
});
|
||||
if (CONFIG.comments.storage) {
|
||||
window.addEventListener('tabs:click', event => {
|
||||
if (!event.target.matches('.tabs-comment .tab-content .tab-pane')) return;
|
||||
let commentClass = event.target.classList[1];
|
||||
localStorage.setItem('comments_active', commentClass);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="toggle sidebar-toggle">
|
||||
<span class="toggle-line toggle-line-first"></span>
|
||||
<span class="toggle-line toggle-line-middle"></span>
|
||||
<span class="toggle-line toggle-line-last"></span>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer-inner">
|
||||
|
||||
<div class="copyright">
|
||||
©
|
||||
<span itemprop="copyrightYear">2025</span>
|
||||
<span class="with-love">
|
||||
<i class="fa fa-heart"></i>
|
||||
</span>
|
||||
<span class="author" itemprop="copyrightHolder">Junv</span>
|
||||
</div>
|
||||
<div class="powered-by">Powered by <a href="https://hexo.io/" rel="noopener" target="_blank">Hexo</a> & <a href="https://theme-next.js.org/muse/" rel="noopener" target="_blank">NexT.Muse</a>
|
||||
</div>
|
||||
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-inner">
|
||||
|
||||
<ul class="sidebar-nav motion-element">
|
||||
<li class="sidebar-nav-toc">
|
||||
Table of Contents
|
||||
</li>
|
||||
<li class="sidebar-nav-overview">
|
||||
Overview
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<!--noindex-->
|
||||
<div class="post-toc-wrap sidebar-panel">
|
||||
<div class="post-toc motion-element"><ol class="nav"><li class="nav-item nav-level-2"><a class="nav-link" href="#%E5%AE%89%E8%A3%85"><span class="nav-number">1.</span> <span class="nav-text">安装</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#Hello-World"><span class="nav-number">2.</span> <span class="nav-text">Hello World</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#%E5%BC%BA%E5%A4%A7%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6"><span class="nav-number">3.</span> <span class="nav-text">强大的配置文件</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#Host-%E7%9B%AE%E5%BD%95%E4%B8%8B%E7%9A%84%E7%BD%91%E9%A1%B5"><span class="nav-number">3.1.</span> <span class="nav-text">Host 目录下的网页</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#%E9%85%8D%E7%BD%AE%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86"><span class="nav-number">3.2.</span> <span class="nav-text">配置反向代理</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#%E8%87%AA%E5%8A%A8-HTTPS"><span class="nav-number">4.</span> <span class="nav-text">自动 HTTPS</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#%E6%80%BB%E7%BB%93"><span class="nav-number">5.</span> <span class="nav-text">总结</span></a></li></ol></div>
|
||||
</div>
|
||||
<!--/noindex-->
|
||||
|
||||
<div class="site-overview-wrap sidebar-panel">
|
||||
<div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||
<p class="site-author-name" itemprop="name">Junv</p>
|
||||
<div class="site-description" itemprop="description">Go, JavaScript, Ruby on Rails, Java,Docker, CI, CD, Photography</div>
|
||||
</div>
|
||||
<div class="site-state-wrap motion-element">
|
||||
<nav class="site-state">
|
||||
<div class="site-state-item site-state-posts">
|
||||
<a href="/archives">
|
||||
<span class="site-state-item-count">307</span>
|
||||
<span class="site-state-item-name">posts</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="site-state-item site-state-categories">
|
||||
<a href="/categories/">
|
||||
<span class="site-state-item-count">69</span>
|
||||
<span class="site-state-item-name">categories</span></a>
|
||||
</div>
|
||||
<div class="site-state-item site-state-tags">
|
||||
<a href="/tags/">
|
||||
<span class="site-state-item-count">247</span>
|
||||
<span class="site-state-item-name">tags</span></a>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</aside>
|
||||
<div id="sidebar-dimmer"></div>
|
||||
</footer>
|
||||
|
||||
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer-inner">
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="copyright">
|
||||
|
||||
©
|
||||
<span itemprop="copyrightYear">2025</span>
|
||||
<span class="with-love">
|
||||
<i class="fa fa-heart"></i>
|
||||
</span>
|
||||
<span class="author" itemprop="copyrightHolder">Junv</span>
|
||||
</div>
|
||||
<div class="powered-by">Powered by <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> & <a href="https://muse.theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Muse</a>
|
||||
<div class="toggle sidebar-toggle" role="button">
|
||||
<span class="toggle-line"></span>
|
||||
<span class="toggle-line"></span>
|
||||
<span class="toggle-line"></span>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</footer>
|
||||
<div class="sidebar-dimmer"></div>
|
||||
<div class="back-to-top" role="button" aria-label="Back to top">
|
||||
<i class="fa fa-arrow-up fa-lg"></i>
|
||||
<span>0%</span>
|
||||
</div>
|
||||
<div class="reading-progress-bar"></div>
|
||||
|
||||
|
||||
<script src="/lib/anime.min.js"></script>
|
||||
<script src="/lib/velocity/velocity.min.js"></script>
|
||||
<script src="/lib/velocity/velocity.ui.min.js"></script>
|
||||
|
||||
<script src="/js/utils.js"></script>
|
||||
|
||||
<script src="/js/motion.js"></script>
|
||||
|
||||
|
||||
<script src="/js/schemes/muse.js"></script>
|
||||
|
||||
|
||||
<script src="/js/next-boot.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<noscript>
|
||||
<div class="noscript-warning">Theme NexT works best with JavaScript enabled</div>
|
||||
</noscript>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
<html lang="zh-Hans">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
|
||||
<meta name="theme-color" content="#222">
|
||||
<meta name="generator" content="Hexo 6.3.0">
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<meta name="theme-color" content="#222"><meta name="generator" content="Hexo 6.3.0">
|
||||
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png">
|
||||
@@ -13,14 +13,13 @@
|
||||
<link rel="stylesheet" href="/css/main.css">
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/lib/font-awesome/css/all.min.css">
|
||||
|
||||
<script id="hexo-configurations">
|
||||
var NexT = window.NexT || {};
|
||||
var CONFIG = {"hostname":"toozhao.com","root":"/","scheme":"Muse","version":"7.8.0","exturl":false,"sidebar":{"position":"left","display":"post","offset":12,"b2t":false,"scrollpercent":false,"onmobile":false,"width_expanded":320,"width_dual_column":240,"padding":18},"copycode":{"enable":false,"style":null},"back2top":{"enable":true,"sidebar":false,"scrollpercent":false},"bookmark":{"enable":false,"color":"#222","save":"auto"},"fancybox":false,"mediumzoom":false,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"algolia":{"hits":{"per_page":10},"labels":{"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}},"localsearch":{"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},"motion":{"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"fadeInDown","post_body":"fadeInDown","coll_header":"fadeInLeft","sidebar":"fadeInUp","menu_item":"fadeInDown"},"duration":200}};
|
||||
</script>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.0/css/all.min.css" integrity="sha256-VHqXKFhhMxcpubYf9xiWdCiojEbY9NexQ4jh8AxbvcM=" crossorigin="anonymous">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.1.1/animate.min.css" integrity="sha256-PR7ttpcvz8qrF57fur/yAx1qXMFJeJFiA6pSzWi0OIE=" crossorigin="anonymous">
|
||||
|
||||
<meta name="description" content="建议阅读此篇文章前,先阅读本博客的前篇 Caddy上手文章 ——【快速上手更简单的 Web 服务器 —— Caddy】 本篇文章我们将利用 Caddy Web 服务器的Markdown 插件和它强大的网页模板功能,在直接托管,渲染显示Markdown文件。 现在得益于 Markdown 的简单易用,越来越多的文档都在使用使用 Markdown来编写。像我们常用的 Github、GitBook 等流">
|
||||
<script class="next-config" data-name="main" type="application/json">{"hostname":"toozhao.com","root":"/","images":"/images","scheme":"Muse","darkmode":false,"version":"8.25.0","exturl":false,"sidebar":{"position":"left","width_expanded":320,"width_dual_column":240,"display":"post","padding":18,"offset":12},"hljswrap":true,"codeblock":{"theme":{"light":"default","dark":"stackoverflow-dark"},"prism":{"light":"prism","dark":"prism-dark"},"copy_button":{"enable":false,"style":null},"fold":{"enable":false,"height":500},"language":false},"bookmark":{"enable":false,"color":"#222","save":"auto"},"mediumzoom":false,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"stickytabs":false,"motion":{"enable":true,"async":false,"duration":200,"transition":{"menu_item":"fadeInDown","post_block":"fadeIn","post_header":"fadeInDown","post_body":"fadeInDown","coll_header":"fadeInLeft","sidebar":"fadeInUp"}},"prism":false,"i18n":{"placeholder":"Searching...","empty":"We didn't find any results for the search: ${query}","hits_time":"${hits} results found in ${time} ms","hits":"${hits} results found"}}</script><script src="/js/config.js" defer></script>
|
||||
|
||||
<meta name="description" content="建议阅读此篇文章前,先阅读本博客的前篇 Caddy上手文章 ——【快速上手更简单的 Web 服务器 —— Caddy】 本篇文章我们将利用 Caddy Web 服务器的Markdown 插件和它强大的网页模板功能,在直接托管,渲染显示Markdown文件。 现在得益于 Markdown 的简单易用,越来越多的文档都在使用使用 Markdown来编写。像我们常用的 Github、GitBook 等流">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:title" content="使用 Caddy Web服务器显示 Markdown 文件">
|
||||
<meta property="og:url" content="https://toozhao.com/2017/10/12/caddy-markdown/index.html">
|
||||
@@ -33,27 +32,21 @@
|
||||
<meta property="og:image" content="https://toozhao.com/final.png">
|
||||
<meta property="og:image" content="https://toozhao.com/another.png">
|
||||
<meta property="article:published_time" content="2017-10-12T05:15:20.000Z">
|
||||
<meta property="article:modified_time" content="2025-10-25T03:23:28.250Z">
|
||||
<meta property="article:modified_time" content="2025-10-27T10:42:00.952Z">
|
||||
<meta property="article:author" content="Junv">
|
||||
<meta property="article:tag" content="caddy">
|
||||
<meta property="article:tag" content="markdown">
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:image" content="https://toozhao.com/files.png">
|
||||
|
||||
|
||||
<link rel="canonical" href="https://toozhao.com/2017/10/12/caddy-markdown/">
|
||||
|
||||
|
||||
<script id="page-configurations">
|
||||
// https://hexo.io/docs/variables.html
|
||||
CONFIG.page = {
|
||||
sidebar: "",
|
||||
isHome : false,
|
||||
isPost : true,
|
||||
lang : 'zh-Hans'
|
||||
};
|
||||
</script>
|
||||
<script class="next-config" data-name="page" type="application/json">{"sidebar":"","isHome":false,"isPost":true,"lang":"zh-Hans","comments":true,"permalink":"https://toozhao.com/2017/10/12/caddy-markdown/","path":"2017/10/12/caddy-markdown/","title":"使用 Caddy Web服务器显示 Markdown 文件"}</script>
|
||||
|
||||
<title>使用 Caddy Web服务器显示 Markdown 文件 | 大染志</title>
|
||||
<script class="next-config" data-name="calendar" type="application/json">""</script>
|
||||
<title>使用 Caddy Web服务器显示 Markdown 文件 | 大染志</title>
|
||||
|
||||
|
||||
|
||||
@@ -61,126 +54,180 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.1/anime.min.js" integrity="sha256-XL2inqUJaslATFnHdJOi9GfQ60on8Wx1C2H8DYiN1xY=" crossorigin="anonymous" defer></script>
|
||||
<script src="/js/utils.js" defer></script><script src="/js/motion.js" defer></script><script src="/js/sidebar.js" defer></script><script src="/js/next-boot.js" defer></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<noscript>
|
||||
<style>
|
||||
.use-motion .brand,
|
||||
.use-motion .menu-item,
|
||||
.sidebar-inner,
|
||||
.use-motion .post-block,
|
||||
.use-motion .pagination,
|
||||
.use-motion .comments,
|
||||
.use-motion .post-header,
|
||||
.use-motion .post-body,
|
||||
.use-motion .collection-header { opacity: initial; }
|
||||
|
||||
.use-motion .site-title,
|
||||
.use-motion .site-subtitle {
|
||||
opacity: initial;
|
||||
top: initial;
|
||||
}
|
||||
|
||||
.use-motion .logo-line-before i { left: initial; }
|
||||
.use-motion .logo-line-after i { right: initial; }
|
||||
</style>
|
||||
</noscript>
|
||||
|
||||
<link rel="stylesheet" href="/css/noscript.css">
|
||||
</noscript>
|
||||
</head>
|
||||
|
||||
<body itemscope itemtype="http://schema.org/WebPage">
|
||||
<div class="container use-motion">
|
||||
<div class="headband"></div>
|
||||
<body itemscope itemtype="http://schema.org/WebPage" class="use-motion">
|
||||
<div class="headband"></div>
|
||||
|
||||
<header class="header" itemscope itemtype="http://schema.org/WPHeader">
|
||||
<div class="header-inner"><div class="site-brand-container">
|
||||
<main class="main">
|
||||
<div class="column">
|
||||
<header class="header" itemscope itemtype="http://schema.org/WPHeader"><div class="site-brand-container">
|
||||
<div class="site-nav-toggle">
|
||||
<div class="toggle" aria-label="Toggle navigation bar">
|
||||
<span class="toggle-line toggle-line-first"></span>
|
||||
<span class="toggle-line toggle-line-middle"></span>
|
||||
<span class="toggle-line toggle-line-last"></span>
|
||||
<div class="toggle" aria-label="Toggle navigation bar" role="button">
|
||||
<span class="toggle-line"></span>
|
||||
<span class="toggle-line"></span>
|
||||
<span class="toggle-line"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="site-meta">
|
||||
|
||||
<a href="/" class="brand" rel="start">
|
||||
<span class="logo-line-before"><i></i></span>
|
||||
<h1 class="site-title">大染志</h1>
|
||||
<span class="logo-line-after"><i></i></span>
|
||||
<i class="logo-line"></i>
|
||||
<p class="site-title">大染志</p>
|
||||
<i class="logo-line"></i>
|
||||
</a>
|
||||
<p class="site-subtitle" itemprop="description">想要玩得很 High 的程序员</p>
|
||||
</div>
|
||||
|
||||
<div class="site-nav-right">
|
||||
<div class="toggle popup-trigger">
|
||||
<div class="toggle popup-trigger" aria-label="Search" role="button">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<nav class="site-nav">
|
||||
<ul class="main-menu menu"><li class="menu-item menu-item-home"><a href="/" rel="section"><i class="fa fa-home fa-fw"></i>Home</a></li><li class="menu-item menu-item-about"><a href="/about/" rel="section"><i class="fa fa-user fa-fw"></i>About</a></li><li class="menu-item menu-item-archives"><a href="/archives/" rel="section"><i class="fa fa-archive fa-fw"></i>Archives<span class="badge">308</span></a></li><li class="menu-item menu-item-tags"><a href="/tags/" rel="section"><i class="fa fa-tags fa-fw"></i>Tags<span class="badge">249</span></a></li><li class="menu-item menu-item-知识图谱"><a href="https://wiki.toozhao.com/" rel="section" target="_blank"><i class="fa fa-sitemap fa-fw"></i>知识图谱</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<aside class="sidebar">
|
||||
|
||||
<div class="sidebar-inner sidebar-nav-active sidebar-toc-active">
|
||||
<ul class="sidebar-nav">
|
||||
<li class="sidebar-nav-toc">
|
||||
Table of Contents
|
||||
</li>
|
||||
<li class="sidebar-nav-overview">
|
||||
Overview
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="sidebar-panel-container">
|
||||
<!--noindex-->
|
||||
<div class="post-toc-wrap sidebar-panel">
|
||||
<div class="post-toc animated"><ol class="nav"><li class="nav-item nav-level-2"><a class="nav-link" href="#%E5%AE%89%E8%A3%85-Caddy"><span class="nav-number">1.</span> <span class="nav-text">安装 Caddy</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#%E5%88%9D%E6%AD%A5%E6%B8%B2%E6%9F%93-Markdown"><span class="nav-number">2.</span> <span class="nav-text">初步渲染 Markdown</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#%E7%BE%8E%E5%8C%96-Markdown-%E6%96%87%E4%BB%B6"><span class="nav-number">2.1.</span> <span class="nav-text">美化 Markdown 文件</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#%E6%B7%BB%E5%8A%A0%E6%96%87%E6%A1%A3%E7%9B%AE%E5%BD%95%E7%B4%A2%E5%BC%95%EF%BC%88TOC%EF%BC%89"><span class="nav-number">2.2.</span> <span class="nav-text">添加文档目录索引(TOC)</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#%E6%80%BB%E7%BB%93"><span class="nav-number">3.</span> <span class="nav-text">总结</span></a></li></ol></div>
|
||||
</div>
|
||||
<!--/noindex-->
|
||||
|
||||
<div class="site-overview-wrap sidebar-panel">
|
||||
<div class="site-author animated" itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||
<p class="site-author-name" itemprop="name">Junv</p>
|
||||
<div class="site-description" itemprop="description">Go, JavaScript, Ruby on Rails, Java,Docker, CI, CD, Photography</div>
|
||||
</div>
|
||||
</header>
|
||||
<div class="site-state-wrap animated">
|
||||
<nav class="site-state">
|
||||
<div class="site-state-item site-state-posts">
|
||||
<a href="/archives/">
|
||||
<span class="site-state-item-count">308</span>
|
||||
<span class="site-state-item-name">posts</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="site-state-item site-state-categories">
|
||||
<a href="/categories/">
|
||||
<span class="site-state-item-count">69</span>
|
||||
<span class="site-state-item-name">categories</span></a>
|
||||
</div>
|
||||
<div class="site-state-item site-state-tags">
|
||||
<a href="/tags/">
|
||||
<span class="site-state-item-count">249</span>
|
||||
<span class="site-state-item-name">tags</span></a>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="back-to-top">
|
||||
<i class="fa fa-arrow-up"></i>
|
||||
<span>0%</span>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
|
||||
<main class="main">
|
||||
<div class="main-inner">
|
||||
<div class="content-wrap">
|
||||
|
||||
</div>
|
||||
|
||||
<div class="content post posts-expand">
|
||||
|
||||
<div class="main-inner post posts-expand">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-block">
|
||||
|
||||
|
||||
<article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-Hans">
|
||||
|
||||
<article itemscope itemtype="http://schema.org/Article" class="post-content" lang="zh-Hans">
|
||||
<link itemprop="mainEntityOfPage" href="https://toozhao.com/2017/10/12/caddy-markdown/">
|
||||
|
||||
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||
<meta itemprop="image" content="/images/avatar.gif">
|
||||
<meta itemprop="name" content="Junv">
|
||||
<meta itemprop="description" content="Go, JavaScript, Ruby on Rails, Java,Docker, CI, CD, Photography">
|
||||
</span>
|
||||
|
||||
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
|
||||
<meta itemprop="name" content="大染志">
|
||||
<meta itemprop="description" content="Go, JavaScript, Ruby on Rails, Java,Docker, CI, CD, Photography">
|
||||
</span>
|
||||
|
||||
<span hidden itemprop="post" itemscope itemtype="http://schema.org/CreativeWork">
|
||||
<meta itemprop="name" content="使用 Caddy Web服务器显示 Markdown 文件 | 大染志">
|
||||
<meta itemprop="description" content="">
|
||||
</span>
|
||||
<header class="post-header">
|
||||
<h1 class="post-title" itemprop="name headline">
|
||||
使用 Caddy Web服务器显示 Markdown 文件
|
||||
</h1>
|
||||
|
||||
<div class="post-meta">
|
||||
<span class="post-meta-item">
|
||||
<span class="post-meta-item-icon">
|
||||
<i class="far fa-calendar"></i>
|
||||
</span>
|
||||
<span class="post-meta-item-text">Posted on</span>
|
||||
<div class="post-meta-container">
|
||||
<div class="post-meta">
|
||||
<span class="post-meta-item">
|
||||
<span class="post-meta-item-icon">
|
||||
<i class="far fa-calendar"></i>
|
||||
</span>
|
||||
<span class="post-meta-item-text">Posted on</span>
|
||||
|
||||
<time title="Created: 2017-10-12 16:15:20" itemprop="dateCreated datePublished" datetime="2017-10-12T16:15:20+11:00">2017-10-12</time>
|
||||
</span>
|
||||
<span class="post-meta-item">
|
||||
<span class="post-meta-item-icon">
|
||||
<i class="far fa-calendar-check"></i>
|
||||
</span>
|
||||
<span class="post-meta-item-text">Edited on</span>
|
||||
<time title="Modified: 2025-10-25 14:23:28" itemprop="dateModified" datetime="2025-10-25T14:23:28+11:00">2025-10-25</time>
|
||||
</span>
|
||||
<time title="Created: 2017-10-12 16:15:20" itemprop="dateCreated datePublished" datetime="2017-10-12T16:15:20+11:00">2017-10-12</time>
|
||||
</span>
|
||||
<span class="post-meta-item">
|
||||
<span class="post-meta-item-icon">
|
||||
<i class="far fa-calendar-check"></i>
|
||||
</span>
|
||||
<span class="post-meta-item-text">Edited on</span>
|
||||
<time title="Modified: 2025-10-27 21:42:00" itemprop="dateModified" datetime="2025-10-27T21:42:00+11:00">2025-10-27</time>
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</header>
|
||||
@@ -188,10 +235,7 @@
|
||||
|
||||
|
||||
|
||||
<div class="post-body" itemprop="articleBody">
|
||||
|
||||
|
||||
<p>建议阅读此篇文章前,先阅读本博客的前篇 Caddy上手文章 ——【<a href="http://toozhao.com/2017/09/19/caddy/">快速上手更简单的 Web 服务器 —— Caddy</a>】</p>
|
||||
<div class="post-body" itemprop="articleBody"><p>建议阅读此篇文章前,先阅读本博客的前篇 Caddy上手文章 ——【<a href="http://toozhao.com/2017/09/19/caddy/">快速上手更简单的 Web 服务器 —— Caddy</a>】</p>
|
||||
<p>本篇文章我们将利用 Caddy Web 服务器的Markdown 插件和它强大的网页模板功能,在直接托管,渲染显示Markdown文件。</p>
|
||||
<p>现在得益于 Markdown 的简单易用,越来越多的文档都在使用使用 Markdown来编写。像我们常用的 Github、GitBook 等流行服务也都在使用 Markdown。那么为什么越来越多的相关技术文档和资料都是使用 Markdown 编写的呢?我觉得所有原因都归于『简单』二字。我们通过一些常用的符号标记,就可以写出格式整齐、漂亮的文档。而不用写繁琐的 HTML。而通过简单的工具转化,我们就可以将 Markdown 文档转成 HTML 的格式。</p>
|
||||
<h2 id="安装-Caddy"><a href="#安装-Caddy" class="headerlink" title="安装 Caddy"></a>安装 Caddy</h2><p>那现在就让我们来实现这个功能吧,首先你得在你的电脑或者服务器上安装 Caddy,如何安装?请查看之前的文章进行回顾或直接运行如下脚本:</p>
|
||||
@@ -233,7 +277,7 @@
|
||||
|
||||
|
||||
|
||||
<footer class="post-footer">
|
||||
<footer class="post-footer">
|
||||
<div class="post-tags">
|
||||
<a href="/tags/caddy/" rel="tag"># caddy</a>
|
||||
<a href="/tags/markdown/" rel="tag"># markdown</a>
|
||||
@@ -241,182 +285,63 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-nav">
|
||||
<div class="post-nav-item">
|
||||
<a href="/2017/09/19/caddy/" rel="prev" title="快速上手更简单的 Web 服务器 —— Caddy">
|
||||
<i class="fa fa-chevron-left"></i> 快速上手更简单的 Web 服务器 —— Caddy
|
||||
</a></div>
|
||||
<div class="post-nav-item"></div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
</article>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="post-nav">
|
||||
<div class="post-nav-item">
|
||||
<a href="/2017/09/19/caddy/" rel="prev" title="快速上手更简单的 Web 服务器 —— Caddy">
|
||||
<i class="fa fa-angle-left"></i> 快速上手更简单的 Web 服务器 —— Caddy
|
||||
</a>
|
||||
</div>
|
||||
<div class="post-nav-item">
|
||||
<a href="/2025/10/27/wow/" rel="next" title="时光荏苒呀">
|
||||
时光荏苒呀 <i class="fa fa-angle-right"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</footer>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
window.addEventListener('tabs:register', () => {
|
||||
let { activeClass } = CONFIG.comments;
|
||||
if (CONFIG.comments.storage) {
|
||||
activeClass = localStorage.getItem('comments_active') || activeClass;
|
||||
}
|
||||
if (activeClass) {
|
||||
let activeTab = document.querySelector(`a[href="#comment-${activeClass}"]`);
|
||||
if (activeTab) {
|
||||
activeTab.click();
|
||||
}
|
||||
}
|
||||
});
|
||||
if (CONFIG.comments.storage) {
|
||||
window.addEventListener('tabs:click', event => {
|
||||
if (!event.target.matches('.tabs-comment .tab-content .tab-pane')) return;
|
||||
let commentClass = event.target.classList[1];
|
||||
localStorage.setItem('comments_active', commentClass);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="toggle sidebar-toggle">
|
||||
<span class="toggle-line toggle-line-first"></span>
|
||||
<span class="toggle-line toggle-line-middle"></span>
|
||||
<span class="toggle-line toggle-line-last"></span>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer-inner">
|
||||
|
||||
<div class="copyright">
|
||||
©
|
||||
<span itemprop="copyrightYear">2025</span>
|
||||
<span class="with-love">
|
||||
<i class="fa fa-heart"></i>
|
||||
</span>
|
||||
<span class="author" itemprop="copyrightHolder">Junv</span>
|
||||
</div>
|
||||
<div class="powered-by">Powered by <a href="https://hexo.io/" rel="noopener" target="_blank">Hexo</a> & <a href="https://theme-next.js.org/muse/" rel="noopener" target="_blank">NexT.Muse</a>
|
||||
</div>
|
||||
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-inner">
|
||||
|
||||
<ul class="sidebar-nav motion-element">
|
||||
<li class="sidebar-nav-toc">
|
||||
Table of Contents
|
||||
</li>
|
||||
<li class="sidebar-nav-overview">
|
||||
Overview
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<!--noindex-->
|
||||
<div class="post-toc-wrap sidebar-panel">
|
||||
<div class="post-toc motion-element"><ol class="nav"><li class="nav-item nav-level-2"><a class="nav-link" href="#%E5%AE%89%E8%A3%85-Caddy"><span class="nav-number">1.</span> <span class="nav-text">安装 Caddy</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#%E5%88%9D%E6%AD%A5%E6%B8%B2%E6%9F%93-Markdown"><span class="nav-number">2.</span> <span class="nav-text">初步渲染 Markdown</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#%E7%BE%8E%E5%8C%96-Markdown-%E6%96%87%E4%BB%B6"><span class="nav-number">2.1.</span> <span class="nav-text">美化 Markdown 文件</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#%E6%B7%BB%E5%8A%A0%E6%96%87%E6%A1%A3%E7%9B%AE%E5%BD%95%E7%B4%A2%E5%BC%95%EF%BC%88TOC%EF%BC%89"><span class="nav-number">2.2.</span> <span class="nav-text">添加文档目录索引(TOC)</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#%E6%80%BB%E7%BB%93"><span class="nav-number">3.</span> <span class="nav-text">总结</span></a></li></ol></div>
|
||||
</div>
|
||||
<!--/noindex-->
|
||||
|
||||
<div class="site-overview-wrap sidebar-panel">
|
||||
<div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||
<p class="site-author-name" itemprop="name">Junv</p>
|
||||
<div class="site-description" itemprop="description">Go, JavaScript, Ruby on Rails, Java,Docker, CI, CD, Photography</div>
|
||||
</div>
|
||||
<div class="site-state-wrap motion-element">
|
||||
<nav class="site-state">
|
||||
<div class="site-state-item site-state-posts">
|
||||
<a href="/archives">
|
||||
<span class="site-state-item-count">307</span>
|
||||
<span class="site-state-item-name">posts</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="site-state-item site-state-categories">
|
||||
<a href="/categories/">
|
||||
<span class="site-state-item-count">69</span>
|
||||
<span class="site-state-item-name">categories</span></a>
|
||||
</div>
|
||||
<div class="site-state-item site-state-tags">
|
||||
<a href="/tags/">
|
||||
<span class="site-state-item-count">247</span>
|
||||
<span class="site-state-item-name">tags</span></a>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</aside>
|
||||
<div id="sidebar-dimmer"></div>
|
||||
</footer>
|
||||
|
||||
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer-inner">
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="copyright">
|
||||
|
||||
©
|
||||
<span itemprop="copyrightYear">2025</span>
|
||||
<span class="with-love">
|
||||
<i class="fa fa-heart"></i>
|
||||
</span>
|
||||
<span class="author" itemprop="copyrightHolder">Junv</span>
|
||||
</div>
|
||||
<div class="powered-by">Powered by <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> & <a href="https://muse.theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Muse</a>
|
||||
<div class="toggle sidebar-toggle" role="button">
|
||||
<span class="toggle-line"></span>
|
||||
<span class="toggle-line"></span>
|
||||
<span class="toggle-line"></span>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</footer>
|
||||
<div class="sidebar-dimmer"></div>
|
||||
<div class="back-to-top" role="button" aria-label="Back to top">
|
||||
<i class="fa fa-arrow-up fa-lg"></i>
|
||||
<span>0%</span>
|
||||
</div>
|
||||
<div class="reading-progress-bar"></div>
|
||||
|
||||
|
||||
<script src="/lib/anime.min.js"></script>
|
||||
<script src="/lib/velocity/velocity.min.js"></script>
|
||||
<script src="/lib/velocity/velocity.ui.min.js"></script>
|
||||
|
||||
<script src="/js/utils.js"></script>
|
||||
|
||||
<script src="/js/motion.js"></script>
|
||||
|
||||
|
||||
<script src="/js/schemes/muse.js"></script>
|
||||
|
||||
|
||||
<script src="/js/next-boot.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<noscript>
|
||||
<div class="noscript-warning">Theme NexT works best with JavaScript enabled</div>
|
||||
</noscript>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user