Giter Club home page Giter Club logo

moratab's People

Contributors

nournia 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  avatar  avatar

moratab's Issues

امکان افزدن ارجاع به متن

نیاز به دکمه‌ای داریم که مخاطب برای ارجاع دادن مجبور نباشه خودش هم شماره بزنه هم علامت ارجاع رو در متن بذاره

تولید اچ‌تی‌ام‌ال به صورت یک صفحهٔ کامل

یه متد که مار‌ک‌داون رو به یک صفحهٔ کامل تبدیل کنه چیز خوبی می‌تونه باشه. با این امکان که آدرس استایل رو بشه بهش داد یا اگه بهش داده نشد همون استایل پیش‌فرض رو خودش اضافه کنه.

پیش‌نمایش نوشتار

در هنگام حذف کدهای اضافه از استک‌ادیت، بخش پیش‌نمایش رو کاملا حذف کردیم. این کار چند تا دلیل داشت از جمله اینکه ویرایشگر قرار نیست تمام صفحه رو اشغال کنه و فضای کافی برای پیش‌نمایش تمام متن که ممکنه خیلی طولانی باشه نداریم. دلیل دیگرش هم این بود که برای پیش‌نمایش می‌خوایم از موتور تبدیل مارک‌دان خودمون استفاده کنیم

در حال حاضر ویرایشگر متن نوشته رو به قطعاتی تبدیل می‌کنه که با عنوان‌ها جدا می‌شن. شاید یک پیشنهاد خوب پیش‌نمایش همین قطعه‌ها باشه. البته واسط گرافیکش رو خودم هم خوب نمی‌تونم تصور کنم ولی به نظر می‌رسه بهتر از پیش‌نمایش یک متن بلند هست

امکان بازیابی آخرین نوشته

احتمال اینکه صفحه مرورگر به صورت اتفاقی بسته بشه کم نیست. باید دکمه‌ای داشته باشیم که آخرین ویرایش نوشته رو بازیابی کنه

Integration with Boostnote

Is it possible to integrate Moratab with Boostnote, which is a great note taking app based on Markdown?
That would be great to use Boostnote with Persian support!

فونت با فاصله یکسان

تنها راه نمایش مناسب جدول‌های مارک‌دان استفاده از فونتی با فاصله حروف یکسان هست. به عبارت دیگه
monospace

باید یک فونت اینجوری پیدا کنیم که خوشگل هم باشه

Navigation Pane

برای خوندن متن‌های بزرگ لازمه که اوّلشون فهرست وجود داشته باشه. برای نوشتن متن‌های بزرگ به خصوص تو محیطی که WYSIWYG نیست داشتن چیزی شبیه Navigation Pange ورد از نون شب واجب‌تره.
مشکل به قدری برای من داره حاد می‌شه که ممکنه از مارک‌داون برگردم به ورد!

امکان ذخیرهٔ متن از ادیتور

ذخیره کردن متن مارک‌داون از داخل ادیتور خیلی حیاتیه. خیلی جالب نیست که از ادیتور متن رو کپی کنیم توی یه ادیتور دیگه و اونجا ذخیره کنیم.

enhance docs

داکیومنتتون ضعیفه... یکی مثل من که هیچچی جاوااسکریپت نمیدونمم وجود داره

امکان قرار دادن جدول

جدل گذاشتن کلا سخته و من یادم نمی‌آد نمونه خوبی دیده باشم برای این کار. حتی مال ورد هم جالب نیست

یک مثال از اول تا آخر تبدیل مارک‌داون فارسی به اچ‌تی‌ام‌ال بذارید

من هر کاری کردم نتونستم متن یونیکد رو تبدیل کنم. باید خیلی پیش پا افتاده باشه نه؟

moratab.render(open('README.md').read())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "moratab.py", line 66, in render
    rendered = markdown.render(text)
  File "/usr/local/lib/python2.7/dist-packages/mistune.py", line 904, in render
    return self.parse(text)
  File "/usr/local/lib/python2.7/dist-packages/mistune.py", line 907, in parse
    out = self.output(preprocessing(text))
  File "/usr/local/lib/python2.7/dist-packages/mistune.py", line 944, in output
    out += self.tok()
  File "/usr/local/lib/python2.7/dist-packages/mistune.py", line 966, in tok
    return getattr(self, 'parse_%s' % t)()
  File "/usr/local/lib/python2.7/dist-packages/mistune.py", line 984, in parse_heading
    self.token['text'],
  File "moratab.py", line 12, in header
    return '<h%d%s>%s</h%d>\n' % (level, direction(text), text, level)
  File "moratab.py", line 7, in <lambda>
    direction = lambda html: ' dir="ltr"' if ltr.match(refine(html)) else ''
  File "moratab.py", line 6, in <lambda>
    refine = lambda html: refine(html[html.find('>')+1:]) if html.startswith('<') else html
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd9 in position 0: ordinal not in range(128)

بعد با خودم گفتم شاید باید یونیکد رو دیکد کنم؟

