<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>wordpress &#8211; 萧邦的博客</title>
	<atom:link href="https://www.zlhlab.top/tag/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.zlhlab.top</link>
	<description>If not me who, If not now when</description>
	<lastBuildDate>Wed, 16 Aug 2017 10:29:42 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.6</generator>
	<item>
		<title>在WordPress中使用MarkDown编辑博文</title>
		<link>https://www.zlhlab.top/%e5%9c%a8wordpress%e4%b8%ad%e4%bd%bf%e7%94%a8markdown%e7%bc%96%e8%be%91%e5%8d%9a%e6%96%87/</link>
		
		<dc:creator><![CDATA[萧邦]]></dc:creator>
		<pubDate>Wed, 16 Aug 2017 10:29:42 +0000</pubDate>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[markdown]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://www.zlhlab.top/?p=232</guid>

					<description><![CDATA[  前言 之前搭建个人技术博客，一直使用的wordpress自带的文章编辑器，配合css3样式实现代码高亮。最<div class="more-link">
				 <a href="https://www.zlhlab.top/%e5%9c%a8wordpress%e4%b8%ad%e4%bd%bf%e7%94%a8markdown%e7%bc%96%e8%be%91%e5%8d%9a%e6%96%87/" class="link-btn theme-btn"><span>Read More </span> <i class="fa fa-caret-right"></i></a>
			</div>]]></description>
										<content:encoded><![CDATA[<p> </p>
<h4>前言</h4>
<p>之前搭建个人技术博客，一直使用的wordpress自带的文章编辑器，配合css3样式实现代码高亮。最近使用laravel+bootstrap搭建管理后台，需要进行文章编辑，决定使用专门的文本编辑器。</p>
<p>首先，想到的技术圈很流行的Markdown编辑器，内容创作社区&#8211;简书，也是用的Markdown编辑器编辑文章，整体看起来还是蛮舒服的。</p>
<p>自从VPN整顿有一段时间了，国内很多VPN被关停了。之前可以翻墙Google检索，现在只能依赖百度和忍受广告了。当然，感谢有知乎、推酷、简书，这些优质的内容创作平台，还是完成了Markdown的wordpress安装，到编辑文章的展示。</p>
<h4>1、什么是Markdown</h4>
<blockquote><p>
  Markdown 的目标是实现「易读易写」。  可读性，无论如何，都是最重要的。一份使用 Markdown<br />
  格式撰写的文件应该可以直接以纯文本发布，并且看起来不会像是由许多标签或是格式指令所构成。Markdown 语法受到一些既有<br />
  text-to-HTML 格式的影响，包括 Setext、atx、Textile、reStructuredText、Grutatext 和<br />
  EtText，而最大灵感来源其实是纯文本电子邮件的格式。  总之， Markdown 的语法全由一些符号所组成，这些符号经过精挑细选，其作用一目了然。比如：在文字两旁加上星号，看起来就像强调。Markdown 的列表看起来，嗯，就是列表。Markdown 的区块引用看起来就真的像是引用一段文字，就像你曾在电子邮件中见过的那样。  ——摘抄自<a href="http://wowubuntu.com/markdown/" title="Markdown 语法说明(简体中文版)" target="_blank">Markdown 语法说明(简体中文版)</a>
</p></blockquote>
<p>这里只是简单的提及Markdown，语法使用可以参考简书<a href="http://www.jianshu.com/p/1e402922ee32/http://" title="Markdown--入门指南" target="_blank">Markdown&#8211;入门指南</a>。具体可以功能介绍，请参考以下官方文档：</p>
<h5>Markdown官方文档</h5>
<blockquote>
<ul>
<li><a href="http://wowubuntu.com/markdown/" title="Markdown 语法说明(简体中文版)" target="_blank">Markdown 语法说明(简体中文版)</a></li>
<li><a href="https://daringfireball.net/projects/markdown/syntax" title="创始人 John Gruber 的 Markdown 语法说明" target="_blank">创始人 John Gruber 的 Markdown 语法说明</a></li>
</ul>
</blockquote>
<h4>2、Wordpress安装Markdown插件&#8211; <a href="https://wordpress.org/plugins/wp-editormd/" title="WP Editor.MD" target="_blank">WP Editor.MD</a></h4>
<p>使用过几种插件，如WP_Markdown，最终都没有用上。主要界面可视化不明显、或者安装没反应，插件友好性不够。但是WP Editor.MD 插件，在wordpress中搜索插件、安装、启用，再到文章编辑界面，简单直接的呈现在了面前。</p>
<p><img decoding="async" src="https://www.zlhlab.top/wp-content/uploads/2017/08/markdownshot.png" alt="Markdown预览图" title="Markdown预览图"></p>
<p>如图，就可以正常的编写文章。<br />
 </p>
<h4>3、Wordpress Markdown保存文章前端展示</h4>
<p>编写文章后，点击进行预览。展示如下图：</p>
<p><img decoding="async" src="https://www.zlhlab.top/wp-content/uploads/2017/08/9E43E93D-F207-4C42-8BF5-3F21AB5DCDFE.png" alt="未应用样式图" title="未应用样式图"></p>
<p>发现样式展示不正常，连Markdown的语法都没有识别。搜集资料，发现Markdown编辑器插件和前端展示的文章页面，一点关系都没有(ˇˍˇ)，又一番倒腾资料和代码试错。发现需要加入代码高亮代码。</p>
<h4>4、Wordpress 文章页面加入Markdown高亮代码和行号</h4>
<ol>
<li>访问<a href="http://prismjs.com//download.html" title="http://prismjs.com//download.html" target="_blank">http://prismjs.com/download.html</a>页面，下载支持的代码主题，然后打包下载js和css文件。</li>
<li>
<p>在WP Editor.MD插件目录，找到<code>editormd.preview.css</code>、<code>prism-line-numbers.js</code>和<code>prism-line-numbers.css</code>文件，组合起来。如下图目录：</p>
</li>
</ol>
<p><a href="https://www.zlhlab.top/wp-content/uploads/2017/08/BBA778E6-D82F-4836-A76A-539CA4225BE3.png" title="目录" target="_blank"><img decoding="async" src="https://www.zlhlab.top/wp-content/uploads/2017/08/BBA778E6-D82F-4836-A76A-539CA4225BE3.png" alt="目录" title="目录"></a></p>
<p>引入<code>js</code>和<code>css</code>文件</p>
<pre class="line-numbers prism-highlight" data-start="1"><code class="language-html">&lt;!--引入js文件--&gt;
&lt;script type="text/javascript" src="&lt;?php echo get_bloginfo('template_url'); ?&gt;/js/jquery-1.10.1.min.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="&lt;?php echo get_bloginfo('template_url'); ?&gt;/prism/prism.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="&lt;?php echo get_bloginfo('template_url'); ?&gt;/prism/prism-line-numbers.js"&gt;&lt;/script&gt;
</code></pre>
<p>增加样式</p>
<pre class="line-numbers prism-highlight" data-start="1"><code class="language-scss">@import "prism/themes/prism";
@import "prism/themes/editormd.preview";
@import "prism/themes/prism-line-numbers";
</code></pre>
<p>增加类<code>markdown-body</code></p>
<pre class="line-numbers prism-highlight" data-start="1"><code class="language-html"> &lt;div class="entry markdown-body"&gt;
      &lt;?php the_content(); ?&gt;
      &lt;?php link_pages('&lt;p&gt;&lt;strong&gt;Pages:&lt;/strong&gt;', '&lt;/p&gt;', 'number'); ?&gt;
  &lt;/div&gt;
</code></pre>
<p>这样代码高亮和行号的问题都解决了。查看效果如下：</p>
<p><a href="https://www.zlhlab.top/wp-content/uploads/2017/08/5CE5BF22-9BE3-4F8A-B06C-2090BDDBD188-e1502878879480.png" title="展示" target="_blank"><img decoding="async" src="https://www.zlhlab.top/wp-content/uploads/2017/08/5CE5BF22-9BE3-4F8A-B06C-2090BDDBD188-e1502878879480.png" alt="展示" title="展示"></a></p>
<h4>5、收尾</h4>
<p>把今天的Markdown编辑器使用过程记录一下，然后用Markdown语法写一篇总结文章，收获还是蛮大的。<br />
献给大家，祝在程序的道路上开心~</p>
<p>作者：萧邦</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>php+ajax+JSON API实现单页面内标签切换</title>
		<link>https://www.zlhlab.top/phpajaxjson-api%e5%ae%9e%e7%8e%b0%e5%8d%95%e9%a1%b5%e9%9d%a2%e5%86%85%e6%a0%87%e7%ad%be%e5%88%87%e6%8d%a2/</link>
		
		<dc:creator><![CDATA[萧邦]]></dc:creator>
		<pubDate>Tue, 25 Jul 2017 09:27:55 +0000</pubDate>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://www.zlhlab.top/?p=175</guid>

					<description><![CDATA[公司制作新公司的官网，采用wordpress来进行站点搭建。其中首页的案例展示模块，设计如下图： 如上图，需要<div class="more-link">
				 <a href="https://www.zlhlab.top/phpajaxjson-api%e5%ae%9e%e7%8e%b0%e5%8d%95%e9%a1%b5%e9%9d%a2%e5%86%85%e6%a0%87%e7%ad%be%e5%88%87%e6%8d%a2/" class="link-btn theme-btn"><span>Read More </span> <i class="fa fa-caret-right"></i></a>
			</div>]]></description>
										<content:encoded><![CDATA[<p>公司制作新公司的官网，采用wordpress来进行站点搭建。其中首页的案例展示模块，设计如下图：</p>
<figure><img fetchpriority="high" decoding="async" class="aligncenter size-large wp-image-176" src="https://www.zlhlab.top/wp-content/uploads/2017/07/case-1024x482.jpg" alt="" width="1024" height="482" srcset="https://www.zlhlab.top/wp-content/uploads/2017/07/case-1024x482.jpg 1024w, https://www.zlhlab.top/wp-content/uploads/2017/07/case-300x141.jpg 300w, https://www.zlhlab.top/wp-content/uploads/2017/07/case-768x361.jpg 768w, https://www.zlhlab.top/wp-content/uploads/2017/07/case.jpg 1245w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>如上图，需要在首页进行案例的切换。</p>
<p>实现功能想到有两种解决方案：<br />
<strong>方案一</strong>：除index.php文件外，创建三个分类文件category-h5.php、category-media.php、category-design.php，点击标签，跳转到对应的分类页面。基本可以实现标签分页功能。更加精细点，可以缓存当前页面位置，在新的页面设置页面滚动至缓存位置。本方案基本可以实现功能。唯一缺点：页面过渡时根据网络情况会出现闪烁、多3个php文件。</p>
<p><strong>方案二</strong>：单页面index.php，安装JSON API的插件，采用ajax的形式，动态获取分类内容，并动态更新页面内容。</p>
<p>当前采用<strong>方案二</strong>进行技术实现。</p>
<p>1、在wordpress 管理后台创建分类标签，如下图：</p>
<figure><img decoding="async" class="aligncenter size-large wp-image-178" src="https://www.zlhlab.top/wp-content/uploads/2017/07/3BE98391-7D1E-464D-9C29-83ECF442D448-1024x253.png" alt="" width="1024" height="253" srcset="https://www.zlhlab.top/wp-content/uploads/2017/07/3BE98391-7D1E-464D-9C29-83ECF442D448-1024x253.png 1024w, https://www.zlhlab.top/wp-content/uploads/2017/07/3BE98391-7D1E-464D-9C29-83ECF442D448-300x74.png 300w, https://www.zlhlab.top/wp-content/uploads/2017/07/3BE98391-7D1E-464D-9C29-83ECF442D448-768x189.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>2、安装<strong>JSON API</strong>插件并启用</p>
<figure><img decoding="async" class="aligncenter size-large wp-image-182" src="https://www.zlhlab.top/wp-content/uploads/2017/07/4FB71529-36E1-4CA7-A7EF-633CE10769E4-1024x84.png" alt="" width="1024" height="84" srcset="https://www.zlhlab.top/wp-content/uploads/2017/07/4FB71529-36E1-4CA7-A7EF-633CE10769E4-1024x84.png 1024w, https://www.zlhlab.top/wp-content/uploads/2017/07/4FB71529-36E1-4CA7-A7EF-633CE10769E4-300x25.png 300w, https://www.zlhlab.top/wp-content/uploads/2017/07/4FB71529-36E1-4CA7-A7EF-633CE10769E4-768x63.png 768w, https://www.zlhlab.top/wp-content/uploads/2017/07/4FB71529-36E1-4CA7-A7EF-633CE10769E4.png 1944w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>3、添加分类文章，测试JSON API</p>
<pre><code>
var clickedItem = 0;
var $items = $('#categoryMenu').find('a');
var slugList = ['case', 'h5', 'media', 'design'];
function clickItem(index) {
     /*更新按钮选项的状态*/
     $($items[clickedItem]).removeClass('hover');
     $($items[index]).addClass('hover');
     clickedItem = index;

     /*请求API，获取分类的内容*/
     var url = '/yanrui/?json=get_category_posts&slug=' + slugList[index] +'&count=6';
     $.ajax({
         type: "GET",
         url: url,
         dataType: "json",
         jsonp: "callback",
         success: function (data) {
             console.log(data);
             var res = eval(data);
             if (res.status == 'ok') {
                  // todo 解析文章内容
             }
         },
         error:function(msg){
             msg = eval('(msg)');
             console.log(msg);
         }
     });
}
</code></pre>
<p>测试结果如下图，即正常接口测试通过：</p>
<figure><img loading="lazy" decoding="async" src="https://www.zlhlab.top/wp-content/uploads/2017/07/2E03463D-3914-4C84-BFA3-DF2E0E282456-1024x725.png" alt="" width="1024" height="725" class="aligncenter size-large wp-image-186" srcset="https://www.zlhlab.top/wp-content/uploads/2017/07/2E03463D-3914-4C84-BFA3-DF2E0E282456-1024x725.png 1024w, https://www.zlhlab.top/wp-content/uploads/2017/07/2E03463D-3914-4C84-BFA3-DF2E0E282456-300x212.png 300w, https://www.zlhlab.top/wp-content/uploads/2017/07/2E03463D-3914-4C84-BFA3-DF2E0E282456-768x544.png 768w, https://www.zlhlab.top/wp-content/uploads/2017/07/2E03463D-3914-4C84-BFA3-DF2E0E282456.png 1590w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<p>4、ajax获取结果，动态更新模块内容</p>
<figure><img loading="lazy" decoding="async" src="https://www.zlhlab.top/wp-content/uploads/2017/07/4973DB30-6006-4C9B-BFC8-E078F60EF7A2-1024x255.png" alt="" width="1024" height="255" class="aligncenter size-large wp-image-205" srcset="https://www.zlhlab.top/wp-content/uploads/2017/07/4973DB30-6006-4C9B-BFC8-E078F60EF7A2-1024x255.png 1024w, https://www.zlhlab.top/wp-content/uploads/2017/07/4973DB30-6006-4C9B-BFC8-E078F60EF7A2-300x75.png 300w, https://www.zlhlab.top/wp-content/uploads/2017/07/4973DB30-6006-4C9B-BFC8-E078F60EF7A2-768x191.png 768w, https://www.zlhlab.top/wp-content/uploads/2017/07/4973DB30-6006-4C9B-BFC8-E078F60EF7A2.png 1880w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<p>5、完成单页面动态切换。</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
