schumacherfm / markdown
Markdown 作为 Magento 的模块!取代了 TinyMCE 编辑器。Markdown 是一种用于网络作者的文本到 HTML 转换工具。Markdown 允许您使用易于阅读、易于书写的纯文本格式进行编写,然后将其转换为结构化的 XHTML(或 HTML)
Requires
This package is not auto-updated.
Last update: 2024-09-23 08:33:35 UTC
README
Markdown 是一种用于网络作者的文本到 HTML 转换工具。Markdown 允许您使用易于阅读、易于书写的纯文本格式进行编写,然后将其转换为结构化的 XHTML(或 HTML)。
- 完全支持 Markdown Extra
- 渲染所有 CMS 页面和所有 CMS 块(Mage_Cms_Block_Block 和 Mage_Cms_Block_Widget_Block)
- 将所有交易性电子邮件作为 Markdown(或 MD Extra)渲染
- 产品目录和类别的简短和长描述字段的渲染需要在 phtml 文件中自行实现。
- 集成了 EpicEditor:分屏编辑、实时预览、自动草稿保存和离线支持。[1]
- 支持在 textarea 字段中拖放、复制粘贴和经典文件上传图片。[自动图片上传](https://developer.mozilla .org/en-US/docs/Web/API/FileReader) 集成(>=IE10, Safari 6.0.2, FX3.6, Chrome 7, Opera 12.02)
- 将 HTML 转换为 Markdown。客户端通过 JavaScript 实现。
- 预览模式可以是实时渲染的 Markdown 或其 HTML,或者通过选择适当的商店视图来实时预览当前页面。
- 在系统 -> 权限 -> 角色下为每个角色设置权限,用户可以查看 Markdown 编辑器的不同部分
Markdown 语法的完整文档可在 John 的 Markdown 页面 上找到
[1] 可能会在未来的版本中被移除
我为什么需要这个?
因为你想摆脱 TinyMCE,并强制你的客户使用简单且有限的语法。
您还可以使用外部编辑器编辑您的 markdown 文本
Mac OS X
所有平台
- PhpStorm
- Sublime Text
- 基于云:StackEdit
Windows
Mashable: 78 个用于编写和预览 Markdown 的工具
配置
可以按商店视图设置所有选项。
- 启用或禁用 Markdown 解析器
- 启用或禁用 Markdown Extra 解析器
- 在系统 -> 权限 -> 角色中为每个角色设置权限
- 设置 Markdown 检测标签
- 隐藏图片插入按钮
- 启用/禁用电子邮件模板中的 Markdown 渲染
- 选择 CSS 预览样式,从 ~20 个不同的主题中选择一个
- 选择 Markdown 预览样式,从 9 个不同的主题中选择一个
- 配置三个预览 iFrame 的 CSS 样式
- 如果在使用交易性电子邮件时使用,请添加 CSS 文件的路径
- 启用或禁用 Markdown EpicEditor(默认禁用)
- 启用或禁用通过点击 textarea 字段来加载 EpicEditor
- Markdown EpicEditor 的完整配置 - 在系统 -> 配置部分添加 JSON 对象
- 定义自定义上传文件夹进行图片上传。此文件夹将自动创建
- 启用或禁用 HTML 到 Markdown 转换器 reMarked.js
- 为reMarked.js添加完整配置。在系统 -> 配置部分添加一个JSON对象
- 通过在系统 -> 配置部分添加布局处理程序,将Markdown集成到自己的模块中
所有包含Markdown语法的字段都必须包含该检测标签,否则将无法解析。
通过拖放上传文件仅在您单击一次textarea字段时才有效。在拖动模式期间,将显示绿色边框,表示可以通过拖放上传文件。如果在拖动过程中看不到该边框,则无法上传文件。
演示内容: http://daringfireball.net/projects/markdown/syntax.text
错误
交易电子邮件中的CSS
交易电子邮件在其style标签中包含CSS。也许一些邮件服务提供商会移除该style标签或无法渲染它。因此,可能需要对CSS进行一些转换,使其添加到每个html标签的style属性中。
<h1 style="font-size..."></h1>
开发者使用
在.phtml文件中的任何位置,您都可以通过以下方式访问渲染器
<?php echo Mage::helper('markdown')->render($_description, [array $options] ); ?>
如果您需要支持Magento变量(包括图像),则应渲染原始的Magento输出。例如,在catalog/product/view/description.phtml中,可以使用以下代码来渲染markdown,包括图像和/或其他Magento变量
<?php echo Mage::helper('markdown')->render($this->helper('catalog/output')->productAttribute($this->getProduct(), $_description, 'description')); ?>
目录产品和类别描述字段已在后端启用了Markdown功能。对于前端,您必须实现上述代码。
CMS页面(Mage_Cms_Model_Page的实例)和块(Mage_Cms_Block_Block和Mage_Cms_Block_Widget_Block的实例)将自动渲染,但前提是存在检测标签。
Magento小工具和变量将自动保留并正确渲染
{{(widget|config|media|...) ... }}
为自定义使用配置Markdown解析器
$instance = Mage::getModel('markdown/markdown_render');
$renderer = $instance=>getRenderer();
$renderer->empty_element_suffix = '>';
$renderer->tab_width = 5;
$instance->setOptions(array(
'force' => FALSE, // force rendering even if not markdown
'protectMagento' => TRUE, // protect Magento widgets/variables ...
'extra' => FALSE, // force rendering of markdown extra if true
));
echo $instance->renderMarkdown('text goes here');
使用Markdown Extra解析交易电子邮件的技巧
- 删除body标签
- 使用
<div markdown="1">包括在其它标签中,包含markdown=1的标签可能不会始终正常工作
如何将Markdown集成到我的模块中?
...
修改后端
您可以为Markdown观察者添加一个事件,该事件生成后端视图。
Mage::dispatchEvent('markdown_merge_after_element_html', array( 'instance' => $this, ));
待办事项
- 对于3.0版本,用StackEdit替换EpicEditor
- 为Magento2创建一个版本
安装说明
- 从https://github.com/colinmollenhour/modman安装modman
- 切换到Magento根目录
modman initmodman clone git://github.com/SchumacherFM/Magento-Markdown.git
请阅读Vinai的优秀文章: Composer安装
关于
- 密钥:SchumacherFM_Markdown
- 当前版本:2.2.0
- 下载tar包
- 捐赠:http://www.seashepherd.org/
历史
2.2.1
- 修复实时预览URL(Paul)
- 修复system.xml模块定义(Paul)
- 修复#39 #42:隐藏的插入图像按钮始终是隐藏的。
- 修复:自定义布局处理程序与array_flip不兼容。
2.2.0
- 更新PHP Markdown库到版本1.4.1(2014年5月4日)。更多详细信息请见此处
- 更新reMarked.js到最新版本
- 更新marked.js到最新版本。修复了一些正则表达式错误。
2.1.1
- 更新EpicEditor
- 更新marked.js到版本v0.3.2
- 更新reMarked.js到最新版本,修复了大量错误。
- beautify-html.js (AMD)的小更新
- 更新highlight.js到版本8.0 http://highlightjs.org;新主题
- 移除缩短的数组语法(PHP 5.4功能)。感谢 Dan Gibbs!
- 错误修复:当Markdown被禁用时,在电子邮件编辑器中隐藏Markdown。感谢Paul Hachmang!
2.1.0
- 启用/禁用电子邮件模板中的Markdown渲染。(作者:Paul Hachmang)
- 更新marked.js
- 错误修复:HTML预览代码标记
- 错误修复:HTML预览按钮应移除
- 错误修复:当内容为空时,预览和实时预览选项卡显示错误的请求
- 功能:野外的使用反馈和想法。
- 功能:设置以启用/禁用预览、实时预览和HTML预览选项卡(见权限 -> 角色)
- 合并拉取请求 更原生化的样式
- 添加新的后端文本区域字段样式选项
- 后端重大变更:GitHub问题 #18
- 按钮重命名
- EpicEditor默认禁用
- 带有外发光效果的文本区域字段样式改进
- 除了图像拖放,还添加了图像的上传和复制粘贴功能
- 增强预览模式
2.0.2
- 小错误修复。GitHub问题 #17(错误的模块名称)和 #13(reMarked.js修复了空的thead)
2.0.1
- 小错误修复。GitHub问题 #14
2.0.0
- 重大变更
- 移除对<= IE8的支持
- 添加EpicEditor,内建marked.js,分割全屏编辑,实时预览,自动草稿保存和离线支持。缺点:当插入Magento小部件、图像或变量时,您必须关闭编辑器以插入该项目,然后再次打开。(文本区域和编辑器之间缺少双向同步)
- 即使EpicEditor未加载或禁用,也可以预览HTML源代码。
- 如果卸载EpicEditor,则可以使用HTML5 FileReader直接上传图像文件。由于EpicEditor的内容可编辑模式,FileReader无法实现,只能在文本区域字段中...
- 添加reMarked.js以将HTML转换为Markdown。reMarked.js可以通过JSON对象完全配置。
1.4.2
- Magento Connect
- 兼容性:Magento >= 1.5
1.4.1
- 修复readme
- Magento Connect
1.4.0
- 更新readme
- 添加来自https://github.com/dcurtis/markdown-mark的修改过的Markdown标志
- 由于Magento Connect指南,对名称进行微小修改为Mage Markdown
- CMS编辑器字段中的实时预览(不适用于Markdown Extra)
- 电子邮件模板可以具有Markdown Extra模式,而默认配置为“正常”Markdown模式
- 实现自己的渲染器必须实现SchumacherFM_Markdown_Model_Markdown_Interface
1.3.0
- 通过Ajax加载后端Markdown Extra预览
1.2.0
- 在事务性电子邮件中使用Markdown
- 错误修复
1.1.0
- 更新Markdown解析器
- 实现了Markdown extra
1.0.0
- 初始版本
兼容性
- Magento >= 1.5
- php >= 5.2.0
此扩展可能与1.5之前的Magento版本一起工作。
支持/贡献
使用问题跟踪器报告错误或向我们发送拉取请求。
如果您真的打算开发此模块,我可以将您添加为合作者,而不是分支。只需询问即可 :-)
我们使用:一个成功的Git分支模型和语义版本控制2.0.0
许可:BSD-3-Clause
Magento Markdown实现
版权(c)2014 Cyrill (at) Schumacher dot fm
版权所有。
PHP Markdown库
- 版权(c)2004-2014 Michel Fortin
- http://michelf.ca
- https://github.com/michelf/php-markdown/
reMarked.js
- 版权(c)2014 Leon Sorokin / leeoniya
- https://github.com/leeoniya/reMarked.js
marked.js
- 版权(c)2011-2014,Christopher Jeffrey。(MIT许可)
- https://github.com/chjj/marked
highlight.js
- 版权(c)2006,Ivan Sagalaev
- https://github.com/isagalaev/highlight.js
Markdown样式
beautify-html
- 版权(c)2007-2014 Einar Lielmanis和贡献者。
- https://github.com/einars/js-beautify/blob/master/js/lib/beautify-html.js
EpicEditor
- 版权所有 (c) 2011-2014,Oscar Godson (http://oscargodson.com)
- https://github.com/OscarGodson/EpicEditor
基于Markdown
版权所有 (c) 2003-2005 John Gruber
版权所有。
在满足以下条件的情况下,允许重新分发和使用源代码和二进制代码,无论是否修改:
-
源代码的重新分发必须保留上述版权声明、本许可列表和以下免责声明。
-
二进制形式的重新分发必须在文档和/或其他与分发一起提供的材料中复制上述版权声明、本许可列表和以下免责声明。
-
不得未经事先书面许可使用“Markdown”名称或其贡献者的名称来认可或推广源自本软件的产品。
本软件由版权所有者和贡献者“按原样”提供,并明确或隐含地放弃任何明示或暗示的保证,包括但不限于适销性和适用于特定目的的暗示保证。在任何情况下,版权所有者或贡献者均不对任何直接、间接、偶然、特殊、示范性或后果性损害(包括但不限于替代商品或服务的采购;使用、数据或利润的损失;或业务中断)承担责任,无论其造成的原因是什么,以及基于何种责任理论,无论是合同、严格责任还是侵权(包括疏忽或其他),即使已告知此类损害的可能性。
后端预览渲染通过
- marked - 一个Markdown解析器
- 版权所有 (c) 2011-2013,Christopher Jeffrey. (MIT许可)
- https://github.com/chjj/marked
作者
澳大利亚悉尼制造 :-)
如果您考虑捐赠,请向以下链接贡献: http://www.seashepherd.org/