普通视图

Received today — 2025年6月7日设计笔记

WordPress社交营销优化之OpenGraph

2022年5月14日 23:34

最近主题想实现一个分享链接自动解析 URL,并以卡片形式展示目标链接内容的功能,几经调研发现这个需求早在10多年前就已经有相应的标准了,它就是有 FaceBook 提出的 OpenGraph 协议(开放图谱协议)

OpenGraph是什么

我们知道,构建一个网站采用的技术和实现方式并不相同,普通方法无法完美地解析目标页面的基本信息,导致没有 OpenGraph 协议时分享的链接展示形式相当有限,而且看起来没有非常大的点击欲望。

OpenGraph 协议简单来说就是向网页 head 下插入一些统一标准的 meta 元信息,支持标题、描述、缩略图等信息,大大方便了第三方网站和应用地解析出目标页面的基本信息,并加以优化展示链接的目标页面,使其点击率可以大大提升。

比较直观的讲就是,网页只需要加入 OpenGraph 元信息,当页面被分享到微博、FB、Twitter 时,URL 会被智能地解析成一个非常精美地卡片显示:

实际应用

了解了这么多,我们自己的网站和应用如果想要优化链接展示让然也可以读取 OpenGraph 元信息。

其中PHP就可以使用 get_meta_tags 方法从一个URL中提取所有的 meta 标签 content 属性,并返回一个数组:

<?php
    $tags = get_meta_tags('https://biji.io/about');

    // 注意所有的键(key)均为小写,而键中的‘.’则转换成了‘_’。
    echo $tags['title'];
    echo $tags['description'];
    echo $tags['image'];
    echo $tags['geo_position'];
?>

WordPress如何添加OpenGraph元信息

// 附加元信息
function head_append_meta() {
    $metas = [
        'og:title'     => get_the_title(),
        'og:site_name' => get_bloginfo( 'name' ),
        'og:type'      => 'website',
    ];
    if ( is_single() || is_page() ) {
        $metas['og:url']         = get_permalink();
        $metas['og:description'] = get_the_excerpt();
        if ( has_post_thumbnail() ) {
            $meta_image_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full' );
            if ( $meta_image_url ) {
                $metas['og:image'] = $meta_image_url[0];
            }
        }
        $metas['og:type'] = 'article';
    }
    foreach ( $metas as $key => $value ) {
        echo '<meta property="' . $key . '" content="' . $value . '" />' . "\n";
    }
}

add_action( 'wp_head', 'head_append_meta', 1 );

当然,你也可以访问 The Open Graph protocol (ogp.me) 来了解所有 OpenGraph 元信息和其含义,并灵活地运用到你的网站上。

可以 FaceBook 的分享调试器来调试和预览 OpenGraph 元信息展示能力:分享调试器 - Facebook 开发者

本文参考资料:

【WordPress教程】 什么是 Open Graph(property=”og:type”)_细说外贸推广_杭州 SEO 研究_ISEOer (rrdaj.com)
前端应该知道的:开放图谱协议(The Open Graph protocol) - SegmentFault 思否
The Open Graph protocol (ogp.me)

Image()函数加载base64图片无onload事件的前端兼容方案

2022年4月7日 14:06

Image()函数将会创建一个新的HTMLImageElement实例。它的功能等价于 document.createElement('img')

正常情况下,我们使用下面方法加载图片,是能能够获取到onload事件的:

const img = new Image();
img.src = 'picture.jpg';
img.onload = () => {
  console.log('success');
}

但是如果你需要加载的图片是base64图片时,可能是因为没有请求发出,onload事件是无法执行的。

几经尝试,最终考虑将base64图片转位ObjectUrl再加载,好处是无需后端,纯前端即可兼容。移动端兼容性也非常不错。

具体实现如下:

// base64转Blob
const base64ToBlob = (base64Data) => {
  const arr = base64Data.split(','),
    type = arr[0].match(/:(.*?);/)[1],
    bstr = atob(arr[1]),
    len = bstr.length,
    u8Arr = new Uint8Array(l);

  while (len--) u8Arr[l] = bstr.charCodeAt(len);

  return new Blob([u8Arr], { type });
}

const base64 = "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==";
const imgBlob = base64ToBlob(base64)

const img = new Image();
img.src = window.URL.createObjectURL(imgBlob); // blob:http://xxx
img.onload = function () {
  console.log('success')
}

URL.createObjectURL 可能有一些兼容性问题,如果你在使用过程遇到,可以hack兼容一下

