NABI NOTE
Kihariri huria cha WYSIWYG
NABI NOTE ni kihariri huria cha WYSIWYG. Uumbizaji, mpangilio, majedwali, upakiaji na vipengele vingine vimetenganishwa na kiini kuwa moduli huru zinazoitwa mabawa. Chagua mabawa unayohitaji ili kukusanya kihariri, au unganisha bawa lako. Kimeandikwa kwa JavaScript ya kawaida, hivyo kinafanya kazi na React au Vue. Unaweza kuanza bila usanidi wa ujenzi kwa maktaba ya CDN. Muundo wake wa hati, NABI TREE, hubadilishwa kuwa HTML hata katika Node.js bila DOM. Hati za ingizo hurekebishwa kwa kanuni zilizosajiliwa, maandishi na sifa hutoroshwa, na anwani za viungo hukaguliwa. Mabawa maalum na data ya seva lazima vikaguliwe kwa sera ya usalama ya programu. Vigeu vya CSS na mpangilio wa rem hukuruhusu kurekebisha mandhari na ukubwa; mandhari meusi, aina za herufi za lugha nyingi, upangaji wa jedwali, historia ya ndani na kazi za hati za AI zote zinatumia muundo huohuo wa hati.
Aina ya herufi
Bila serif, yenye serif, nafasi moja na mwandiko — kila familia hupanga fonti kwa mfumo wa uandishi. Mwenye tovuti huamua aina ya herufi chaguomsingi.
Kila familia hapa chini inaonyeshwa katika lugha nyingi.
Bila serif · சான்ஸ் செரிஃப் · ไร้เชิง · Senza grazie · Sans serif · 산세리프 · ゴシック体 · 无衬线 · Serifenlos · Sans empattement · Sin serifa · Sem serifa · Без засечек · بلا زخارف · सैन्स सेरिफ़ · স্যান্স সেরিফ · سانس سیرف · Tanpa serif · بدون سریف · सॅन्स सेरिफ · Không chân · శాన్స్ సెరిఫ్ · Mara seref
Yenye serif · செரிஃப் · มีเชิง · Con grazie · Serif · 세리프 · 明朝体 · 衬线 · Avec empattement · Con serifa · Com serifa · С засечками · بزخارف · सेरिफ़ · সেরিফ · سیرف · Berserif · سریف · सेरिफ · Có chân · సెరిఫ్ · Mai seref
Nafasi moja · ஒற்றையகலம் · ความกว้างคงที่ · Monospaziato · Monospace · 고정폭 · 等幅 · 等宽 · Dicktengleich · Chasse fixe · Monoespaciada · Monoespaçada · Моноширинный · ثابت العرض · मोनोस्पेस · মনোস্পেস · یکساں چوڑائی · Lebar tetap · تکفاصله · Đơn cách · మోనోస్పేస్ · Tazara ɗaya · Eş aralıklı
Mwandiko · கையெழுத்து · ลายมือ · Corsivo · Cursive · 필기체 · 筆記体 · 手写体 · Schreibschrift · Cursiva · Рукописный · خط اليد · हस्तलिपि · হস্তলিপি · رواں خط · Tulisan tangan · دستنویس · हस्ताक्षर · Chữ viết tay · చేతిరాత · Rubutun hannu · El yazısı
Ukubwa wa maandishi
Kidogo sana
Kidogo
Kikubwa
Kikubwa sana
Vichwa
Kwenye mstari mtupu, andika # kisha nafasi ili kuugeuza kuwa kichwa.
H1
H2
H3
H4
H5
H6
Nzito · Mlalo · Mstari wa chini · Kufuta
Nzito mlalo mstari wa chini mstari wa kufuta — mfano.
Vinaweza kupangwa pamoja.
Kiambishi cha juu na cha chini
Eneo ni 3.5m2 na maelezo ya chini huongezwa hivi.1
Maji ni H2O.
Rangi ya maandishi · Kuangazia
Paleti hubaki kusomeka katika mandhari mepesi na meusi.
Rangi ya maandishi Kijani · Matumbawe · Urujuani · Kahawia dhahabu · Bluu
Kuangazia Njano · Kijani · Samawati · Waridi · Zambarau · Chungwa
Kiungo
Weka anwani na inakuwa kiungo.
Unaweza kutumia http:// na https://, pamoja na njia za tovuti zinazoanza kwa . au /. Anwani kama javascript: haziruhusiwi.
Andika https://nabi.saro.me na ubonyeze nafasi au Enter — hubadilika yenyewe.
Kufungua kiungo
Hati huhifadhi anwani ya kiungo pekee; ukurasa unaoonyesha hati huamua namna ya kukifungua.
Kiungo cha kiambatisho
Faili isiyo picha huacha kiungo chenye umbo la faili.
Kiambatisho hubaki hivi.
Mpangilio
Imepangwa kushoto
Imepangwa katikati
Imepangwa kulia
Vichwa vinaweza kupangwa pia.
Orodha
Orodha yenye vitone
Andika - kisha nafasi kwenye mstari mtupu.
Kipengee chenye kitone
Tab / Shift+Tab huingiza ndani na kurudisha nje.
Orodha ya namba
Andika 1. kisha nafasi.
Ya kwanza
Ya pili
Ya tatu
Orodha ya kazi
Andika [ ] au [x] kisha nafasi.
Kipengee hiki kimekaguliwa.
Hiki bado hakijakaguliwa.
Jedwali
Bofya kitufe cha jedwali ili kuongeza, kufuta na kuunganisha safu mlalo na safu wima.
Upangaji wa safu wima
Hakiki ikifunguliwa, bofya vichwa vya Hisa na Bei kwa zamu.
Muundo | Hisa | Bei | Uzito |
|---|---|---|---|
NB-7 | 1,200 | 349 | 1.2 kg |
NB-9 | 20,000 | 99 | 0.9 kg |
NB-12 | 3,500 | 1,299 | 1.4 kg |
NB-80 | 900 | 8,900 | 2.1 kg |
NB-100 | Haijaamuliwa | 12,999 | 2.4 kg |
Bei hupangwa kwa namba.
Hisa hupangwa kama maandishi.
Kitenganishi
Andika --- na ubonyeze Enter.
Picha
Upana huanzia 30% hadi 100%, kushoto, katikati au kulia.
YouTube
Upakiaji
Jaribu kuburuta picha au faili hadi kwenye kihariri.
Upakiaji huu ni mfano; mpangilio huunganisha na seva yako.
Ukishindwa, picha au faili huondolewa kwenye kihariri.
Nukuu
Andika > kisha nafasi kwenye mstari mtupu ili kupata kisanduku cha nukuu.
Inaweza kuendelea kwa mistari kadhaa.
Msimbo
Andika ``` na ubonyeze nafasi au Enter ili kupata kisanduku cha msimbo.
Andika lugha pia, kama ```java.
import { createNabiWith, defaultWings } from 'nabi-note'
const { nabi } = createNabiWith(defaultWings)
const html = nabi.getHtml()Maelezo
Maelezo huundwa kwa muhtasari na mwili.
Chagua kama yanahifadhiwa yamekunjwa au yamefunguliwa.
Njia za mkato
Bonyeza Shift mara mbili kwa haraka ili kuonyesha njia za mkato.
Uumbizaji wa moja kwa moja
Mfano | Kitufe cha tendo | Matokeo |
|---|---|---|
# | Nafasi | Kichwa |
- | Nafasi | Orodha yenye vitone |
1. | Nafasi | Orodha ya namba |
[ ] · [x] | Nafasi | Orodha ya kazi |
> | Nafasi | Nukuu |
``` · ```ts | Nafasi · Enter | Kisanduku cha msimbo |
--- | Enter | Kitenganishi |
https://… | Nafasi · Enter | Kiungo |
Vitendakazi vya towe
Kitendakazi | Matokeo |
|---|---|
getHtml() | HTML |
getJson() | JSON |
Hufanya kazi bila DOM
Kubadilisha JSON kuwa HTML hakuhitaji DOM.
Seva inaweza kusoma NABI TREE na kuunda HTML kwa kanuni zilezile.
Rafiki kwa simu
Kiolesura cha simu — mpangilio unaojirekebisha hubeba kiolesura cha simu.
Nafasi ya kibodi ya simu — urefu wake huzingatiwa.
Ukubwa unaonyumbulika — kila ukubwa huandikwa kwa rem.
Lugha nyingi — inasaidia lugha nyingi.
Ubinafsishaji
Bawa lako — lijenge na ulisajili.
CSS yako — rangi, pembe na nafasi hufafanuliwa kwa --nabi-*.
Huria — iko kwenye GitHub.
Soma nyaraka → nabi.saro.me
npm install nabi-noteimport {
createNabiWith, mountSurface, mountToolbar, mountContextToolbar,
mountHints, watchSettle, defaultWings, mountUpload, mountUploadView,
browserFileStore, mountFile, parseNodes, mountViewTools,
browserHistoryStorage, mountLocalHistory, openHistoryPanel,
} from 'nabi-note'
import { mountDiffWing } from 'nabi-note/diff'
// The box that asks — without it the core answers "no" to everything (plug in your own)
const ask = { message: (t: string) => alert(t), confirm: (t: string) => confirm(t) }
const selected = [
...defaultWings,
]
const { nabi, registry } = createNabiWith(selected, { ask })
// Bring your own highlighter (Prism, highlight.js, Shiki, …) — the wing stays as it is
// and only the attach is swapped (`makeCodeAttach` ships from the same door)
// { ...codeWing, attach: makeCodeAttach({ highlight: (source, lang) => [{ text: source }] }) }
const root = document.querySelector('.nabi')!
const content = document.querySelector('.nabi-content')!
const view = mountUploadView({ nabi, surface: content })
const upload = mountUpload({
nabi, root: content,
// your upload goes here — report progress with task.onProgress(0–100)
uploader: async (task) => ({ uri: 'https://cdn.example/uploaded' }),
extensions: ['png', 'jpg', 'pdf'], maxFileSize: 10 * 1024 * 1024,
onStart: (tasks) => view.start(tasks),
onProgress: (id, percent) => view.progress(id, percent),
onSettle: () => view.settle(),
onDone: () => view.done(),
})
const file = mountFile({ nabi, registry, store: browserFileStore(document), parse: parseNodes, locale: 'sw', name: () => 'note' })
const history = mountLocalHistory({ nabi, storage: browserHistoryStorage(window) })
const diff = mountDiffWing({ nabi, registry, surface: content, locale: 'sw' })
// The locale also sets the direction — Arabic and Urdu run right to left
mountSurface({ nabi, registry, root: content, locale: 'sw', fileSink: upload.take })
const settle = watchSettle(document, { surface: content })
const shared = { nabi, registry, surface: content, settle, locale: 'sw' }
// A tool that needs a panel comes back to the host — without this the button is dead
const toolbar = mountToolbar({
...shared, root: document.querySelector('#toolbar')!,
file,
onFiles: upload.take,
onHost: (w) => {
if (w === 'diff') { diff.open(); return }
if (w !== 'localHistory') return
openHistoryPanel({
history, surface: content, locale: 'sw', sessionId: history.sessionId,
render: (record) => createNabiWith(selected, { doc: JSON.parse(record.body) }).nabi.getHtml(),
})
},
})
const context = mountContextToolbar({ ...shared, root: document.querySelector('#context')! })
mountHints({ toolbar, context, root, surface: content })
// The preview and fullscreen buttons — they stand their own box at the end of the row
mountViewTools({ ...shared, root, container: document.querySelector('#toolbar')! })
// on every change — hook up your own code here
// nabi.onChange(() => user_callback(nabi.getHtml()))