文章归档

vimploy–html5 viewport单位兼容包

vimploy viewport unit[vw/vh] polyfill,一个HTML5 VW/VH 单位JS兼容包。该版本暂时只支持vw/vh 两个单位。 Viewport unit 介绍 视窗(Viewport)是你的浏览器实际显示内容的区域——换句话说是你的不包括工具栏和按钮的网页浏览器。 这些单位是vw,vh,vmin和vmax。它们都代表了浏览器(视窗(Viewport))尺寸的比例和窗口大小调整产生的规模改变。 比方说我们有一个1000px(宽)和800px(高)的视窗(Viewport) vw ——代表视窗(Viewport)的宽度为1%,在我们的例子里50vw = 500px。 vh ——窗口高度的百分比 50vh = 400px。 vmin ——vmin的值是当前vw和vh 中较小的值。在我们的例子里因为是横向模式,所以 50vim = 400px。该版本未实现 vmax ——大尺寸的百分比。50vmax = 500px。 该版本未实现 使用条件 页面必须使用 link 方式引入css,所有inline css及@import的css 将不会被处理。 link方式引入的css文件必须要与页面同域,所有外域的css文件将不会被处理。 此 polyfill 不包含media query的兼容处理,所有不支持media query浏览器,需要使用额外的polyfill处理。 使用方法 在源码中已经提供了使用实例放在sample文件夹;dest 文件夹是合并压缩后的单文件包,src 文件夹下源码包。 index.html 文件是单文件的使用方式,直接将文件放到body结束之前即可。 amd.html 文件是使用requireJS的引用方式。使用的时候直接引入 vwpoly 包即可,requirejs.config 方式如下: requirejs.config({

文章分类 作品展示, 其他品种

MM Wistia embed

前言 丫的,我再也受不了在wistia上来回切换上传video到wordpress了。 所以我要弄一个能够在wordpress后台直接选wistia video list然后插入到editor的plugin! 界面 根据惯例还是要+几张界面图的…… 使用 安装好插件之后,先要到设置里面将wistia的API password 及 project id填好, API password 的说明在这里, 一般如果只是读取我们在wistia的数据的话,只需要使用以下密匙即可 (read only) fce4b93e313f9dd14978c807afe4a31146cd65bdfd395c820b66a0a36caffd64 project id就是 在wistia上每个项目页url上的那串hashkey。 配置好之后,editor上就会多了一个wistia embed的按钮,click此按钮,就会将配置了的project下的所有video资料读出来。 只需要选择对应的video,就能自动将video的embed code添加到editor里面。 源码 请checkout SVN http://192.168.33.2/svn/sam/wordpress/plugin/mm-wistia    

文章分类 WordPress Plugins, 作品展示

Mixmedia Gallery

前言 这个是在制作hyatt 网站的时候,帮忙制作的一个相册 plugin,其实在制作mixmedia.com的时候, 也弄了一个的,不过当时图个方便,使用了一个第三方框架 pklist ,由于这个pklist年久失修,所有还是独立搞一个吧。 也不是什么复杂的东西。 界面 根据惯例还是要+几张界面图的…… 安装好插件之后,在post的编辑页面,出现2个新的metabox, 分别是 Mixmedia Gallery 及 Mixmedia Image, 分别对应多张图片的嵌入,与单张图片的嵌入。 使用 在模板使用上,使用一下3个filter 获取相册及图片的内容: apply_filter('mm_gallery', $post_id); //获取相册图片列表 apply_filter('mm_gallery_detail', $post_id); //获取相册图片附件信息列表 apply_filter('mm_image', $post_id); //获取单张图片的地址 mm_gallery_detail filter 会返回上传的图片在多媒体库中的简介及标题,用于获取一些带描述的图片信息。 具体是啥,你dump出来看就知道了…… 另外这个plugin已经集成了 mm-resize 插件,所以如果安装了这个插件,就不需要再安装 mm-resize 了。 源码 请checkout SVN

文章分类 WordPress Plugins, 作品展示

[Golang]SVN Export

简介 这个是我为增加MVCTools SVN功能的时候写的了一个SVN wrapper工具,编写语言是Golang。 主要是通过JSON REST风格的API操作SVN client完成一些基本的操作。 由于SVN部分操作比较耗时,所以设计了一个异步返回结果的API。 所有的操作都会即时返回一个task ID,然后根据这个task ID查询对应任务完成的结果/状态。 使用说明 源码里面已经有一个编译好的exe文件及包含了SVN的cli runtime。 由于是一个web service,所以内置了一个静态文件的server,你只需要把html copy到webroot目录下, 就可以当apache使用,不过当然是不支持PHP的…… 直接运行svnexport.exe 用浏览器打开http://127.0.0.1:2345/ 就可以看到具体的调用实例。 源码SVN地址 SVN: http://192.168.33.2/svn/sam/svnexport/dev

文章分类 作品展示, 其他品种

Mixmedia Page Cache

起因 妈妈终于不用怕写得很烂的WP的,再慢的WP生成了cache就跟纯静态HTML差不多了…… 源码 秉承一贯的作风,show me the source code, 先提供源码的SVN地址,请自行checkout。 SVN:http://192.168.33.2/svn/sam/wordpress/plugin/mm-cache 使用方法 1.安装插件(地球人请忽略这条) 2.已经好了……请确保uploads 目录下有写的权限。 3.配置: CDN domain: 用于替换掉 css js img的域名,部分站点需要使用CDN加速的时候可以配置这个参数, 然后所有引用的css js img都会替换成CDN 域名加载。 Ignore List: 如果有部分页面你是不想cache处理的,可以直接填到这里,一行一条记录。 clear cache url list: 用户更新cache文件,一行一条记录。按下面clear触发。

文章分类 WordPress Plugins, 作品展示

Mixmedia Image Resize

起因 我们使用WP的时候,经常需要生成一些的图像规格,虽然WP本身已经自带了的该功能,不过自带生成缩略图的方法需要在上传的时候一次生成,如果后面站点改版或者有新的图片尺寸的话,WP自带的缩图策略就显得很鸡肋了……所以最终我们还是不得不自己实现一套缩略图的方法,这里提供一个比较优(zhuang)雅(B)的方法去实现。 源码 秉承一贯的作风,show me the source code, 先提供源码的SVN地址,请自行checkout。 SVN:http://192.168.33.2/svn/sam/wordpress/plugin/mm-resize 使用方法 1.安装插件(地球人请忽略这条) 2.已经好了……在需要缩放的图片直接改后缀! 原始代码: 页面效果:看到吗?原图是这么大的。 好了,我们开始+后缀了。宽度缩放 image URL + .w[宽度].jpg 图片根据宽度等比缩放了…… 高度缩放 image URL + .h[高度].jpg 图片根据高度等比缩放了…… 自由缩放模式, image URL + .[宽度]x[高度].jpg 效果,这里采用了裁剪的方案,如果是填充的方案参数太多了,还需考虑填充的背景颜色,你们自己改吧……: 然后你们会发现uploads 目录下多了一堆刚才+后缀的文件……没错,这个插件会自己生成对应的图片的。       原理解释 这里先需要了解apache及多数web server的rewrite过程(资料自己去Google啦)。我们以.htaccess文件作为例子说明。 # BEGIN

文章分类 WordPress Plugins, 作品展示

PHPAsync 基于PHP cli的异步调用组件

1.为啥PHP需要异步操作? 一般来说PHP适用的场合是web页面展示等耗时比较短的任务,如果对于比较花时间的操作如resize图片、大数据导入、批量发送EDM、SMS等,就很容易出现操作超时情况。你可以说我可以设置无限超时时间,等等你也要知道PHP有一个工作模式是fastcgi,PHP无限不超时,不代表fastcgi相应不超时……如果你还想说要fastcgi相应永不超时,我建议你应该跟你们的运维人员讨论去…… 这个时候异步的操作就发挥他的作用了,由于是非阻塞操作,操作会即时返回,然后在后台再慢慢干活。管你超时不超时的,我就没有在当前的进程/线程下干活。看吧是不是很美好,不过其实这也是个坑……   2.PHP可以实现异步操作吗? 答案是肯定的,不过网上各种的纯PHP实现得就有点别扭了。socket模式、挂起进程模式、有的还直接fork进程。很好,各路神仙各显神通。如果运维人员看到的话,一定会×××××你们的,不把web server跑死才怪…… 那还有其他更好的方法去实现这个异步操作的可能么?有,现在我们只有想怎么开外挂了。查一下PECL主流的外挂方案有一堆的××MQ(消息队列),所以呢,我们自己开发一个调用程序就好了。   3.基本思路 把执行的任务发出去,然后等待worker去调用PHP cli去运行我们的php代码。我用golang简单的写了一个外挂服务。   4.调用示例   include_once('PHPAsyncClient.php'); class TestClass { static public function TestMedthod($arg) { self::log($arg); } static public function log($error) { file_put_contents('async.log', date('[Y-m-d H:i:s] ').var_export($error, 1)."\n", FILE_APPEND); } } if

文章分类 作品展示

Wechat Post

     实现了自动添加回复文本和Post,自定义菜单和用户组(暂时没删除组功能)体验步骤 一、配置里添加好Token Appid Secret 二、去配置菜单里添加,注意先后顺便和一些规则。 三个按钮,实际图: 三、配置下返回Post时,要显示的数量 四、重点 配置相对应的事件,如关注时,要显示什么(文本或者Post),还有菜单click事件和匹配文本等 查询Post,实现了随机,指定id cat tags 最新天数等,可自由组合条件 配置好的Auto response事例图: 最后以laneige为例,由于它的特殊性特色图是产品图和一些URL的自定义,这只能通过逻辑自己处理,推荐WP内置默认的URL规则,保证谦容。还有其他功能,根据实际需求再开发,现在基本满足普通应用! 扫描关注时 点选菜单时: 随机返回系列Post: 菜单跳link 体验QR图: SVN: http://192.168.33.2/svn/wp_development/jian/wp/plugins/wechat-post

文章分类 WordPress Plugins, 作品展示 标签:

MM Language Setting

多语言版设置插件,主要功能,可以在后台添加修改删除,设置好textdomain标识,加入相对应的英简繁文本,然后保存为option再生成po和mo文件。 基本用法,先add,我这里以英文为默认,简繁为辅。 修改的话,双击该记录行会弹出窗口,可以删除和修改。 效果预览-简体中文: 效果预览-繁体中文: 前端各类模版用法:应用国际化函数 __() _e() 对应你的domain,可以不用在theme 里的functions.php 中的load_theme_textdomain()函数来加载mo了。 _e('Save', 'lang');   日后扩展,由于可能会生成N多的po和mo文件,可以再写个管理功能来删除相应多余的po mo文件。 SVN:http://192.168.33.6/svn/wp_development/jian/wp/plugins/mm-language-transform

文章分类 WordPress Plugins, 作品展示

MixMedia Post To Live

         写这插件源于laneige项目发布新post后,还要手工在live上再发布一次,这无疑是重复的劳动!该插件功能主要是把本地post发部到任意wordpress站,当然你的post一些内容(如meta box)要相对应,而category和tags没有的话就会自动添加。 首先上图Remote URL 是WP站的URL,然后管理员的帐号密码,Post Type和Post Status分别可以是自定义的post,或者status,这里可以扩展为page 上图是该插件最要功能之一:查询条件 Post ID可以一次查询多个post id用逗相隔,(如:3477,3421)。Slug可以查询 post slug。Category可以是catgory的name或者 slug,多个请用逗号相隔,至于Tags同理。Date是一段日期范围内。   点击查询后,出现的本地post,然后勾选我们要发布到live站上的 再登陆你的live 站后台查看:(下面以laneige为例) post 列表图:   编辑post图:   重点的meta box图:   最后,一篇完全由Demo2的post克隆到live站上。后续我们可以扩展需求如发布page,上传图片,或者远程获取post,page,然后再编辑。通过xmlrpc API可以实现很多日常所需要的功能!发挥你的想象吧,伙伴们! 有兴趣的伙伴可以到SVN:http://192.168.33.6/svn/wp_development/jian/wp/plugins/post-to-live  

文章分类 WordPress Plugins, 作品展示 标签:

Warning: Use of undefined constant XML - assumed 'XML' (this will throw an Error in a future version of PHP) in /var/www/wp/code/wp-content/plugins/wp-syntaxhighlighter/wp-syntaxhighlighter.php on line 1048