Git Product home page Git Product logo

django-mdeditor's Introduction

django-mdeditor

ENV ENV ENV ENV ENV LICENSE

Django-mdeditor is Markdown Editor plugin application for django base on Editor.md.

Django-mdeditor was inspired by great django-ckeditor.

Note:

  • For Markdown page rendering issues, backend rendering is recommended. Because Editor.md has not been updated for a long time, some bugs and compatibility issues need to be debugged. Of course, front-end students can choose.
  • Regarding the Jquery conflict, it cannot be deleted because it is required by the admin backend. It is recommended to separate the editing page on a single page or a full screen directly, using its own static file to distinguish it from other pages.

Features

  • Almost Editor.md features
    • Support Standard Markdown / CommonMark and GFM (GitHub Flavored Markdown);
    • Full-featured: Real-time Preview, Image (cross-domain) upload, Preformatted text/Code blocks/Tables insert, Search replace, Themes, Multi-languages;
    • Markdown Extras : Support ToC (Table of Contents), Emoji;
    • Support TeX (LaTeX expressions, Based on KaTeX), Flowchart and Sequence Diagram of Markdown extended syntax;
  • Can constom Editor.md toolbar
  • The MDTextField field is provided for the model and can be displayed directly in the django admin.
  • The MDTextFormField is provided for the Form and ModelForm.
  • The MDEditorWidget is provided for the Admin custom widget.

Quick start

  • Installation.
    pipenv install django-mdeditor
    # or
    pip install django-mdeditor
  • Add mdeditor to your INSTALLED_APPS setting like this:
    INSTALLED_APPS = [
        ...
        'mdeditor',
    ]
  • add frame settings for django3.0+ like this:
X_FRAME_OPTIONS = 'SAMEORIGIN' 
  • Add 'media' url to your settings like this:
MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads')
MEDIA_URL = '/media/'

Make folder uploads/editor in you project for media files.

  • Add url to your urls like this:
from django.conf.urls import url, include
from django.conf.urls.static import static
from django.conf import settings
...

urlpatterns = [
    ...
    url(r'mdeditor/', include('mdeditor.urls'))
]

if settings.DEBUG:
    # static files (images, css, javascript, etc.)
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
  • Write your models like this:
from django.db import models
from mdeditor.fields import MDTextField

class ExampleModel(models.Model):
    name = models.CharField(max_length=10)
    content = MDTextField()
  • Register your model in admin.py

  • Run python manage.py makemigrations and python manage.py migrate to create your models.

  • Login Admin ,you can see a markdown editor text field like this:

Usage

Edit fields in the model using Markdown

Using Markdown to edit the fields in the model, we simply replace the TextField of the model with MDTextField.

from django.db import models
from mdeditor.fields import MDTextField

class ExampleModel (models.Model):
    name = models.CharField (max_length = 10)
    content = MDTextField ()

Admin in the background, will automatically display markdown edit rich text.

Used in front-end template, you can use like this:

{% load staticfiles %}
<! DOCTYPE html>
<html lang = "en">
    <head>
        <meta http-equiv = "Content-Type" content = "text / html; charset = utf-8" />

    </ head>
    <body>
        <form method = "post" action = "./">
            {% csrf_token %}
            {{ form.media }}
            {{ form.as_p }}
            <p> <input type = "submit" value = "post"> </ p>
        </ form>
    </ body>
</ html>

Edit fields in the Form using markdown

Use markdown to edit fields in the Form, use MDTextFormField instead of forms.CharField, as follows:

from mdeditor.fields import MDTextFormField

class MDEditorForm (forms.Form):
    name = forms.CharField ()
    content = MDTextFormField ()

ModelForm can automatically convert the corresponding model field to the form field, which can be used normally:

class MDEditorModleForm (forms.ModelForm):

    class Meta:
        model = ExampleModel
        fields = '__all__'

Use the markdown widget in admin

Use the markdown widget in admin like as :

from django.contrib import admin
from django.db import models

# Register your models here.
from. import models as demo_models
from mdeditor.widgets import MDEditorWidget


class ExampleModelAdmin (admin.ModelAdmin):
    formfield_overrides = {
        models.TextField: {'widget': MDEditorWidget}
    }


admin.site.register (demo_models.ExampleModel, ExampleModelAdmin)

Customize the toolbar

Add the following configuration to settings:

MDEDITOR_CONFIGS = {
    'default':{
        'width': '90% ',  # Custom edit box width
        'height': 500,  # Custom edit box height
        'toolbar': ["undo", "redo", "|",
                    "bold", "del", "italic", "quote", "ucwords", "uppercase", "lowercase", "|",
                    "h1", "h2", "h3", "h5", "h6", "|",
                    "list-ul", "list-ol", "hr", "|",
                    "link", "reference-link", "image", "code", "preformatted-text", "code-block", "table", "datetime",
                    "emoji", "html-entities", "pagebreak", "goto-line", "|",
                    "help", "info",
                    "||", "preview", "watch", "fullscreen"],  # custom edit box toolbar 
        'upload_image_formats': ["jpg", "jpeg", "gif", "png", "bmp", "webp"],  # image upload format type
        'image_folder': 'editor',  # image save the folder name
        'theme': 'default',  # edit box theme, dark / default
        'preview_theme': 'default',  # Preview area theme, dark / default
        'editor_theme': 'default',  # edit area theme, pastel-on-dark / default
        'toolbar_autofixed': True,  # Whether the toolbar capitals
        'search_replace': True,  # Whether to open the search for replacement
        'emoji': True,  # whether to open the expression function
        'tex': True,  # whether to open the tex chart function
        'flow_chart': True,  # whether to open the flow chart function
        'sequence': True, # Whether to open the sequence diagram function
        'watch': True,  # Live preview
        'lineWrapping': False,  # lineWrapping
        'lineNumbers': False,  # lineNumbers
        'language': 'zh'  # zh / en / es 
    }
    
}

Feedback

Welcome to use and feedback!

You can create a issue or join in QQ Group.

Reference

django-mdeditor's People

Contributors

aeyoll avatar byc4i avatar carlosmonari avatar dependabot[bot] avatar dirkbo avatar duplxey avatar ezawadzki avatar fdddf avatar itz-shubham avatar karlsaintlucy avatar kumkao avatar laiqun avatar pylixm avatar tax avatar vagonzalez avatar wesleylimabh avatar xlxng avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

django-mdeditor's Issues

执行完 python manage.py collectstatic 问题

执行完 python manage.py collectstatic 后django-mdeditor没有在项目static文件夹下创建mdeditor文件夹,而是直接把静态文件复制过去了,这样静态文件管理太乱了。没有做到一个应用一个文件夹

渲染后的文章如何保存在数据库中?

如题。按照您的教程安装了插件并可正常在admin后台访问及编辑,但是保存后数据库中的内容仍为原文而非渲染后的HTML文本,故求问大佬如何能将渲染后的文件保存到数据库。
我的Model如下:

class Blog(models.Model):
    """博客文章"""
    title = models.CharField(verbose_name='博客文章', max_length=50, default='')
    category = models.ForeignKey(Category, on_delete=models.CASCADE, null=True, verbose_name='文章分类')
    author = models.ForeignKey(User, on_delete=models.CASCADE, null=True, verbose_name='作者')
    content = MDTextField(verbose_name='内容') #<--在这里引用
    # content = models.TextField(verbose_name='内容')
    digest = models.TextField(verbose_name='摘要', default='')
    add_time = models.DateTimeField(verbose_name='创建时间', default=datetime.now)
    read_nums = models.IntegerField(verbose_name='阅读数', default=0)
    comment_nums = models.IntegerField(verbose_name='评论数', default=0)
    approval_nums = models.IntegerField(verbose_name='点赞数', default=0)
    image = models.ImageField(verbose_name='博客封面', upload_to='blog/static/blog/images/%Y/%m')
    tag = models.ManyToManyField(TagProfile)

    class Meta:
        verbose_name = '博客信息'
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.title

您好,想咨询一下,如果调整输入框的高度

您好,我是您这个包的使用者,谢谢您的开源。
目前我在使用中碰到了一些问题想请教一下。
我在用python编写django程序,在setting中想调整edit box的尺寸,但是调整宽度可以生效
高度的调整,改了参数以后没有反应,能否帮忙看一下?谢谢

参数如下:
'width': '100% ', # Custom edit box width
'heigth': 500, # Custom edit box height

这个500我无论如何调整,都没有用.

Change menu language

Hi,

I installed the package and it works all fine, except that all menus (like the upload menu) are all in chinese.

I saw that someone already addressed a similar issue but I can't figure out how to access the js file.

Thank you!

Ubuntu compile error

When I want to develop in Ubuntu, raise some errors, could you pls help?

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 3491: ordinal not in range(128)

image

generic listview 只能渲染第一个markdown

我对这方面不太了解 所以抱歉如果这问题太初级了。。。