function getObjectURL(blob) {
  var url = null;
  if (window.createObjectURL != undefined) {
    url = window.createObjectURL(blob);
  } else if (window.URL != undefined) {
    url = window.URL.createObjectURL(blob);
  } else if (window.webkitURL != undefined) {
    url = window.webkitURL.createObjectURL(blob);
  }
  return url;
}

本文参考资料:

Image() - Web API 接口参考 | MDN (mozilla.org)
使用img.onload事件加载base64图片的兼容问题 - 简书 (jianshu.com)
vue 上传图片,转base64取不到.onload的值 - 小蘑菇123 - 博客园 (cnblogs.com)

沪飘一年

2021年7月13日 23:10

不知不觉来上海已经快一周年了,当初种种原因选了一份过渡性质的工作,最近感觉是时候换一份适合长期发展的工作了,难免有些感触,开一篇文章算是个回顾与展望吧。

上海

这是上海给我最初的印象,光鲜靓丽的外滩与陆家嘴、高耸入云的上海中心大厦映入眼帘,我对自己未来职业规划真的满腹憧憬。

  • 东方明珠俯瞰
  • 陆家嘴三高
  • 路过陆家嘴
  • 下班路上

工作

上篇文章交代了来上海前我的一些经历,虽然当初选了一份外包工作做为过渡,但是在PA科技做前端开发依然学到了非常多的东西,我也从之前的全栈开发完全地转到了纯前端开发的角色参与项目开发。

因为近期也正在积极准备面试工作,对于未来职业的规划或者发展方向我一直只有一个大概的想法,明确的方向一直没有制定,也正好近期面试,也算是给我一些警醒或者说是一些方向吧。

展望

首先可能是自己的一些前端基础问题,我觉得自己目前顶多算是一个中级,业务上暂时可能不会遇到什么问题,但是这次面试让我想冲击高级前端来了一次狠狠地打击,也算是充分认识到自己的不足吧,打算沉下心好好钻研一下设计模式和高级 JavaScript 编程。

另外还有一件事情,之前我一直觉得维护一段感情是一件非常麻烦的事情,而且我也不喜欢麻烦别人,但是当同学Q靠积累的人脉拿到22K的工作,我真的不再对“人脉”抱嗤之以鼻的态度了,只能感叹:牛逼!。。。希望自己后面可以做一些或者参与一些开源项目结识一些大佬吧。

  • 撸码环境
  • 员工关怀
  • 发版加班结束
  • 离职前的工位

生活

这是我来上海租的房子,可能这个月月底就要考虑搬走了,视野开阔的环境,虽然朝北但却奇怪地采光良好,下午2点之后还能晒到太阳,我很喜欢这里,但是冬天超冷,出行不便,只是我坐公交上下班,站台离小区不远还可以接受,如果换工作可能就要换房子了。

因为有一些同学在上海,偶尔也会约饭、打麻将之类的活动,6月也一起去了浙江漂流,也挺多姿多彩的吧,虽然我一直认为我很宅,但是脑袋里回忆一下好像也宅的不那么纯粹了。

生活上我也不知道写些什么,记录一下从来上海到现在我手边数码设备变迁吧。

电脑:RedmiBook 16' -> MacMini M1 -> MacBook Air M1,这让我想到了项目里的组件封装过程,只基于现阶段业务需求实现组件,却没有充分考虑业务未来发展而封装组件的后果就是——不!断!重!构!不过实际情况可能还是要基于财力的。加油,努力实现电脑自由。。。

手表:Apple Watch 3 -> Amazfit POP -> Amazfit NEO,为了摆脱一天一充的噩梦更换到了pop,又为了摆脱被误认为iWatch的尴尬更换到NEO。只能说,能看时间就是好手表吧。

手机:iPhone11 -> iPhone12,换手机真的是一时脑热,因为iPhone11我是按揭24期计划用2年届时更换到iPhone13的,结果某天不凑巧等公交时手机摔碎了屏幕,从修好的那天起,我是怎么看它都不顺眼,在按揭没结束的情况下,亦然地更换到了iPhone12,新手机。。。舒服了。。。

其它的一些设备

  • 为了更好听音乐,入坑HomePod Mini
  • 为了随时喝热水,入坑米家即热饮水机
  • 为了更好的带饭,入坑小米电饭煲 1.6L版
  • 为了躺着刷抖音,入坑小米扫地机器人
  • 2021留沪年夜饭
  • 我的桌面
  • 麻将
  • 闺房

