Overview# LEAF Writer provides buttons at the top of the screen to support tag insertion. This article introduces how to customize them.
As a result, I added functionality to insert <app><lem>aaa</lem><rdg>bbb</rdg></app>.
https://youtu.be/XMnRP7s2atw
Editing# Edit the following file:
packages/cwrc-leafwriter/src/components/editorToolbar/index.tsx
Features for supporting tags such as person names and place names are configured as follows. For example, the description for organization has been commented out:
c o n { } { { } { } { } s , , , , t g h i o } t t t g c g d h i o t t c g d h i o t t c g d h i o t t r i c n , i o y r o r i i c n i y o r i i c n i y o r i i c n i y i o d o C i c c c s } t o p o l o s d o C t p l o s d o C t p l o s d o C t p t u e n l f o o o h ) l l e u o u a e n l l e o u a e n l l e o u a e n l l e e p : : i n n n o e p u ; e t : p r p b : : i e : r p b : : i e : r p b : : i e : m : c ( s s s w v o s : i : : : l c : : : l c : : : l c : s i ' k ! t t t C e s e p ' e i e k ' e i e k ' e i e k ' : ' s i : c o a n i S ' : b ' e ' d s n : ' i e ' d s n : ' i e ' d s n : ' i a R n o r p p n n t t e T u a n a : R t T c n a : R t T c n a : R t T c ( c e s n e o o t c S i l a ' t c t c e i a o t c e i a o t c e i a o M t a e t c s s e h o o e g A t t i t ! a t g n i t ! a t g n i t ! a t g n e i d r a t X Y x o u n c ' d o i t i i d y B t i i d y B t i i d y B n o o t = i t r r : t , d n o y o s o . = P u y o s o . = P u y o s o . = O u u n n T > n = = = M E c i ' n . n S n p > e t . n S n p > l t . n S n o > r t I ' l a e e l e { o T , ' p ' u l e r t p ' u l l a t o ' u l r g t t , y g { r c r r n : : n a , e , p y r w s o l , p y a w c o r , p y g w a o e , ' . o e e u p : g r p , s i o n a p , c i e n g p , a i n n m , c n c c ( c ' o ' t s o o n n ' c o e n ' ' a o n n i ' u t t t { o r s t , y o r n d ' , e r . d , , n r i d z , | r a . . n i X r p n t . o , . t i o i t z o a r i l t t b , u e . e i w c e c w z e a w t I e n e o a b e : c d c . o d o . a d t . i t n e f p i o p , o ( o w l ( n w t ( i w o e t r t n n o ' l ' n r o ' , r i ' o r n m ) . ; + e ' s d o p , i r p i o o n i ' ) c r , Y i r e t . l t n r . t , [ r u 3 . v . r e m a e . g i e ] e r 4 c } i m s r a c r c a c r t r ; u , d a o . i e . o n o . = u e r e i n t n ' t l i n t r n r r n ' a , ) a o z , a [ n t e ' , ) g , g r a g ; . n , , g g . t g g t e e m i e e , h r r a o r t i . . i n . B d a a n ' a o e d d , ) d u : d d , d n E E E d i n n n i s t t t n R i i i g e t t t C a y y y l d D D D i o i i i e n a a a n l l l l t y o o o R g g g e } ( ( ( c , ' ' ' t p p o ( e l r ) r a g ; s c a o e n n ' i ' ) z ) , a , t i o n ' ) , As a result, the choices are limited as follows:
Adding New Functionality# This time, I will add a feature to insert an app tag for critical apparatus information.
{ } { } , , i g h o t t i g h o t t c r i n i y c r i n i y o o d C t p o o d C t p n u e l l e n u e l l e : p : i e : : p : i e : : c : : c : ' i k ' ' i k ' t ' s : ' i d ' s : ' i r a R A c i a R A c a c e d o f c e d o n t a d n f t a d n s i d B e i d B l o o = T u r o o = A u a n n > r t e n n > p t t ' l a t n ' l p t e , y w n o c , y w ' o ' , i s n e , i , n , n l ' ' n ' d a , , d , o t o w i w . o . w n w r ' r i , i t t e e r r . . d d i i a a l l o o g g M M a a n n a a g g e e r r . . s s h h o o w w ( ( ' ' t a r p a p n ' s ) l , a t i o n ' ) ,
For the icon, the following file also needs to be edited:
packages/cwrc-leafwriter/src/icons/index.tsx
Next, edit the following:
i c ] m o ) p n [ [ [ [ [ [ [ ; o s ' ' ' ' ' ' ' r t a c l m p t a t t o o e o r p d t p a s p a p A e r y d s u n ' p f i P i a p s , p a b a n g ' l u u s g e , a { f l t t i ' t r t e e n , { i d o D s ' d o i m i E , i { d n a a d c i ' l l i { a d a , o o t t i l g / g o d o a o { C a s r i r l g l p ' a ' o C d a p = , l , g l i s ' o C a a s ; n { g { l s l : e C a s o w d l d s : g A i a i s C p M a s a : P l p A a l s l o a d p o : o M p s } d < g g e u s ] e s C C C s p : , d t l o l s r a p a a } T i s y s g ] r n s P s e , a g : a : n A , s } s d A t L ] l d D t e o , a e e t a t d f r } d i a i ] i o u b , n n l u g t t I } D e n ] i s d , a E i l d c o i a g t t C o o o r r n f } } i ] ] g , , > ( [ Then, create the following file. I referenced the originally provided translation.ts as a basis.
i i i i i c } e m m m m m l x p p p p p a r r r r r r r c ` } p } p } p } s } d } p o o o o o s e e e e e e e o ; r r r h e m o r r r r r s a a a a a a a n t t c < t < t } t } i c c ` r i c c ` r i l i i i l i i i c c c } c } i $ c } i $ o $ $ t c c t t s t o r t t t t t d d d d T d d d s h h o d / h d / h ) h ) v o o ; e v o o ; e v e f f f e f f f o / o o ) o ) f ( o ) f ( w ( ( h o o h / h t / h d t A o o o o O o o o t i i n i $ $ d i i < @ i t m r c h w a b ] o c ; i w $ $ s ; a n n < t a n n < t a t t n @ n n a a b t ; n a a b t ; l n a a b t ; r ( ` ` i n n i @ i r @ i u $ ' W A t p n n n n D n n n r s s s v { { i s v d / t s i o e l e i u u , p l s r p e h t s s d / u t s s d / u t ( ( ( ( ( ( s t s s c t o a s c t o a ( e s c t o a ( d ) # # s s s s t s o t s l d j r t y p l l l l O l l l u . . t t t v . i < d s . t d s o i d t t { } { } e o . i a l o e t t i < < < d r e t t i < < < d r e l A t ! r A t ! t s t t t t o g t t t o g ! m t t t o g ! g $ $ . t t . s . y s . e e f q i t p y y y y y y y c w i c h h > $ c v d / i - $ l a i s g t o t , , n s a t r : w v d / t / p / i n v d / t / p / i n e r y l d r y r - i r k N i r k N l T i r k N r T { { { a a - $ ( - $ . f r u t r e i h t r d e l i i e l i < < d v i e e l z e h h O o t r c t r c } : e t e e S l f h i < d e t Y p v r f h i < d e t Y p v f m r p e g r p d a i c n o i m a l o i m a e a r o i m a d a t t t a i t i e ) i e e a o e e i m w $ i a a t l r o i n a s s l a c v d / d / i > g l : : a O t : p n e / l e o l , : t r n t c e i t c v p i x e s o > > h d i t c v p i x e s o > > h o a e m a e g t g u e n b a m e n b a m m g d n b a m g g h h t t n t g l g l x u m r r b { p r e d t r a e d r t = t s . . s l i $ < < d i < < d v ` n . b n : e s x l @ i x l i t t ( r , t h h m e m l > v t x t u t g e m l > v t x t u t r = y o ) = y o ) t n r w : u r e m : u r e T ) g : u r e T ) i i r t i r n . { n . p l y u l i l : t d g m g ( e i s l r = s a c v { h d i v h u i > ) o d ' t l E 5 n : t e t c t e c h / h e ( i : i e F l l a c > a t y m F l l a c > a t y m m . f . f r o r T t k : T t k : a . T t k : a . s s i s t i o d o d o t ' - f t L e t : r c N T T { r w t = e d = s l e r i v 3 l v . r i T r e s 6 7 : : : s k : : k i @ i v e b s m i d s l r a l w l i d s l r a l w l R $ i l $ i r i r T a t e : a t e : g h a t e : g h . . b V b r i r i r j u r e W m e s i o a a a r y " m g $ " s a c n v > c > > a e a a u : c 5 5 [ - : : s t s e v u t . a e T = s a e r e i ; e T = s a e r e i ; e ( s l e ( s r d b e a g h s t g h s t ) t g h s t ) t i i u = a u e a e a t A q i W D e r J t b d m g g w = i A e F F ( a = s l t s l s < p l g e a 0 , f ' ' i ' . s . n e t h $ H l i = s a e = l l i = s a e = l s ` A e m ` A d g u g i , { h i : { h m i : { h m d d t l t l l s p u m i i n : Q r u e e N N r t t n i i ` n " s a i t c a t / p o , t p , a C c g O o f - $ t n e i e e d t ` " s a " l d t ` " s a " l u # r m # r g t I = s i = s i r l = s i r l } } e t s e o o p e u d a t u i t d : a a i w e t t e e n s = s t y l s y u e g A r e l a a n k k o i e : t s s l l ( l a = i > f ( l a = i > f l $ r = $ r = e d . t s . { t s e ( . { t s e ( _ _ s h s g g = ; r i g l s W e n e m m t r r r i l l o c " s y l a s l l n ( p u : s n n o ' ' r g l : W . . p i e t " d o b i e t " d o b t { a = { a = s t w a . t w } a . t l t w } a . t r l r W i = W ( ( y e o r r g s s e e e i . i t d d t h c = A e s = e > d { p e e c c r = , , = m n . J i $ f : d t f = n e d t f = n e ( t y = t y = = h r g t h r , g l u e h r , g r u d e d i s i ' ' T ' w t g L i y ; W t : : r t g b y ( ( a e o " t = s " = T ' , t , e e e > > R o d Q J d e i : = r i " t : = r i " t ) h ( = ' h ( = ' = i i I a i i I e r m i i I d r g m g d . { d o d r ; i / C W t < i r , e e u A t t t m n m t " = a " o , r l l e r i u Q g l n t i e $ - a i e $ - a i l ; i r ; t s t d g s t d m n ) s t d g n ) ` ` g w } g p e a d W f o D e H d i s s r t t t h h i a t a r w " t b ( u ' ' t { s e a e u e , d r s ' b l { s b s ' b l { s b { s e ' s d ' t h . e : N . e : T ; ; . e : T ; ; ) ) e r ; e e s n g r r n i r T g n t t p ; U e t i i o H e i i i a t o p e , , h u l r e t ( u t l u d i i l t r u d i i l . m n . g n h i w r a w r a w r a . . t i t n t s e i o f a ; M e g r r a n s r s s n e n n b d t r r a , i l o y r ' e r e t L d z e r d t L d z e i ) u i ) u i s r . c m r . n g r . l g v v . t . ' r l t t m i l L t i i r i S i . . D l t " u t t i d r s t g . y = . , i m e a } e i g e a } e d ) m d ) m s . i t u e i t e N i t e N a a m e b ) o a s e g o E : = n n e q e b i i i p " > t h r b e e . ( ( E . a n ' " b _ : t n ' " b _ : t } b } b . w t a r , t a w a t a m a l l o r u ; y t / r P g l g g n u c u d d a " > e : i u r n $ ) ' v E n t g ; > e l o g ; > e r o _ l e _ r e a r e g r e g T m e g T m ( ( d . i ' i d ' r P e A ' t e t t ) ) l s b t - t e ; c e v e t ) l e 0 ) l d 0 l e r r d r t i r g T r g a e r g a e ' ' e s l ) o i ; / o r m t a = = E I i e } } o S 1 u e b E l l n e w r " m . t " g . t e m ' d g ' t t . e a . e g , . e g , ' ' c d ; n a a p o e t p l d o s g e 0 t S o l . o t n i { > " 7 a { > " 7 a m ) g ) r e t r g t r ? t r ? ) ) = h W ; l t s p n r p ' ' ( n " " c 0 e e t ) d s ) t A b $ r g $ r g ` = ` = i r a . I a . . a . . ; ; e i o t , s t i ' l r } ' > > t % W l t ; i e ) t u { s e { s e ) l ) r b . g A d g I i g A i A m d g r > b ; e d : a = i ; i e o a ' = t t f t m a f t m a . l e . r d u t g D g N d g F d t a g ' i L { ; u m g p o d c m l ) > = r e i y ; n i y ; n v e m v d g t a e D } e S e T t M e ; b W t ' ' L p ` n b g t : o ; > i W e l d e l d a m a g e g r , , r I } r E } r a t u D e ; ; W _ } o e o g { b i l e c l e c l [ = l [ = s g . . D , . R , i n ( t i W D ' r t r 1 ( } { u d d = o e d = o e ( 0 ( 0 W e a a E a , b a a e a i i ) d " " p ' , } t g T " l d T " l d ) ] l ) ] r i r d d , d u g t W l d a ; e > x c , e e i w o i i w o i ; ; e ; ; d d . d d d t e t i o g l r l W t t i r t t i r t m g g g S S S e r s d g e o : s o i ' l d : l d : . . e e t t t W . , g P t g o s d ) e t t e t t t t t t r r r i g e r ; C n l e g , } h # h } h # h o o . C u u u d e i t o o i ' e < : 6 e < : 6 e S S g u c c c g t n p n n d ) t / 6 / 6 t t e r t t t e A i a s f e , ( p 1 6 t p 1 6 t r r t r u u u t t t t i ; # { > 0 ; e > 0 ; e i i D e r r r . t V t } g d 0 " x 0 " x n n a n e e e A r a r P b d % > t % > t g g t t T T T D i l i f r o d ; ; ( ( a T a a a D b s b r o r ; i i ) ) ( a g g g ; u , u o p d h n h n ; ; ) g ( ( ( t t m s e p e e ; ( { { { e t e ) r a i t i t ) s h W - d g h g h . F i i { b d h e h e a o s d / o i t t t r . g t t n : m : m t T t e y t g a a r a a t p o - 1 i 1 i ( g g ' e m b 0 n 0 n ' ( N ; s : o 0 0 i t a ' t p d p d d h m ; 1 t x o x o ' i e p o ; c ; c ) s ) x m " u " u ; . ; : m m t s s e s e a o 4 p n p n g l p e t e t N i x l . l . a d ; l l m " c c e # > h h ) c A e e ; c t c c c t k k ; r = = " i " " > b f f u a a t l l e s s s e e < " " / > > h 3 > As a result, an icon is added as shown below, and clicking it displays a dialog.
Summary# There may be some aspects that have not been fully considered, but I hope this serves as a useful reference for using LEAF Writer.