我想显示用generic listview列出所有的markdown内容, 但是只有第一个能成功显示,后面的无法收到html tag

view.py:

class PostListView(generic.ListView):
    model = Post

post_list.html:

{% extends "blog/blog_base.html" %}
{% load static %}
{% block content %}
{% for object in post_list %}
  <div> 
    <div id="content"><textarea>{{ object.content }}</textarea></div>
  </div>
{% endfor %}
{% endblock %}

谢谢!

该怎么关闭实时预览呢?

我想在前端评论使用mdeditor,但我不想让它出现实时预览,我该如何做,
还有该如何渲染那些emoji在前端显示,我的数据库已经设置为了utf8md4了,但是前端显示不了那些表情,可以告诉我该怎么做吗?

上传后的图片怎么管理?

比如怎么删除(直接在服务器文件夹去删也太low了吧)?一张图片使用多次怎么获取URL(不可能每次都在使用过它的文章里面去复制URL过来吧。。。)?

Add MDEDITOR_CONFIGS to setting.py error

Hi pylixm, thanks for sharing, great project! I have one question and one suggestion, could you pls help?

  • When I add MDEDITOR_CONFIGS to setting.py, it raise error, how to solve it? (Python 3.6 & Django 2.0.7)
Unhandled exception in thread started by <_pydev_bundle.pydev_monkey._NewThreadStartupWithTrace object at 0x10c3875c0>
Traceback (most recent call last):
  File "/Applications/PyCharm.app/Contents/helpers/pydev/_pydev_bundle/pydev_monkey.py", line 589, in __call__
    return self.original_func(*self.args, **self.kwargs)
  File "/Users/leo/.pyenv/versions/hey_star/lib/python3.6/site-packages/django/utils/autoreload.py", line 225, in wrapper
    fn(*args, **kwargs)
  File "/Users/leo/.pyenv/versions/hey_star/lib/python3.6/site-packages/django/core/management/commands/runserver.py", line 120, in inner_run
    self.check(display_num_errors=True)
  File "/Users/leo/.pyenv/versions/hey_star/lib/python3.6/site-packages/django/core/management/base.py", line 364, in check
    include_deployment_checks=include_deployment_checks,
  File "/Users/leo/.pyenv/versions/hey_star/lib/python3.6/site-packages/django/core/management/base.py", line 351, in _run_checks
    return checks.run_checks(**kwargs)
  File "/Users/leo/.pyenv/versions/hey_star/lib/python3.6/site-packages/django/core/checks/registry.py", line 73, in run_checks
    new_errors = check(app_configs=app_configs)
  File "/Users/leo/.pyenv/versions/hey_star/lib/python3.6/site-packages/django/core/checks/urls.py", line 13, in check_url_config
    return check_resolver(resolver)
  File "/Users/leo/.pyenv/versions/hey_star/lib/python3.6/site-packages/django/core/checks/urls.py", line 23, in check_resolver
    return check_method()
  File "/Users/leo/.pyenv/versions/hey_star/lib/python3.6/site-packages/django/urls/resolvers.py", line 399, in check
    for pattern in self.url_patterns:
  File "/Users/leo/.pyenv/versions/hey_star/lib/python3.6/site-packages/django/utils/functional.py", line 36, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/Users/leo/.pyenv/versions/hey_star/lib/python3.6/site-packages/django/urls/resolvers.py", line 540, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/Users/leo/.pyenv/versions/hey_star/lib/python3.6/site-packages/django/utils/functional.py", line 36, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/Users/leo/.pyenv/versions/hey_star/lib/python3.6/site-packages/django/urls/resolvers.py", line 533, in urlconf_module
    return import_module(self.urlconf_name)
  File "/Users/leo/.pyenv/versions/3.6.5/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/Users/leo/Documents/WorkSpace/Python/hey_star/hey_star/urls.py", line 62, in <module>
    url(r'mdeditor/', include('mdeditor.urls')),
  File "/Users/leo/.pyenv/versions/hey_star/lib/python3.6/site-packages/django/urls/conf.py", line 34, in include
    urlconf_module = import_module(urlconf_module)
  File "/Users/leo/.pyenv/versions/3.6.5/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/Users/leo/.pyenv/versions/hey_star/lib/python3.6/site-packages/mdeditor/urls.py", line 4, in <module>
    from .views import UploadView
  File "/Users/leo/.pyenv/versions/hey_star/lib/python3.6/site-packages/mdeditor/views.py", line 14, in <module>
    MDEDITOR_CONFIGS = settings.MDEDITOR_CONFIGS['default'] if hasattr(settings, 'MDEDITOR_CONFIGS') else DEFAULT_CONFIG