暂时就记录这么些吧,很久没有写些什么了,写这篇文章的时候打开WordPress发现功能变强大了好多,块级文本编辑器还挺好用的,就是很多功能Adams还需要适配,等新工作确定下来打算继续完成这篇文章的更新计划吧,先把样式好哈用Less或者Sass重写一下,我倾向于用Less。。。

这篇文章样式回头再改一下,大家先凑合看吧。

写给2020

2020年12月8日 00:32

从毕业到现在,我认为我的转折点有两个,一个是16年选择去HF实习、在一家公司工作了近三年,另一个可能就是今年了,因为种种原因换了三份工作。

年初

从家里回HF,因为疫情在租的房子里远程办公,全栈开发非常累,也因为远程办公作息混乱,更因为疫情哪里也去不了,吃饭、买菜都非常不便,堆积在心里的压力无处排解,久而久之闷地自己的心态有了一些变化,人也变得丧了很多。然后开始想回家找一份轻松的工作,回去有熟悉的环境、熟悉的朋友、小而扁平的公司人际关系...终于在疫情解禁可以正常乘坐高铁时,我于4月低辞职了。

5月

因为家在小城市,工作机会挺少的,所以我周边城市也投了一些,最后面了几家后,选择了去JN的一家小公司做前端,工资相较在HF也没有降,前端技术栈是Vue、UniAPP,这些也都是我常用的技术栈,我也是从0开始构建起当时项目的移动端APP。

JN并不是我当时理想的工作城市,在这工作的两个月期间,我没有停下投简历的步伐,最后面试了几家后拿到2个Offer,遂毅然地辞职回家。

7月

因为另一家入职通知太迟了,最终我选择了CMTT的ZZ分公司,虽然是没有编制的三方合同工,但是工作稳定,公司依山傍水环境很好、有员工宿舍、有食堂、上班骑车5分钟、基本能保证17:30准时下班,薪资尚可。算半个YQ吧,因为没有营收压力,整个公司很佛系也很养老,丝毫没有以前呆过的公司对待项目的紧迫感,技术栈非常老旧工作效率异常低下

可能是因为疫情转好,也经常跟朋友出门玩乐,年初的抑郁心情开始拨雾渐明,渐渐地开始厌烦这种稳定又一眼看得到头的工作,开始担心在这里工作太久而缺乏竞争力,加之今年也25岁了,是我工作地第三年,如果程序员35岁是一个坎,我想真的应该慎重地规划自己未来10年了。

上海

这是我为自己规划未来的工作的城市,我精心地准备简历、笔试、面试,开始在招聘软件上投了一些公司,我把面试时间安排到了一个相近地时间,最后争取到了大概6家公司地面试机会时,我请了三天假假独自一人来到了上海面试,计划一天面2家,因为时间很赶,一边不想打乱自己地面试计划,一边又想尽可能多的面一些公司而多一些机会,所以面试期间也谨慎的投了几家公司。

每天早上早起准备今天的日程,看自己准备的笔试面试手册,因为成本原因,我住的比较偏,要赶公交、挤地铁,期间两天还下非常大的雨,我要尽可能安排好路线,饶是如此也会避免迟到而忘记吃午饭,一天面三家公司。最后多请了一天假,4天时间里面了9家公司,人都瘦了6斤,终于最后收到2个Offer。

一家是中小公司,一家是PA外包,都是前端,后来因为工资相差有点多,且刚来上海很缺钱,权衡后选择了PA外包,计划先工作一年左右在上海稳定下来后再考虑换工作。

于是从ZZ辞职,9月中旬来到上海入职了

12月,是我在上海工作第3个月了,工作环境很Nice,第一次接触敏捷开发,感觉效率很高,每个人都各司其职,任务粒度划分地非常精细,所以加班的情况很少见,也经常有大佬Review我的代码,我也收益颇丰,希望能够学到更多。

聊聊别的

很久没有更新博客了,语言组织能力进一步下降,晦涩又难通地语句拼合出整篇流水账文章,虽然没有华丽地辞藻,但还是想写点什么,写给2020最特别地一年,写给我下一个十年。

有时候莫名的压力超出自己地承受能力导致自己丧失上进心,失去目标,变得迷茫,好在经过近半年多调整,终于走出年初地低谷。我博客地副标题也从年初地“只是近黄昏”更新成了“无限进步”,希望自己能够保持学习,时刻上进,毕竟未来可期!

非常感谢你阅读到这里,砥砺、共勉!

Adams主题问题收集与更新计划

2020年6月1日 00:25

