NABI NOTE
Editan WYSIWYG na buɗaɗɗen tushe
NABI NOTE editan WYSIWYG ne na buɗaɗɗen tushe; an ware tsara rubutu, daidaitawa, tebur, ɗorawa da sauran siffofi daga ginshiƙinsa zuwa kayayyaki masu zaman kansu da ake kira fuka-fukai. Za ka iya zaɓar fuka-fukan da kake buƙata kawai don haɗa edita, kuma ka haɗa waɗanda ka gina da kanka. An rubuta shi da JavaScript tsantsa, don haka ana iya amfani da shi daga React, Vue da makamantansu. A shafin da ba shi da tsarin ginawa, za ka iya farawa nan da nan da ɗakin karatu na CDN. Tsarin takardarsa, NABI TREE, ana iya canza shi zuwa HTML ko a muhallin Node.js da ba shi da DOM na burauza. Dokokin da aka yi rajista suna gyara takardun shigarwa; idan an ƙirƙiri HTML, ana tsere wa rubutu da siffofi kuma ana duba adireshin mahaɗi. Duk da haka, fuka-fukai na musamman da bayanan da suka zo daga sabar dole a sake dubawa bisa manufar tsaron aikace-aikacen. Masu canji na CSS da shimfiɗa mai amfani da rem suna ba ka damar daidaita jigo da girma, kuma akwai yanayin duhu da saitin nau’in rubutu don harsuna masu yawa. Tsara tebur, tarihin gida da aikin takardu da AI ke taimakawa duk suna aiki da tsarin takarda ɗaya.
Nau’in rubutu
Sans serif (na asali), serif, mai faɗi ɗaya da rubutun hannu — kowace iyali tana jera rubutu bisa tsarin harshe; don haka duk yaren da ka rubuta yana riƙe da siffar iyalin, kuma tsarin da ba shi da rubutun hannu a wannan iyalin zai koma rubutun burauzar. Mai masauki ne yake zaɓar nau’in rubutu na asali.
A ƙasa an nuna kowace iyali a harsuna da yawa.
Sans serif · 산세리프 · ゴシック体 · 无衬线 · Serifenlos · Sans empattement · Sin serifa · Sem serifa · Без засечек · بلا زخارف · सैन्स सेरिफ़ · স্যান্স সেরিফ · سانس سیرف · Tanpa serif · بدون سریف · सॅन्स सेरिफ · Không chân · శాన్స్ సెరిఫ్ · Mara seref · Bila serif · சான்ஸ் செரிஃப் · ไร้เชิง · Senza grazie
Serif · 세리프 · 明朝体 · 衬线 · Avec empattement · Con serifa · Com serifa · С засечками · بزخارف · सेरिफ़ · সেরিফ · سیرف · Berserif · سریف · सेरिफ · Có chân · సెరిఫ్ · Mai seref · Yenye serif · செரிஃப் · มีเชิง · Con grazie
Monospace · 고정폭 · 等幅 · 等宽 · Dicktengleich · Chasse fixe · Monoespaciada · Monoespaçada · Моноширинный · ثابت العرض · मोनोस्पेस · মনোস্পেস · یکساں چوڑائی · Lebar tetap · تکفاصله · Đơn cách · మోనోస్పేస్ · Tazara ɗaya · Eş aralıklı · Nafasi moja · ஒற்றையகலம் · ความกว้างคงที่ · Monospaziato
Cursive · 필기체 · 筆記体 · 手写体 · Schreibschrift · Cursiva · Рукописный · خط اليد · हस्तलिपि · হস্তলিপি · رواں خط · Tulisan tangan · دستنویس · हस्ताक्षर · Chữ viết tay · చేతిరాత · Rubutun hannu · El yazısı · Mwandiko · கையெழுத்து · ลายมือ · Corsivo
Girman rubutu
Ƙarami ƙwarai
Ƙarami
Babba
Babba ƙwarai
Kan take
A layi fanko, rubuta # sannan sarari don mayar da shi kan take nan take.
H1
H2
H3
H4
H5
H6
Mai kauri · Karkace · Ƙarƙashin layi · Layin gogewa
Mai kauri karkace ƙarƙashin layi layin gogewa — misali.
Ana iya tara su ma.
Rubutu na sama da na ƙasa
Faɗin wurin 3.5m2 kuma ana ƙara bayanin ƙasa haka.1
Ruwa H2O.
Launin rubutu · Alamar haske
An zaɓi launuka domin su kasance masu sauƙin karantawa a yanayin haske da duhu.
Launin rubutu Kore · Coral · Violet · Amber · Shuɗi
Alamar haske Rawaya · Kore · Cyan · Ruwan hoda · Shunayya · Lemu
Mahaɗi
Shigar da adireshi, zai zama mahaɗi.
Ana iya amfani da URL na http:// da https://, da hanyoyin shafi guda masu farawa da . ko /. Ba a yarda da adireshi kamar javascript: ba.
Misali, rubuta https://nabi.saro.me sannan ka danna sarari ko Enter — zai canza da kansa kamar yadda ka gani a nan.
Buɗe mahaɗi
Takardar tana ajiye adireshin mahaɗi kawai; shafin da yake nuna takardar ne yake yanke yadda mahaɗai za su buɗe.
Mahaɗin abin haɗe
Ɗora duk wani abu banda hoto yana barin mahaɗi mai siffar fayil kamar wanda ke ƙasa.
Abin haɗe haka yake kasancewa.
Daidaitawa
A daidaita hagu
A daidaita tsakiya
A daidaita dama
Ana iya daidaita kan take ma.
Jeri
Jerin alama
A layi fanko, rubuta - sannan danna sarari — zai zama jerin alama nan take.
Wannan abu ne mai alama
Tab / Shift+Tab suna shigar da rubutu ciki ko fitar da shi.
Jeri mai lamba
A layi fanko, rubuta 1. sannan danna sarari domin samun jeri mai lamba.
Na farko
Na biyu
Na uku
Jerin dubawa
A layi fanko, rubuta [ ] ko [x] sannan danna sarari domin samun jerin dubawa.
An duba wannan abu.
Ba a duba wannan ba tukuna.
Tebur
Danna maɓallin tebur a kayan aiki don ƙirƙira, sannan ƙara, share ko haɗa layuka da ginshiƙai.
Tsara ginshiƙi
Dubawa yana buɗewa da farko; sannan danna ƙwayoyin kan Hannu da Farashi bi da bi.
Samfuri | Hannu | Farashi | Nauyi |
|---|---|---|---|
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 | TBD | 12,999 | 2.4 kg |
Farashi lambobi ne kawai, don haka ana jera shi bisa ƙima.
Hannu ana jera shi a matsayin rubutu saboda haruffan da ke sel na ƙarshe.
Mai raba
Rubuta --- sannan danna Enter don mayar da shi mai raba.
Hoto
Faɗin yana daga 30% zuwa 100%, kuma yana iya zama hagu, tsakiya ko dama.
YouTube
Ɗorawa
Gwada jan hoto ko fayil zuwa editan.
Ɗorawar da ke nan gwaji ce; saiti ne yake haɗa ta da sabarka.
Idan ɗorawa ta gaza, ana cire hoto ko fayil daga editan.
Ambato
A layi fanko, rubuta > sannan danna sarari domin samun akwatin ambato.
Yana iya wuce layuka da dama.
Lamba
A layi fanko, rubuta ``` sannan danna sarari ko Enter don samun akwatin lamba.
Rubuta harshen ma, kamar ```java, sannan danna sarari ko Enter don samun akwatin lamba da aka sa wannan harshe.
import { createNabiWith, defaultWings } from 'nabi-note'
const { nabi } = createNabiWith(defaultWings)
const html = nabi.getHtml()Ƙarin bayani
Ƙarin bayani yana da taƙaitaccen bayani da jiki.
Za ka iya zaɓar ko a adana shi a naɗe ko a buɗe.
Gajerun hanyoyi
Danna Shift sau biyu da sauri domin nuna gajeriyar hanyar kowane siffa a kayan aiki.
Tsara kai tsaye
Misali | Maɓallin aiki | Sakamako |
|---|---|---|
# | Sarari | Kan take |
- | Sarari | Jerin alama |
1. | Sarari | Jeri mai lamba |
[ ] · [x] | Sarari | Jerin dubawa |
> | Sarari | Ambato |
``` · ```ts | Sarari · Enter | Akwatin lamba |
--- | Enter | Mai raba |
https://… | Sarari · Enter | Mahaɗi |
Ayyukan fitarwa
Aiki | Sakamako |
|---|---|
getHtml() | HTML |
getJson() | JSON |
Yana aiki ba tare da DOM ba
Canza JSON zuwa HTML ba ya buƙatar DOM.
Sabar (Node.js) na iya karanta NABI TREE da aka adana kuma ta ƙirƙiri HTML da dokoki iri ɗaya.
Ya dace da waya
UI na waya — tsari mai amsawa yana ɗaukar UI na waya.
Tazarar madannin waya — idan madanni ya buɗe, ana lissafa tsayinsa.
Girma mai sassauci — kowane girma an rubuta shi da rem.
Harsuna da yawa — yana tallafa harsuna masu yawa.
Gyare-gyare
Fikafikinka — idan kana buƙatar siffa, gina ta ka yi rajista.
CSS naka — launuka, kusurwa da tazara duk an ayyana su da --nabi-*, don haka duhu, haske da wani abu kai ne za ka saita.
Buɗaɗɗen tushe — buɗaɗɗen tushe ne a GitHub.
Karanta takardu → 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: 'ha', name: () => 'note' })
const history = mountLocalHistory({ nabi, storage: browserHistoryStorage(window) })
const diff = mountDiffWing({ nabi, registry, surface: content, locale: 'ha' })
// The locale also sets the direction — Arabic and Urdu run right to left
mountSurface({ nabi, registry, root: content, locale: 'ha', fileSink: upload.take })
const settle = watchSettle(document, { surface: content })
const shared = { nabi, registry, surface: content, settle, locale: 'ha' }
// 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: 'ha', 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()))