KeyError: 'default'

Anyway, thanks .

iOS环境下无法输入任何汉字

使用django-mdeditor 0.1.14版本,在默认的后台管理页面上正常显示,在windows和android环境下正常工作和输入文字(但是手机竖屏视图时不能自动收起预览,把编辑框挤的很窄不便使用,建议修复)。
今天早上在iPad上尝试使用发现无法正常输入任何汉字。
这是正常输入的截图:(在Django-admin的自带输入框中)
C366BDA1-4042-4BD2-8D89-66187FB6796B
这是不能正常输入汉字的截图:(在mdeditor编辑器中)
810E25B3-7D33-4931-A1A4-0A99597F6D69

印象中去年GitHub在文件编辑页出过这个问题,但是现在好了。

md 可以转成 html吗?

我想问一下,能够在后台将 markdown 转换成 html吗?因为我前端用的是 Angular,不是用 django 的模板引擎。以及插入的图片或者公式能不能居中呢?就像是 MWeb 那样,用 $ 包裹则是行内公式,用 $$ 包裹则是行间公式,对于图片,用 [-c] 则可以使图片居中。谢谢!

代码不能自动缩进

我使用editormd.min.js这个文件来渲染我的前端页面,js代码如下:

 editormd.markdownToHTML("editormd-box", {
            id: "editormd",
            //path: "../lib/",
            htmlDecode: "style,script,iframe",  // you can filter tags decode
            emoji: true,
            tocm: true,
            toc: true,
            taskList: true,
            tex: true,  // 默认不解析
            table: true,
            flowChart: true,  // 默认不解析
            sequenceDiagram: true,  // 默认不解析
        });

后台保存的是django的TextField:

content = models.TextField(verbose_name='内容', default='')

在html中调用:

<div style="margin:0" id="editormd-box">
                        <textarea id="editormd" style="display:none;">{{ article.content|safe }}</textarea>
                    </div>

渲染后发现代码没有缩进:

# Game
class Game:
def __init__(self):
self.__board = Board()

这些代码在别的markdown编辑器中显示正常,请问这可能是什么什么原因呢?

建议在setup.py中的open()加个encoding="utf-8"

我在window上用pip下载时没有出现UnicodeDecodeError: 'ascii' code can't decode byte 0xef in position
但在ubuntu上下载时出现了UnicodeDecodeError: 'ascii' code can't decode byte 0xef in position
用的是python3.5

UnicodeEncodeError

When I upload a picture which contains Chinese character in its name, it throw an Exception like this:

[wsgi:error] File "/var/www/venv/lib/python3.6/site-packages/mdeditor/views.py", line 64, in post
[wsgi:error] with open(os.path.join(file_path, file_full_name), 'wb+') as file:
[wsgi:error] UnicodeEncodeError: 'ascii' codec can't encode characters in position 52-55: ordinal not in range(128)

高度无法调节

你好

MDEDITOR_CONFIGS = {
    'default':{
        'width': '90% ',  # Custom edit box width
        'heigth': 900,  # Custom edit box height
        ...
    }
}

dark切换主题和更改宽度百分比是没问题的,确认该配置是生效的
查看html的渲染代码

<div class="wmd-wrapper editormd editormd-vertical editormd-theme-default" id="id_content-wmd-wrapper" style="width: 90%; height: 500px;">....

高度一直锁定500px

安装出错

安装时出现错误:
image
怎么解决啊?这个编辑器很漂亮,想用。

图片格式解析不正确

在图片上传的时候,只允许设置的白名单,但是大写的就不行。比如设置了jpg,但是上传JPG时也会显示格式不对,所以希望全部进行upper或者lower处理,这样就可以了。
Python和js代码都需要修改,我自己尝试修改了Python代码,但是还是有格式不正确的提示。可是苦于不会js啊。。。

centos服务器端 django2.0.3无法使用mdeditor的静态文件

centos端代码:

虚拟环境包的位置: ./envblog/lib/python3.6/site-packages (0.1.13)
urls
`

from django.conf.urls import include
from django.conf.urls import url
from django.conf import settings
from django.conf.urls.static import static
from django.views.static import serve

urlpatterns = [
	...
    path('mdeditor/', include('mdeditor.urls')),  # Django-mdeditor URLS
]

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
else:
    urlpatterns += [
        url(r'^static/(?P<path>.*)$', serve,
            {'document_root': settings.STATIC_ROOT, 'show_indexes': settings.DEBUG})
    ]`