2017年6月20日(v1.0.9)起,主题的更新、发布就已经迁移到了Github,通过Github收集了48条issues、16条PR以及340多个Star,非常感谢关注和使用Adams主题的每一位博主。

虽然我的博客已经近3年没有新的文章产出了,但是博客里的每一条留言我都有认真在看,每一个问题我也都尽可能的给予回复并尝试提供解决方案。Github也尽可能的去解决每一个issues,这篇文章仅仅是记录主题现有问题收集,以及更新计划。

问题

更新计划

  • [!]English支持:不是特别急的一项更新,计划添加多语言支持。
  • [!!]二维码API接口支持更换:当前默认使用的是qrserver.com的接口,可能部分地区访问会有些慢,所以考虑支持自定义API接口地址
  • [!]CSS重构:计划使用Less或Sass重写CSS以解决现有CSS模块混乱、不同模式切换不够平滑的问题

暂时就这么多吧,这是一篇2018年11月19日的草稿改的一篇水文,希望还够解渴。

6.1快乐

攒了半年的水事

2018年3月20日 18:08

连续加了一个多星期的班,今天总算可以停一停了,打开博客看了下最新的一篇文章已经是半年前写的了,博客对我真的是越发没有存在感了,但是毕竟写了5年的博客,怎么都不忍就此彻底的关掉它。

我现在所有的工作和生活都源自于当初对博客的不断探索,当我算是达到了当初对未来的工作和生活心愿时,我却就此不前,失去了继续探索的兴趣。

想着还是不能就这样半死不活下去,于是便有了这篇“攒”了半年的水事文章。

买了些什么

  1. 小米电动牙刷:人生第一支电动牙刷,感觉比手动刷刷的干净。
  2. 米动运动手表青春版:待机时间不错,但是还是打算入Apple Watch
  3. iPad Pro 10.5:当初为了看美剧,结果买来以为自己会画画,又入了一支Apple Pencil(吃灰)
  4. iPhone SE:iPhone6s电池不耐用了,超低价格入手了ATT有锁SE,顺利官解,现在不用卡贴还是很开心的
  5. 健身卡和健身课:3k办了一张卡,12k报了50节课,想想自己真的是SB了。目前6节课瘦了4斤(大概是称坏了)
  6. Office 365:虽然自己很少用Office套件,但是组团3年很便宜就买了,使用频率最高的反而是免费的OneNote
  7. Eagle:素材整理必备,好用的一批,200大洋没白花

学了些什么

  1. 微信小程序开发:这个公司自用的一套小程序,已经开始在部门中内部测试了,我现在每天它打卡
  2. NodeJS:因为一个项目要用到,顺便就学了一下,真的是异常好用,以至于我甚至有抛弃PHP的念头
  3. VueJS:因为后端从PHP换到了NodeJS,索性前端也一起换掉
  4. 百万库查询效率优化

有什么计划

  1. 新主题:有这个念头已经都半年多了,但是一直没有执行下去,打算在6周年之际(7月)开发完成新主题。可以访问new.biji.io关注新主题开发动态。
  2. 工作计划:原本计划今年8月闪人的,但是因为种种原因不得不推迟到明年了,具体就不谈为什么了。
  3. 英语:现在是越研究新东西,越是发现英语的重要性,以我小学英语水平,文档都看不懂还折腾个西瓜皮,下载几个App每天老老实实背单词,但是感觉前一分钟背完后一分钟就忘啊,苦恼。

其它的一些水事

浏览器:真的很喜欢Chrome,但是笔记本真的吃不消那耗电速度太快了,只好试着使用Safari,目前感觉良好

先水这么多吧,陆续恢复更新,不过更多的会写一些生活上的事情

就这样,我回来了。

写作乐趣不再

2017年9月20日 10:40

已经很久很久没有更新博客了,也实在不知道写点什么,算下来写博客已经有五个年头了,今年是产量最低的一年,真的很想重拾写作乐趣,但是每每打开编辑器,却又不知从何写起,想来已经过了折腾的年纪。

毕业了,转正了,工作谈不上顺心,但是也是能应付的过来,但是就是对博客没有从前那种热情了,也不知道这博客还能坚持开多久,真的是有种风雨中摇曳的感觉。

有些比较隐私的话想写又不能写,工作的城市也没有能聊这种私密话题的朋友,感觉略郁闷,闷久了就更是不想写点什么了。