moratab.render(open('README.md').read().decode('utf-8'))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "moratab.py", line 66, in render
    rendered = markdown.render(text)
  File "/usr/local/lib/python2.7/dist-packages/mistune.py", line 904, in render
    return self.parse(text)
  File "/usr/local/lib/python2.7/dist-packages/mistune.py", line 907, in parse
    out = self.output(preprocessing(text))
  File "/usr/local/lib/python2.7/dist-packages/mistune.py", line 944, in output
    out += self.tok()
  File "/usr/local/lib/python2.7/dist-packages/mistune.py", line 966, in tok
    return getattr(self, 'parse_%s' % t)()
  File "/usr/local/lib/python2.7/dist-packages/mistune.py", line 1061, in parse_paragraph
    return self.renderer.paragraph(self.inline(self.token['text']))
  File "/usr/local/lib/python2.7/dist-packages/mistune.py", line 490, in __call__
    return self.output(text)
  File "/usr/local/lib/python2.7/dist-packages/mistune.py", line 525, in output
    output += out
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd8 in position 0: ordinal not in range(128)

برگشت از پاورقی

یک لینک معکوس از پاورقی به مطلب هم برای متن‌های بلند لازمه. چیزی شبیه به ویکیپدیا می‌تونه خوب باشه.

امکان کپی از ورد مایکروسافت و سایت‌های دیگر

این ویژگی زیاد مورد تقاضا بوده و مخصوصا برای غیربرنامه‌نویس‌ها خیلی بدرد می‌خوره. خروجی ورد همون HTML هست به صورت خیلی خیلی کثیف. یعنی در واقع اگر از سایت دیگری هم کپی کنه، ما باید به مرتب تبدیلش کنیم.

پیاده‌سازی اولیه‌ای از این ویژگی انجام دادم. اگرچه خروجی ورد اینقدر آشغال هست که هنوز زیاد کار داره. در حال حاضر، عناصر معمولی که انتظار تبدیلشون رو دارید شامل عنوان، نوشته درشت یا مورب، لیست، نقل قول، قطعه کد، پیوند و تصویر باید به قابل مرتب وارد بشن. همچنین جدول و پاورقی هم پشتیبانی می‌شن که خیلی ویژگی شاخی محسوب می‌شه.

ممنون می‌شم که دوستان تست کنن و بگن تبدیل در چه مواردی خوب نیست. اگرچه خودمون هم با خیلی از اشکالات مواجه شدیم و در حال رفع اونها هستیم.

تگ‌های اچ‌تی‌ام‌ال رو نمی‌شناسه

مرتب تگ‌های اچ‌تی‌ام‌ال رو نمی‌شناسه. مثلاً میخوام یه قسمتی از متن رو چپ به راست یا راست به چپ کنم، تگ اچ‌تی‌ام‌ال که میذارم، حذفش می‌کنه.

شناسه برای هر عنوان

وقتی هر عنوان یه Id هم داشته باشه می‌شه راحت از بیرون بهش لینک داد. ضمن اینکه برای درست کردن فهرست هم کار راحت‌تر می‌شه.

آیکون‌ها و ترجمه‌های مناسب‌تر

آیکون‌های کد، فهرست شماره‌دار و فهرست بی‌شماره خیلی متناسب نیستند. به علاوه فهرست بی‌شماره خیلی ترجمهٔ خوبی برای unordered list نیست. لیست با/بدون ترتیب شاید بهتر باشه. ولی بازم به دل نمی‌شینه.

امکان آپلود تصویر

ویرایشگر باید امکان آپلود تصویر را فراهم کند تا مخاطب مجبور نباشد خودش تصویر را آپلود کرده و آدرس آن را در صفحه بنویسد

برای شروع خوب است که از آپلود تصویر در این سرویس پشتیبانی کنیم
http://cloudinary.com/

اگرچه کد مختصری هم برای تحویل گرفتن تصویر در سرورهای اختصاصی نیاز داریم

جلوگیری از بسته شدن اتفاقی صفحه

تا حالا چند بار به صورت اتفاقی صفحه رو از دست دادم مثلا دکمه ریفرش رو زدم و نوشته‌ها هم پریدن، باید قبل از ترک صفحه از مخاطب تایید بگیریم؛‌ البته بعضی از چیزایی که این کار رو می‌کنن، رو اعصاب هستن

پاورقی آسان

پاورقی مرسوم این طوری هست:

پاورقی[^footnote]

[^footnote]: Footnote

کاش می‌شد این طوری پاورقی زد:

پاورقی[^Footnote]

حذف وابستگی بوت‌استرپ

در حال حاضر از بوت‌استرپ برای نمایش دکمه‌ها و مدال‌ها استفاده شده که می‌تونیم این بخش‌ها رو از بوت‌استرپ انتقال بدیم به کد ویرایشگر

شماره زدن عنوان‌ها

این ویژگی در متن‌های دانشگاهی اهمیت داره. اصلا شاید علامت # در مارک‌دان برای مشخص کردن عنوان، به معنی شماره‌ای باشه که در آینده قرار داده می‌شه

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.