model:

class Article(models.Model):
    STATUS_CHOICES = (
        ('d', '草稿'),
        ('p', '发表'),
    )
    title = models.CharField(verbose_name='标题', max_length=100)
    #content = models.TextField(verbose_name='正文', blank=True, null=True)
    #添加MDTextField文本编辑功能
    content = MDTextField()

admin无法显示mdeditor编辑功能:
default
错误为静态文件无法获取:
default

后台显示有问题

配置好之后,在admin后台看,mdeditor编辑框一直转圈圈,不显示出来,审核元素查看之后发现很多个js和css没有找到

Hi, how can i change the language of the mdedior?

Hi, i'm sorry if this is the wrong place but is it possible to change the language of the editors toolbar toolips?
I tried setting language in the MDEDITOR_CONFIGS in settings.py but it didn't work. LANGUAGE_CODE is also already set.

django-mdeditor is almost perfect for what i'm doing and the only thing stopping it from being perfect is this language problem.

display 2 fields in same admin page with different toolbars

In the admin panel for a given model
I would like to have 2 MDTextField with different configuration
so that I can display different toolbars.

I passed different config_names but I see the same toolbar for both the fields.
I think is a javascript error.

In settings.py

# mdeditor settings
# https://github.com/pylixm/django-mdeditor
# ------------------------------------------------------------------------------
MDEDITOR_CONFIGS = {
    'seo_bottom':{
        'width': '90% ',  # Custom edit box width
        'heigth': 500,  # Custom edit box height
        'toolbar': ["bold", "italic", "|",
                    "h2", "h3", "h5", "h6", "|",
                    "list-ul", "list-ol", "|",
                    "link",
                    "||", "preview", "watch",],  # custom edit box toolbar 
        'upload_image_formats': ["jpg", "jpeg", "gif", "png", "bmp", "webp"],  # image upload format type
        'image_floder': 'editor',  # image save the folder name
        'theme': 'default',  # edit box theme, dark / default
        'preview_theme': 'default',  # Preview area theme, dark / default
        'editor_theme': 'default',  # edit area theme, pastel-on-dark / default
        'toolbar_autofixed': True,  # Whether the toolbar capitals
        'search_replace': False,  # Whether to open the search for replacement
        'emoji': False,  # whether to open the expression function
        'tex': False,  # whether to open the tex chart function
        'flow_chart': False,  # whether to open the flow chart function
        'sequence': False,  # Whether to open the sequence diagram function
        'language': 'en',  # zh / en
    },
    'seo_description':{
        'width': '90% ',  # Custom edit box width
        'heigth': 500,  # Custom edit box height
        'toolbar': ["bold", "italic", "|",
                    "link",
                    "||", "preview", "watch",],  # custom edit box toolbar 
        'upload_image_formats': ["jpg", "jpeg", "gif", "png", "bmp", "webp"],  # image upload format type
        'image_floder': 'editor',  # image save the folder name
        'theme': 'default',  # edit box theme, dark / default
        'preview_theme': 'default',  # Preview area theme, dark / default
        'editor_theme': 'default',  # edit area theme, pastel-on-dark / default
        'toolbar_autofixed': True,  # Whether the toolbar capitals
        'search_replace': False,  # Whether to open the search for replacement
        'emoji': False,  # whether to open the expression function
        'tex': False,  # whether to open the tex chart function
        'flow_chart': False,  # whether to open the flow chart function
        'sequence': False,  # Whether to open the sequence diagram function
        'language': 'en',  # zh / en
    }
}

In models.py:

seo_description = MDTextField(
    config_name = 'seo_description',
    help_text = _("insert a seo description, use markdown"),
    null=True,
    blank=True,
)

seo_bottom = MDTextField(
    config_name = 'seo_bottom',
    help_text = _("insert a seo bottom, use markdown"),
    null = True,
    blank = True,
)

Relative paths to some fonts in CSS files incorrect

Several of the url() references to fonts in .css files point to font files using "...", not "..", and the references fail as a result.

An example:

mdeditor/css/.../fonts/editormd-logo.eot can't be found, because the font file exists at mdeditor/css/../fonts/editormd-logo.eot.

I discovered this when trying to build a Django app to Heroku — I can fix the problem in my local instance, but the Heroku build fails because django-mdeditor gets downloaded with PIP to build the app.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.