昨天一整天在公司几乎什么都没做,逛豆瓣逛知乎,非常羡慕一些人的生活,莫名的感到压力很大,总感觉自己年纪还不大,还可以玩两年,可是转眼已经22岁,在我们那里都是该结婚的年纪了,而我?存款没有、对象没有、工资低、房子没有、车子没有,感觉人生真TMD失败,初中毕业的同学孩子都快上小学了,日了狗了。。。

很多大事像买房买车还得靠父母,以我这种特殊情况,早日财务自由才能大胆的去追求喜欢的人和事,为了这,是得好好拼一拼。

关于工作

感觉自己就像个缩头乌龟,自以为待在合肥工作,拿着一般的工资,做着一般的工作,不用早起挤公共交通,不用承担高额的房租、水电费很幸运,其实不过是自己不愿意去承受一线城市的紧张的工作与生活而选择的逃避方式罢了。

机会摆在那里,薪资摆在那里,自己不去争取却又偷偷羡慕,也真是窝囊可以,所以暗暗计划从这个月开始攒钱,明年8月去一线城市工作。

心仪的城市:成都、珠三角、北京或者长三角,迟早要迈出这一步。

减肥是永恒不变的话题

这话题估计是我17年下半年的全部话题了,7月份体重75kg,已经肥的自己都不想看自己了,于是打开百度地图看了下周边环境,规划线路每天跑步减肥,每天3-5公里的目标,老实说,最开始1公里都跑不下来,小腿跑的也是像石头一样硬,跑了几天之后感觉越跑越轻松,直到能一口气跑3、4公里,坚持了一个来月,瘦了10+斤,但是也因为天天跑步导致膝盖和胯骨有点伤,停了很长时间没有跑,恢复了也懒得跑了,现在体重68-70浮动。

微信的头像目标是瘦20斤,要减到64才能换头像,所以还得再坚持坚持,因为搬了新的环境,所以又打开了地图,重新规划跑步线路,计划2、4、6小跑3-5公里,希望早日瘦下来,要是能找个对象就更妙了。

先规划3公里,慢慢来吧。

学习计划

公司的考勤系统为了方便外勤人员打卡,打算做手机端让他们打卡,脑抽的我提议做微信小程序,结果这档子事儿自然就分给了我,好吧,摸索着做微信小程序

博客的“关于”页面里面自己也是介绍了非专业设计这个技能,但是实在是太不专业了,也就只是停留在用PS画画页面的地步,所以打算定期搞搞再自学一下设计(希望不要懒癌发作)

前端,越是呆的久,越觉得水深,整天出新技术,我现在连vue都搞不懂,更别提什么node.js什么的了,所以得研究研究

PHP这东西,当初阴差阳错的来了现在的公司做前端,结果现在整天写PHP,基本上是整天学着搞了

其它

本来都开始对搞一辈子基失去了信心,但是看了一些帖子又恢复了点斗志,嗯,挣钱!

小米路由器青春版刷华硕固件

2017年6月1日 16:11

4月份的时候因为公司的wifi速度每况愈下,实在到了忍受不了的地步了,但是电脑上网速度还蛮快的,也正巧赶上米粉节,就在京东上花了59块钱(官网之前要79)入了一个小米路由器青春版,用着效果还不错,也没想着刷机什么的。

但是今天小米路由器自动升级,竟然在我正常网页上弹出了一个提示框,瞬间让我心生警兆,竟然这么随随便便的在网页上插入了一段js,以小米的尿性,指不定小米哪天就用路由器在网页上疯狂插广告了,于是打算换一个固件。

对于这种没有USB接口的路由器我还是第一次接触刷机,网上找了很多资料,感觉资料都不是很好操作,最后竟然还顺利的刷完了。。。真是意外。

准备:

小米路由器青春版 *1、网线 *1、电脑 *1

以及刷机需要的一些固件、软件:

刷入开发版ROM

解压我提供的压缩包,登录你的小米路由器(192.168.31.1)然后选择升级系统、手动升级选择“miwifi_r1cl_all_59371_2.1.26.bin”

修改SSH密码

小米路由器默认是开启SSH的,但是我们并不知道SSH密码,在网上找了一圈,其实修改SSH密码还是比较容易的。

登录小米路由(后台),此时浏览器地址应该类似如下:

http://192.168.31.1/cgi-bin/luci/;stok=075a9192918557c27cdbcae2175281d9/web/home#router

将“web/home#router”替换为:

/api/xqsystem/set_name_password?oldPwd=当前路由的密码&newPwd=admin

最后组合:

http://192.168.31.1/cgi-bin/luci/;stok=075a9192918557c27cdbcae2175281d9/api/xqsystem/set_name_password?oldPwd=当前路由的密码&newPwd=admin

在浏览器上访问后,网页返回 {"code":0} 表示成功

备份路由固件

终端登录路由器:ssh -l root 192.168.31.1,密码:admin

输入命令:cat /proc/mtd

再次输入:dd if=/dev/mtd0 of=//tmp/all.bin

使用WINSCP,选择SCP链接模式:

进入tmp目录,将all.bin下载到本地。备份过程相当重要,不要跳过此过程。

刷入breed

将压缩包内的breed.bin丢到tmp目录。

终端执行:mtd -r write /tmp/breed.bin Bootloader

等待写入完成,拔掉电源线,使用取卡针按住“复原键”,插入电源后等待5-10秒。

浏览器输入 192.168.1.1 出现如下界面:

选择“固件更新”,勾选固件,选择压缩包内“MI-NANO_3.4.3.9-099.trx”,上传刷入华硕固件并重启。

等待路由器变蓝色,则路由器已经成功运行。

浏览器登录:192.168.123.1,账号密码默认均为:admin

至此华硕固件已经刷入完毕,自行配置吧。

参考资料:

  • http://jingyan.baidu.com/article/9113f81b1cb2f22b3214c729.html
  • http://www.miui.com/thread-4214035-1-1.html
  • http://www.miui.com/thread-4103188-1-1.html

Adams网易云音乐独立版

2017年5月24日 16:46

Adams主题以后不会再集成云音乐模板,如果喜欢可以下载独立版解压到网站目录即可。

前段时间网易突然删除了接口里MP3地址,导致云音乐无法正常播放音乐,独立版已经修复了这个问题。

独立版和之前的集成版没有很大的区别,所有功能几乎一样,只是音乐列表的添加方式有所不同。

注:因为新版和旧版差异,导致每次切换音乐都会请求一次网易云音乐的接口,如果你本地网络不佳,可能切换会有0.5-2秒的延迟,会在后期想办法解决。

支持

  • 高斯模糊的播放器效果
  • 顺序、随机、单曲循环播放
  • 支持歌词显示
  • 列表分享链接
  • 单曲分享链接
  • 下载音乐
  • 支持播放付费音乐
  • 海外区域支持

音乐列表添加方式:

下载解压后,找到player.json,根据现有格式修改。

目前暂时只支持播放一个音乐列表,下次更新会增加切换音乐列表选项。

其它地方基本不需要设置,未做深入测试,如果遇到问题,欢迎在这个页面下面留言,我会尽量抽时间解决。

感谢 Meting 提供的新版网易云音乐接口实现

下载:

GitHub

Adams免费发布,又一款WordPress主题

2017年4月28日 18:19

本来打算自用的主题,架不住隔三差五有小伙伴联系我,于是打算4月底发布它,但是这个月实在太忙了,下班回去又懒得开电脑,一拖再拖,直到明天要放假,所以今天不得不百忙中抽出一点时间糊弄一下大家。

没错,我就是单纯的加了一个更新推送,自己在本地测试了两遍,貌似是没啥问题,打包发出来。

主题介绍

  1. 极简、轻量化的设计风格
  2. 深度优化InstantClick的pjax效果
  3. 响应式布局,不依赖js的导航响应式
  4. ajax动态加载二维码
  5. 前台阅读模式切换(预计1.1.0版本)
  6. 强劲的性能优化
  7. Ajax无刷新评论、翻页
  8. 来自ViewImage驱动的极简灯箱(1kb)
  9. Lately驱动的时间格式化插件(800字节)

下载主题

WordPress版:前往Github下载

奇技淫巧

Tips1 - 创建SNS导航:

1.2.5版本改动:

新版已经使用创造狮提供的开源图标:草莓ICON 设置icon,请前往 http://chuangzaoshi.com/icon/ 获取对应图标的name,按照原方法填写即可

创建一个菜单,名字随意,添加一个自定义链接,普通icon参数如下:

如果是微信这种二维码,可以参考如下:

1.0.9版本开始主题已经上传到Github,更新日志请前往Github查阅:https://github.com/Tokinx/Adams/commits/master

说明:

主题自带更新推送,不建议直接在原主题上修改代码,否则更新后修改部分会被覆盖,建议使用子主题模式对主题进行二次开发。

欢迎广大侠义之士将本主题移植到其它平台,如果移植过程遇到问题,可以邮件联系。

最后,请保留主题版权。

❌