All Projects β†’ mthli β†’ Knife

mthli / Knife

Licence: apache-2.0
Knife is a rich text editor component for writing documents in Android.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Knife

Canner Slate Editor
πŸ“Rich Text / WYSIWYG Editor built for Modularity and Extensibility.
Stars: ✭ 1,071 (-47.88%)
Mutual labels:  rich-text-editor
Draft Extend
Build extensible Draft.js editors with configurable plugins and integrated serialization.
Stars: ✭ 109 (-94.7%)
Mutual labels:  rich-text-editor
Ngx Quill Example
demo app for the advanced usage of ngx-quill module
Stars: ✭ 137 (-93.33%)
Mutual labels:  rich-text-editor
Leotextview
🐬A high-performance rich editor develop with swift on iOS platform, based on TextKit.
Stars: ✭ 87 (-95.77%)
Mutual labels:  rich-text-editor
Ngx Quill
Angular (>=2) components for the Quill Rich Text Editor
Stars: ✭ 1,382 (-32.75%)
Mutual labels:  rich-text-editor
Quill Sharedb Cursors
Collaborative editing with multi cursors sync using Quill and ShareDB.
Stars: ✭ 121 (-94.11%)
Mutual labels:  rich-text-editor
Megadraft
Megadraft is a Rich Text editor built on top of Facebook's Draft.JS featuring a nice default base of components and extensibility
Stars: ✭ 982 (-52.21%)
Mutual labels:  rich-text-editor
React Tapable Editor
A pluginable, intuitive medium/notion like rich text editor(currently in wip)
Stars: ✭ 170 (-91.73%)
Mutual labels:  rich-text-editor
React Native Draftjs
A full fledged React Native Rich Text editor based on draft.js
Stars: ✭ 103 (-94.99%)
Mutual labels:  rich-text-editor
Rich editor
This is an RichEditor for the Flutter platform.
Stars: ✭ 135 (-93.43%)
Mutual labels:  rich-text-editor
Balsa
This repository holds source code of Balsa, a self hosted, privacy focused knowledgebase.
Stars: ✭ 93 (-95.47%)
Mutual labels:  rich-text-editor
Tinymce
The world's #1 JavaScript library for rich text editing. Available for React, Vue and Angular
Stars: ✭ 10,179 (+395.33%)
Mutual labels:  rich-text-editor
Etherpad Lite
Etherpad: A modern really-real-time collaborative document editor.
Stars: ✭ 11,937 (+480.88%)
Mutual labels:  rich-text-editor
French Press Editor
β˜• An offline-first rich text editor component.
Stars: ✭ 69 (-96.64%)
Mutual labels:  rich-text-editor
Zefyr
Soft and gentle rich text editing for Flutter applications.
Stars: ✭ 2,021 (-1.65%)
Mutual labels:  rich-text-editor
Slate Edit Code
A Slate plugin for code block editing
Stars: ✭ 44 (-97.86%)
Mutual labels:  rich-text-editor
Awesome Wysiwyg
A curated list of awesome WYSIWYG editors.
Stars: ✭ 1,801 (-12.36%)
Mutual labels:  rich-text-editor
Richtexteditor
Rich text editor lib for android. (Img support) - ε―Œζ–‡ζœ¬ηΌ–θΎ‘ε™¨οΌˆζ”―ζŒε›Ύη‰‡οΌ‰
Stars: ✭ 172 (-91.63%)
Mutual labels:  rich-text-editor
Pell
πŸ“ the simplest and smallest WYSIWYG text editor for web, with no dependencies
Stars: ✭ 11,653 (+467.06%)
Mutual labels:  rich-text-editor
Medium Draft
πŸ“ A medium like Rich Text Editor built on draft-js with a focus on keyboard shortcuts.
Stars: ✭ 1,705 (-17.03%)
Mutual labels:  rich-text-editor

Knife

Android Arsenal

Knife (extend EditText) is a rich text editor component for writing documents in Android.

Just select text and use one line code to style it!

Support Android 4.0+

Example

example.gif

Here has a demo apk, and it's source code, very easy to understand~

More experiments see mthli/Type.

Api

  • bold(boolean valid) bold the selected text.

  • italic(boolean valid) italic the selected text.

  • underline(boolean valid) <u>underline</u> the selected text.

  • strikethrough(boolean valid) strikethrough the selected text.

  • bullet(boolean valid) bullet the selected text.

  • quote(boolean valid) quote the selected text.

  • link(String link) and link(String link, int start, int end) to link the text.

  • contains(int FORMAT) return true if the selected text contains the FORMAT.

  • clearFormats() clear all formats.

  • redo() when text changed, you can redo it!

  • undo() when text change, you can also undo it!

  • fromHtml() import from HTML file.

  • toHtml() export as HTML file.

If you want to get more control of the editable text, just extend KnifeText to get all protected method.

Custom

  • app:bulletColor

  • app:bulletRadius

  • app:bulletGapWidth

  • app:historyEnable true to enable record history, so you can redo() and undo().

  • app:historySize the record max limit.

  • app:linkColor

  • app:linkUnderline true to enable link underline.

  • app:quoteColor

  • app:quoteStripeWidth the quote line width.

  • app:quoteCapWidth

TODO

  • Insert image.

Gradle

At your top-level build.gradle file:

repositories {
    // ...
    maven { url 'https://jitpack.io' }
}

And then at your project build.gradle file:

dependencies {
    compile 'com.github.mthli:Knife:v1.1'
}

Done!

Reference

Thanks

License

Copyright 2015 Matthew Lee

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].