社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  公告

社区发布: 正式采用Markdown作为编辑器

Py站长 • 11 年前 • 9736 次点击  

Markdown 的目标是实现「易读易写」。Markdown 语法的目标是:成为一种适用于网络的书写语言。Markdown的使用方法请看 http://wowubuntu.com/markdown/

社区之所以采用markdown的原因在于:

  1. 用 MARDOWN 书写的语言特别漂亮干净
  2. 有越来越多的程序员使用 MARKDOWN 来写文章,文章包括文字、代码。
  3. Markdown对于展示代码特别棒
  4. markdown是国际著名网站 stackoverflow , 以及国内一些知名社区如 rubychina, pythonchina 等所采用。

这样,大家未来,可以在本社区讨论代码问题了 :)

还有一个好消息时,社区在发布消息时,支持实时预览啦,大家可以看自己编辑框的下面。

补充说明一下,平时大家可以不使用markdown进行讨论问题,也可以采用markdown进行讨论,这是大家的自由:)

enter image description here

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/36
 
9736 次点击  
文章 [ 6 ]  |  最新文章 10 年前
delong
Reply   •   1 楼
delong    10 年前

github 就是用markdown做本文格式的, 个人只用过ReStructuredText 平时主要是读别人的文档 自己写的不多

Py站长
Reply   •   2 楼
Py站长    10 年前

@木头lbj 支持使用 pagedown 就可以啦~

木头lbj
Reply   •   3 楼
木头lbj    10 年前

楼主,最近做个东西,也想做markdown支持,楼主能给些资料和建议么?

Py站长
Reply   •   4 楼
Py站长    11 年前

我是研究 Pagedown https://github.com/ujifgc/pagedown 这个开源项目 做出来的,有问题可以讨论 :)

honkin2011-weibo
Reply   •   5 楼
honkin2011-weibo    11 年前

怎么配置Markdown的?是用wmd吗?最近正愁这个,有教程能分享下吗?

Py站长
Reply   •   6 楼
Py站长    11 年前

正面演示一下 代码展示方法(代码片段取自 Pagedown https://github.com/ujifgc/pagedown )

怎么样,代码好看吧,

class PagedownWidget(forms.Textarea):

    def __init__(self, attrs = None):
        super(PagedownWidget, self).__init__(attrs)

    class Media:
        css = {
            'all': ('pagedown/demo/browser/demo.css',)
        }
        js = ('%s/pagedown/Markdown.Converter.js' % settings.STATIC_URL.rstrip('/'),
              '%s/pagedown/Markdown.Sanitizer.js' % settings.STATIC_URL.rstrip('/'),
              '%s/pagedown/Markdown.Editor.js' % settings.STATIC_URL.rstrip('/'),)

    def render(self, name, value, attrs = None):

        panel = "wmd-panel"
        input = "wmd-input"
        if self.attrs.get('id', "") == "reply_content":
            panel = "wmd-panel-reply"
            input = "wmd-input-reply"

        if value is None:
            value = ''
        if 'class' in self.attrs:
            self.attrs['class'] += (" " + input)
        else:
            self.attrs['class'] = input

        final_attrs = self.build_attrs(attrs, name = name)
        html = """
            <div class="wmd-wrapper">
                <div class="%(panel)s">
                <div id="%(id)s_wmd_button_bar"></div>
                <textarea%(attrs)s>%(body)s</textarea>
                </div>
                <div id="%(id)s_wmd_preview" class="wmd-panel wmd-preview"></div>
            </div>
            <script type="text/javascript">
                (function () {
                    var converter = Markdown.getSanitizingConverter();
                    selectors = {
                        input : "%(id)s",
                        button : "%(id)s_wmd_button_bar",
                        preview : "%(id)s_wmd_preview",
                    }
                    var editor = new Markdown.Editor(converter, "", selectors);
                    editor.run();
                })();
            </script>
            """ % {
                'panel': panel,
                'attrs': flatatt(final_attrs),
                'body': conditional_escape(force_unicode(value)),
                'id': final_attrs['id'],
            }
        return mark_safe(html)


class AdminPagedownWidget(admin_widgets.AdminTextareaWidget, PagedownWidget):

    class Media:
        css = {
            'all': ('admin/css/pagedown.css',)
        }