Browse Source

Merge pull request #409 from visuddhinanda:master

Merge branch 'master' of https://github.com/visuddhinanda/mint
visuddhinanda 4 years ago
parent
commit
8db5a36246

+ 2 - 6
api/go.mod

@@ -13,9 +13,6 @@ require (
 	github.com/leodido/go-urn v1.2.1 // indirect
 	github.com/lib/pq v1.6.0 // indirect
 	github.com/mattn/go-isatty v0.0.13 // indirect
-	github.com/mattn/go-sqlite3 v1.14.7 // indirect
-	github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
-	github.com/modern-go/reflect2 v1.0.1 // indirect
 	github.com/ugorji/go v1.2.6 // indirect
 	github.com/vmihailenco/msgpack/v5 v5.3.4 // indirect
 	golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e // indirect
@@ -23,7 +20,6 @@ require (
 	golang.org/x/text v0.3.6 // indirect
 	google.golang.org/protobuf v1.27.1 // indirect
 	gopkg.in/yaml.v2 v2.4.0 // indirect
-	gorm.io/driver/postgres v1.1.0 // indirect
-	gorm.io/driver/sqlite v1.1.4 // indirect
-	gorm.io/gorm v1.21.11 // indirect
+	gorm.io/driver/postgres v1.1.0
+	gorm.io/gorm v1.21.11
 )

+ 23 - 9
api/go.sum

@@ -2,6 +2,7 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT
 cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
 github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
+github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc=
 github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs=
 github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo=
 github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI=
@@ -11,6 +12,7 @@ github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuy
 github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
 github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
 github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
+github.com/alexbrainman/sspi v0.0.0-20180613141037-e580b900e9f5 h1:P5U+E4x5OkVEKQDklVPmzs71WM56RTTRqV4OrDC//Y4=
 github.com/alexbrainman/sspi v0.0.0-20180613141037-e580b900e9f5/go.mod h1:976q2ETgjT2snVCf2ZaBnyBbVoPERGjUz+0sofzEfro=
 github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
 github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
@@ -31,6 +33,7 @@ github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA
 github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
 github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE=
 github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
+github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I=
 github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ=
 github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8=
 github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI=
@@ -42,6 +45,7 @@ github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfc
 github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
 github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
 github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
@@ -77,13 +81,12 @@ github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8c
 github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8=
 github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no=
 github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA=
-github.com/go-playground/validator v9.31.0+incompatible h1:UA72EPEogEnq76ehGdEDp4Mit+3FDh548oRqwVgNsHA=
-github.com/go-playground/validator v9.31.0+incompatible/go.mod h1:yrEkQXlcI+PugkyDjY2bRrL/UBU4f3rvrgkN3V8JEig=
 github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4=
 github.com/go-playground/validator/v10 v10.6.1 h1:W6TRDXt4WcWp4c4nf/G+6BkGdhiIo0k417gfr+V6u4I=
 github.com/go-playground/validator/v10 v10.6.1/go.mod h1:xm76BBt941f7yWdGnI2DVPFFg1UK3YY04qifoXU3lOk=
 github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
 github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
+github.com/gofrs/uuid v3.2.0+incompatible h1:y12jRkkFxsd7GpqdSZ+/KCs/fJbqpEXSGd4+jfEaewE=
 github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
 github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
 github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
@@ -142,6 +145,7 @@ github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerX
 github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4=
 github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
 github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
+github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE=
 github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
 github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
 github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90=
@@ -170,6 +174,7 @@ github.com/jackc/pgconn v1.8.1 h1:ySBX7Q87vOMqKU2bbmKbUvtYhauDFclYbNDYIE1/h6s=
 github.com/jackc/pgconn v1.8.1/go.mod h1:JV6m6b6jhjdmzchES0drzCcYcAHS1OPD5xu3OZ/lE2g=
 github.com/jackc/pgio v1.0.0 h1:g12B9UwVnzGhueNavwioyEEpAmqMe1E/BN9ES+8ovkE=
 github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8=
+github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2 h1:JVX6jT/XfzNqIjye4717ITLaNwV9mWbJx0dLCpcRzdA=
 github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE=
 github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM=
 github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg=
@@ -207,15 +212,20 @@ github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0f
 github.com/jackc/puddle v1.1.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
 github.com/jackc/puddle v1.1.1/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
 github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
+github.com/jcmturner/aescts/v2 v2.0.0 h1:9YKLH6ey7H4eDBXW8khjYslgyqG2xZikXP0EQFKrle8=
 github.com/jcmturner/aescts/v2 v2.0.0/go.mod h1:AiaICIRyfYg35RUkr8yESTqvSy7csK90qZ5xfvvsoNs=
+github.com/jcmturner/dnsutils/v2 v2.0.0 h1:lltnkeZGL0wILNvrNiVCR6Ro5PGU/SeBvVO/8c/iPbo=
 github.com/jcmturner/dnsutils/v2 v2.0.0/go.mod h1:b0TnjGOvI/n42bZa+hmXL+kFJZsFT7G4t3HTlQ184QM=
+github.com/jcmturner/gofork v1.0.0 h1:J7uCkflzTEhUZ64xqKnkDxq3kzc96ajM1Gli5ktUem8=
 github.com/jcmturner/gofork v1.0.0/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o=
+github.com/jcmturner/goidentity/v6 v6.0.1 h1:VKnZd2oEIMorCTsFBnJWbExfNN7yZr3EhJAxwOkZg6o=
 github.com/jcmturner/goidentity/v6 v6.0.1/go.mod h1:X1YW3bgtvwAXju7V3LCIMpY0Gbxyjn/mY9zx4tFonSg=
+github.com/jcmturner/gokrb5/v8 v8.2.0 h1:lzPl/30ZLkTveYsYZPKMcgXc8MbnE6RsTd4F9KgiLtk=
 github.com/jcmturner/gokrb5/v8 v8.2.0/go.mod h1:T1hnNppQsBtxW0tCHMHTkAt8n/sABdzZgZdoFrZaZNM=
+github.com/jcmturner/rpc/v2 v2.0.2 h1:gMB4IwRXYsWw4Bc6o/az2HJgFUA1ffSh90i26ZJ6Xl0=
 github.com/jcmturner/rpc/v2 v2.0.2/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJki3ELg/Hc=
 github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E=
 github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
-github.com/jinzhu/now v1.1.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
 github.com/jinzhu/now v1.1.2 h1:eVKgfIdy9b6zbWBMgFpfDPoAMifwSZagU9HmEU6zgiI=
 github.com/jinzhu/now v1.1.2/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
 github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
@@ -233,9 +243,11 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o
 github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
 github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
 github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
+github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
 github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
 github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
 github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw=
+github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
 github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
 github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII=
 github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w=
@@ -244,6 +256,7 @@ github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
 github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
 github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
 github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
+github.com/lib/pq v1.6.0 h1:I5DPxhYJChW9KYc66se+oKFFQX6VuQrKiprsX6ivRZc=
 github.com/lib/pq v1.6.0/go.mod h1:4vXEAYvW1fRQ2/FhZ78H73A60MHw1geSm145z2mdY1g=
 github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM=
 github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4=
@@ -262,9 +275,6 @@ github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Ky
 github.com/mattn/go-isatty v0.0.13 h1:qdl+GuBjcsKKDco5BsxPJlId98mSWNKqYA+Co0SC1yA=
 github.com/mattn/go-isatty v0.0.13/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
 github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
-github.com/mattn/go-sqlite3 v1.14.5/go.mod h1:WVKg1VTActs4Qso6iwGbiFih2UIHo0ENGwNd0Lj+XmI=
-github.com/mattn/go-sqlite3 v1.14.7 h1:fxWBnXkxfM6sRiuH3bqJ4CfzZojMOLVc0UTsTglEghA=
-github.com/mattn/go-sqlite3 v1.14.7/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
 github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
 github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
 github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc=
@@ -317,8 +327,10 @@ github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9
 github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc=
 github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
 github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
 github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
 github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA=
+github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
 github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
@@ -349,6 +361,7 @@ github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0
 github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
 github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
 github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4=
+github.com/shopspring/decimal v0.0.0-20200227202807-02e2044944cc h1:jUIKcSPO9MoMJBbEoyE/RJoE8vz7Mb8AjvifMMwSyvY=
 github.com/shopspring/decimal v0.0.0-20200227202807-02e2044944cc/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
 github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
 github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
@@ -370,6 +383,7 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf
 github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
 github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
 github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
+github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
@@ -522,6 +536,7 @@ golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8T
 golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk=
 google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
@@ -558,6 +573,7 @@ google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+Rur
 google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
 gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw=
@@ -581,12 +597,10 @@ gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
 gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
+gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gorm.io/driver/postgres v1.1.0 h1:afBljg7PtJ5lA6YUWluV2+xovIPhS+YiInuL3kUjrbk=
 gorm.io/driver/postgres v1.1.0/go.mod h1:hXQIwafeRjJvUm+OMxcFWyswJ/vevcpPLlGocwAwuqw=
-gorm.io/driver/sqlite v1.1.4 h1:PDzwYE+sI6De2+mxAneV9Xs11+ZyKV6oxD3wDGkaNvM=
-gorm.io/driver/sqlite v1.1.4/go.mod h1:mJCeTFr7+crvS+TRnWc5Z3UvwxUN1BGBLMrf5LA9DYw=
-gorm.io/gorm v1.20.7/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw=
 gorm.io/gorm v1.21.9/go.mod h1:F+OptMscr0P2F2qU97WT1WimdH9GaQPoDW7AYd5i2Y0=
 gorm.io/gorm v1.21.11 h1:CxkXW6Cc+VIBlL8yJEHq+Co4RYXdSLiMKNvgoZPjLK4=
 gorm.io/gorm v1.21.11/go.mod h1:F+OptMscr0P2F2qU97WT1WimdH9GaQPoDW7AYd5i2Y0=

+ 38 - 0
app/day-5.json

@@ -0,0 +1,38 @@
+[
+  {
+    "key": "1",
+    "name": "name1",
+    "age": 32,
+    "adress": "西湖南路"
+  },
+  {
+    "key": "2",
+    "name": "name2",
+    "age": 34,
+    "adress": "西湖公园"
+  },
+  {
+    "key": "3",
+    "name": "name1",
+    "age": 32,
+    "adress": "西湖南路"
+  },
+  {
+    "key": "4",
+    "name": "name2",
+    "age": 34,
+    "adress": "西湖公园"
+  },
+  {
+    "key": "5",
+    "name": "name1",
+    "age": 32,
+    "adress": "西湖南路"
+  },
+  {
+    "key": "6",
+    "name": "name2",
+    "age": 34,
+    "adress": "西湖公园"
+  }
+]

+ 1 - 1
app/pcdl/html_head.php

@@ -115,7 +115,7 @@ if (isset($_GET["language"])) {
 	<link type="text/css" rel="stylesheet" href="../widget/click_dropdown.css" />
 
 	<script src="../public/charcode/coverter_my.js"></script>
-
+	<script src="../public/charcode/converter_si.js"></script>
 	<script>
 		<?php require_once '../public/load_lang_js.php'; ?>
 	</script>

+ 334 - 0
app/public/charcode/converter_si.js

@@ -0,0 +1,334 @@
+function roman_to_si(input) {
+        let char_unicode_to_si=[
+            { "id":"bbhr" , "value":"බ්භ්ර්" },
+            { "id":"bbhv" , "value":"බ්භ්ව්" },
+            { "id":"bbhy" , "value":"බ්භ්ය්" },
+            { "id":"cchr" , "value":"ච්ඡ්ර්" },
+            { "id":"cchv" , "value":"ච්ඡ්ව්" },
+            { "id":"cchy" , "value":"ච්ඡ්ය්" },
+            { "id":"ddhr" , "value":"ද්ධ්ර්" },
+            { "id":"ddhv" , "value":"ද්ධ්ව්" },
+            { "id":"ddhy" , "value":"ද්ධ්ය්" },
+            { "id":"ḍḍhr" , "value":"ඩ්ඪ්ර්" },
+            { "id":"ḍḍhv" , "value":"ඩ්ඪ්ව්" },
+            { "id":"ḍḍhy" , "value":"ඩ්ඪ්ය්" },
+            { "id":"gghr" , "value":"ග්ඝ්ර්" },
+            { "id":"gghv" , "value":"ග්ඝ්ව්" },
+            { "id":"gghy" , "value":"ග්ඝ්ය්" },
+            { "id":"ṅkhr" , "value":"ඞ්ඛ්ර්" },
+            { "id":"ṅkhv" , "value":"ඞ්ඛ්ව්" },
+            { "id":"ṅkhy" , "value":"ඞ්ඛ්ය්" },
+            { "id":"ṅghr" , "value":"ඞ්ඝ්ර්" },
+            { "id":"ṅghv" , "value":"ඞ්ඝ්ව්" },
+            { "id":"ṅghy" , "value":"ඞ්ඝ්ය්" },
+            { "id":"jjhr" , "value":"ජ්ඣ්ර්" },
+            { "id":"jjhv" , "value":"ජ්ඣ්ව්" },
+            { "id":"jjhy" , "value":"ජ්ඣ්ය්" },
+            { "id":"kkhr" , "value":"ක්ඛ්ර්" },
+            { "id":"kkhv" , "value":"ක්ඛ්ව්" },
+            { "id":"kkhy" , "value":"ක්ඛ්ය්" },
+            { "id":"ñchr" , "value":"ඤ්ඡ්ර්" },
+            { "id":"ñchv" , "value":"ඤ්ඡ්ව්" },
+            { "id":"ñchy" , "value":"ඤ්ඡ්ය්" },
+            { "id":"ñjhr" , "value":"ඤ්ඣ්ර්" },
+            { "id":"ñjhv" , "value":"ඤ්ඣ්ව්" },
+            { "id":"ñjhy" , "value":"ඤ්ඣ්ය්" },
+            { "id":"ṇṭhr" , "value":"ණ්ඨ්ර්" },
+            { "id":"ṇṭhv" , "value":"ණ්ඨ්ව්" },
+            { "id":"ṇṭhy" , "value":"ණ්ඨ්ය්" },
+            { "id":"ṇḍhr" , "value":"ණ්ඪ්ර්" },
+            { "id":"ṇḍhv" , "value":"ණ්ඪ්ව්" },
+            { "id":"ṇḍhy" , "value":"ණ්ඪ්ය්" },
+            { "id":"nthr" , "value":"න්ථ්ර්" },
+            { "id":"nthv" , "value":"න්ථ්ව්" },
+            { "id":"nthy" , "value":"න්ථ්ය්" },
+            { "id":"ndhr" , "value":"න්ධ්ර්" },
+            { "id":"ndhv" , "value":"න්ධ්ව්" },
+            { "id":"ndhy" , "value":"න්ධ්ය්" },
+            { "id":"pphr" , "value":"ප්ඵ්ර්" },
+            { "id":"pphv" , "value":"ප්ඵ්ව්" },
+            { "id":"pphy" , "value":"ප්ඵ්ය්" },
+            { "id":"mphr" , "value":"ම්ඵ්ර්" },
+            { "id":"mphv" , "value":"ම්ඵ්ව්" },
+            { "id":"mphy" , "value":"ම්ඵ්ය්" },
+            { "id":"mbhr" , "value":"ම්භ්ර්" },
+            { "id":"mbhv" , "value":"ම්භ්ව්" },
+            { "id":"mbhy" , "value":"ම්භ්ය්" },
+            { "id":"tthr" , "value":"ත්ථ්ර්" },
+            { "id":"tthv" , "value":"ත්ථ්ව්" },
+            { "id":"tthy" , "value":"ත්ථ්ය්" },
+            { "id":"ṭṭhr" , "value":"ට්ඨ්ර්" },
+            { "id":"ṭṭhv" , "value":"ට්ඨ්ව්" },
+            { "id":"ṭṭhy" , "value":"ට්ඨ්ය්" },
+            { "id":"bbr" , "value":"බ්බ්ර්" },
+            { "id":"bbv" , "value":"බ්බ්ව්" },
+            { "id":"bby" , "value":"බ්බ්ය්" },
+            { "id":"ccr" , "value":"ච්ච්ර්" },
+            { "id":"ccv" , "value":"ච්ච්ව්" },
+            { "id":"ccy" , "value":"ච්ච්ය්" },
+            { "id":"ddr" , "value":"ද්ද්ර්" },
+            { "id":"ddv" , "value":"ද්ද්ව්" },
+            { "id":"ddy" , "value":"ද්ද්ය්" },
+            { "id":"ḍḍr" , "value":"ඩ්ඩ්ර්" },
+            { "id":"ḍḍv" , "value":"ඩ්ඩ්ව්" },
+            { "id":"ḍḍy" , "value":"ඩ්ඩ්ය්" },
+            { "id":"ggr" , "value":"ග්ග්ර්" },
+            { "id":"ggv" , "value":"ග්ග්ව්" },
+            { "id":"ggy" , "value":"ග්ග්ය්" },
+            { "id":"jjr" , "value":"ජ්ජ්ර්" },
+            { "id":"jjv" , "value":"ජ්ජ්ව්" },
+            { "id":"jjy" , "value":"ජ්ජ්ය්" },
+            { "id":"ṅkr" , "value":"ඞ්ක්ර්" },
+            { "id":"ṅkv" , "value":"ඞ්ක්ව්" },
+            { "id":"ṅky" , "value":"ඞ්ක්ය්" },
+            { "id":"ṅgr" , "value":"ඞ්ග්ර්" },
+            { "id":"ṅgv" , "value":"ඞ්ග්ව්" },
+            { "id":"ṅgy" , "value":"ඞ්ග්ය්" },
+            { "id":"kkr" , "value":"ක්ක්ර්" },
+            { "id":"kkv" , "value":"ක්ක්ව්" },
+            { "id":"kky" , "value":"ක්ක්ය්" },
+            { "id":"ñcr" , "value":"ඤ්ච්ර්" },
+            { "id":"ñcv" , "value":"ඤ්ච්ව්" },
+            { "id":"ñcy" , "value":"ඤ්ච්ය්" },
+            { "id":"ñjr" , "value":"ඤ්ජ්ර්" },
+            { "id":"ñjv" , "value":"ඤ්ජ්ව්" },
+            { "id":"ñjy" , "value":"ඤ්ජ්ය්" },
+            { "id":"mmr" , "value":"ම්ම්ර්" },
+            { "id":"mmv" , "value":"ම්ම්ව්" },
+            { "id":"mmy" , "value":"ම්ම්ය්" },
+            { "id":"nnr" , "value":"න්න්ර්" },
+            { "id":"nnv" , "value":"න්න්ව්" },
+            { "id":"nny" , "value":"න්න්ය්" },
+            { "id":"ṇṭr" , "value":"ණ්ට්ර්" },
+            { "id":"ṇṭv" , "value":"ණ්ට්ව්" },
+            { "id":"ṇṭy" , "value":"ණ්ට්ය්" },
+            { "id":"ṇḍr" , "value":"ණ්ඩ්ර්" },
+            { "id":"ṇḍv" , "value":"ණ්ඩ්ව්" },
+            { "id":"ṇḍy" , "value":"ණ්ඩ්ය්" },
+            { "id":"ññr" , "value":"ඤ්ඤ්ර්" },
+            { "id":"ññv" , "value":"ඤ්ඤ්ව්" },
+            { "id":"ññy" , "value":"ඤ්ඤ්ය්" },
+            { "id":"ṇṇr" , "value":"ණ්ණ්ර්" },
+            { "id":"ṇṇv" , "value":"ණ්ණ්ව්" },
+            { "id":"ṇṇy" , "value":"ණ්ණ්ය්" },
+            { "id":"ppr" , "value":"ප්ප්ර්" },
+            { "id":"ppv" , "value":"ප්ප්ව්" },
+            { "id":"ppy" , "value":"ප්ප්ය්" },
+            { "id":"ntr" , "value":"න්ත්ර්" },
+            { "id":"ntv" , "value":"න්ත්ව්" },
+            { "id":"nty" , "value":"න්ත්ය්" },
+            { "id":"ndr" , "value":"න්ද්ර්" },
+            { "id":"ndv" , "value":"න්ද්ව්" },
+            { "id":"ndy" , "value":"න්ද්ය්" },
+            { "id":"ttr" , "value":"ත්ත්ර්" },
+            { "id":"ttv" , "value":"ත්ත්ව්" },
+            { "id":"tty" , "value":"ත්ත්ය්" },
+            { "id":"mpr" , "value":"ම්ප්ර්" },
+            { "id":"mpv" , "value":"ම්ප්ව්" },
+            { "id":"mpy" , "value":"ම්ප්ය්" },
+            { "id":"mbr" , "value":"ම්බ්ර්" },
+            { "id":"mbv" , "value":"ම්බ්ව්" },
+            { "id":"mby" , "value":"ම්බ්ය්" },
+            { "id":"ṭṭr" , "value":"ට්ට්ර්" },
+            { "id":"ṭṭv" , "value":"ට්ට්ව්" },
+            { "id":"ṭṭy" , "value":"ට්ට්ය්" },
+            { "id":"llr" , "value":"ල්ල්ර්" },
+            { "id":"llv" , "value":"ල්ල්ව්" },
+            { "id":"lly" , "value":"ල්ල්ය්" },
+            { "id":"ssr" , "value":"ස්ස්ර්" },
+            { "id":"ssv" , "value":"ස්ස්ව්" },
+            { "id":"ssy" , "value":"ස්ස්ය්" },
+            { "id":"yyr" , "value":"ය්ය්ර්" },
+            { "id":"yyv" , "value":"ය්ය්ව්" },
+            { "id":"yyy" , "value":"ය්ය්ය්" },
+            { "id":"bbh" , "value":"බ්භ්" },
+            { "id":"cch" , "value":"ච්ඡ්" },
+            { "id":"ddh" , "value":"ද්ධ්" },
+            { "id":"ḍḍh" , "value":"ඩ්ඪ්" },
+            { "id":"ggh" , "value":"ග්ඝ්" },
+            { "id":"jjh" , "value":"ජ්ඣ්" },
+            { "id":"kkh" , "value":"ක්ඛ්" },
+            { "id":"mbh" , "value":"ම්භ්" },
+            { "id":"mph" , "value":"ම්ඵ්" },
+            { "id":"ñch" , "value":"ඤ්ඡ්" },
+            { "id":"bhr" , "value":"භ්ර්" },
+            { "id":"bhv" , "value":"භ්ව්" },
+            { "id":"bhy" , "value":"භ්ය්" },
+            { "id":"chr" , "value":"ඡ්ර්" },
+            { "id":"chv" , "value":"ඡ්ව්" },
+            { "id":"chy" , "value":"ඡ්ය්" },
+            { "id":"dhr" , "value":"ධ්ර්" },
+            { "id":"dhv" , "value":"ධ්ව්" },
+            { "id":"dhy" , "value":"ධ්ය්" },
+            { "id":"ḍhr" , "value":"ඪ්ර්" },
+            { "id":"ḍhv" , "value":"ඪ්ව්" },
+            { "id":"ḍhy" , "value":"ඪ්ය්" },
+            { "id":"ghr" , "value":"ඝ්ර්" },
+            { "id":"ghv" , "value":"ඝ්ව්" },
+            { "id":"ghy" , "value":"ඝ්ය්" },
+            { "id":"jhr" , "value":"ඣ්ර්" },
+            { "id":"jhv" , "value":"ඣ්ව්" },
+            { "id":"jhy" , "value":"ඣ්ය්" },
+            { "id":"khr" , "value":"ඛ්ර්" },
+            { "id":"khv" , "value":"ඛ්ව්" },
+            { "id":"khy" , "value":"ඛ්ය්" },
+            { "id":"phr" , "value":"ඵ්ර්" },
+            { "id":"phv" , "value":"ඵ්ව්" },
+            { "id":"phy" , "value":"ඵ්ය්" },
+            { "id":"thr" , "value":"ථ්ර්" },
+            { "id":"thv" , "value":"ථ්ව්" },
+            { "id":"thy" , "value":"ථ්ය්" },
+            { "id":"ṭhr" , "value":"ඨ්ර්" },
+            { "id":"ṭhv" , "value":"ඨ්ව්" },
+            { "id":"ṭhy" , "value":"ඨ්ය්" },
+            { "id":"ndh" , "value":"න්ධ්" },
+            { "id":"ṇḍh" , "value":"ණ්ඪ්" },
+            { "id":"ṅgh" , "value":"ඞ්ඝ්" },
+            { "id":"ñjh" , "value":"ඤ්ඣ්" },
+            { "id":"ṅkh" , "value":"ඞ්ඛ්" },
+            { "id":"nth" , "value":"න්ථ්" },
+            { "id":"ṇṭh" , "value":"ණ්ඨ්" },
+            { "id":"pph" , "value":"ප්ඵ්" },
+            { "id":"tth" , "value":"ත්ථ්" },
+            { "id":"ṭṭh" , "value":"ට්ඨ්" },
+            { "id":"bb" , "value":"බ්බ්" },
+            { "id":"bh" , "value":"භ්" },
+            { "id":"cc" , "value":"ච්ච්" },
+            { "id":"ch" , "value":"ඡ්" },
+            { "id":"dd" , "value":"ද්ද්" },
+            { "id":"ḍḍ" , "value":"ඩ්ඩ්" },
+            { "id":"dh" , "value":"ධ්" },
+            { "id":"ḍh" , "value":"ඪ්" },
+            { "id":"gg" , "value":"ග්ග්" },
+            { "id":"gh" , "value":"ඝ්" },
+            { "id":"jh" , "value":"ඣ්" },
+            { "id":"jj" , "value":"ජ්ජ්" },
+            { "id":"kh" , "value":"ඛ්" },
+            { "id":"kk" , "value":"ක්ක්" },
+            { "id":"ll" , "value":"ල්ල්" },
+            { "id":"mb" , "value":"ම්බ්" },
+            { "id":"mm" , "value":"ම්ම්" },
+            { "id":"mp" , "value":"ම්ප්" },
+            { "id":"ñc" , "value":"ඤ්ච්" },
+            { "id":"nd" , "value":"න්ද්" },
+            { "id":"ṇḍ" , "value":"ණ්ඩ්" },
+            { "id":"ṅg" , "value":"ඞ්ග්" },
+            { "id":"ñj" , "value":"ඤ්ජ්" },
+            { "id":"ṅk" , "value":"ඞ්ක්" },
+            { "id":"nn" , "value":"න්න්" },
+            { "id":"ññ" , "value":"ඤ්ඤ්" },
+            { "id":"ṇṇ" , "value":"ණ්ණ්" },
+            { "id":"nt" , "value":"න්ත්" },
+            { "id":"br" , "value":"බ්ර්" },
+            { "id":"bv" , "value":"බ්ව්" },
+            { "id":"by" , "value":"බ්ය්" },
+            { "id":"cr" , "value":"ච්ර්" },
+            { "id":"cv" , "value":"ච්ව්" },
+            { "id":"cy" , "value":"ච්ය්" },
+            { "id":"dr" , "value":"ද්ර්" },
+            { "id":"dv" , "value":"ද්ව්" },
+            { "id":"dy" , "value":"ද්ය්" },
+            { "id":"ḍr" , "value":"ඩ්ර්" },
+            { "id":"ḍv" , "value":"ඩ්ව්" },
+            { "id":"ḍy" , "value":"ඩ්ය්" },
+            { "id":"gr" , "value":"ග්ර්" },
+            { "id":"gv" , "value":"ග්ව්" },
+            { "id":"gy" , "value":"ග්ය්" },
+            { "id":"jr" , "value":"ජ්ර්" },
+            { "id":"jv" , "value":"ජ්ව්" },
+            { "id":"jy" , "value":"ජ්ය්" },
+            { "id":"kr" , "value":"ක්ර්" },
+            { "id":"kv" , "value":"ක්ව්" },
+            { "id":"ky" , "value":"ක්ය්" },
+            { "id":"pr" , "value":"ප්ර්" },
+            { "id":"pv" , "value":"ප්ව්" },
+            { "id":"py" , "value":"ප්ය්" },
+            { "id":"tr" , "value":"ත්ර්" },
+            { "id":"tv" , "value":"ත්ව්" },
+            { "id":"ty" , "value":"ත්ය්" },
+            { "id":"ṭr" , "value":"ට්ර්" },
+            { "id":"ṭv" , "value":"ට්ව්" },
+            { "id":"ṭy" , "value":"ට්ය්" },
+            { "id":"ñh" , "value":"ඤ්හ්" },
+            { "id":"ṇh" , "value":"ණ්හ්" },
+            { "id":"nh" , "value":"න්හ්" },
+            { "id":"mh" , "value":"ම්හ්" },
+            { "id":"yh" , "value":"ය්හ්" },
+            { "id":"ly" , "value":"ල්ය්" },
+            { "id":"lh" , "value":"ල්හ්" },
+            { "id":"vh" , "value":"ව්හ්" },
+            { "id":"sm" , "value":"ස්ම්" },
+            { "id":"sv" , "value":"ස්ව්" },
+            { "id":"hm" , "value":"හ්ම්" },
+            { "id":"hv" , "value":"හ්ව්" },
+            { "id":"ḷh" , "value":"ළ්හ්" },
+            { "id":"ṇṭ" , "value":"ණ්ට්" },
+            { "id":"ph" , "value":"ඵ්" },
+            { "id":"pp" , "value":"ප්ප්" },
+            { "id":"ss" , "value":"ස්ස්" },
+            { "id":"th" , "value":"ථ්" },
+            { "id":"ṭh" , "value":"ඨ්" },
+            { "id":"tt" , "value":"ත්ත්" },
+            { "id":"ṭṭ" , "value":"ට්ට්" },
+            { "id":"yy" , "value":"ය්ය්" },
+            { "id":"b" , "value":"බ්" },
+            { "id":"c" , "value":"ච්" },
+            { "id":"d" , "value":"ද්" },
+            { "id":"ḍ" , "value":"ඩ්" },
+            { "id":"g" , "value":"ග්" },
+            { "id":"h" , "value":"හ්" },
+            { "id":"j" , "value":"ජ්" },
+            { "id":"k" , "value":"ක්" },
+            { "id":"l" , "value":"ල්" },
+            { "id":"ḷ" , "value":"ළ්" },
+            { "id":"m" , "value":"ම්" },
+            { "id":"n" , "value":"න්" },
+            { "id":"ṅ" , "value":"ඞ්" },
+            { "id":"ñ" , "value":"ඤ්" },
+            { "id":"ṇ" , "value":"ණ්" },
+            { "id":"p" , "value":"ප්" },
+            { "id":"r" , "value":"‍ර්" },
+            { "id":"s" , "value":"ස්" },
+            { "id":"t" , "value":"ත්" },
+            { "id":"ṭ" , "value":"ට්" },
+            { "id":"v" , "value":"ව්" },
+            { "id":"y" , "value":"‍ය්" },
+            { "id":"්iṃ" , "value":"ිං" },
+            { "id":"්uṃ" , "value":"ුං" },
+            { "id":"්aṃ" , "value":"ං" },
+            { "id":"්ā" , "value":"ා" },
+            { "id":"්i" , "value":"ි" },
+            { "id":"්ī" , "value":"ී" },
+            { "id":"්u" , "value":"ු" },
+            { "id":"්ū" , "value":"ූ" },
+            { "id":"්e" , "value":"ෙ" },
+            { "id":"්ē" , "value":"ේ" },
+            { "id":"්o" , "value":"ො" },
+            { "id":"්ō" , "value":"ෝ" },
+            { "id":"්" , "value":"්" },
+            { "id":"aṃ" , "value":"අං" },
+            { "id":"iṃ" , "value":"ඉං" },
+            { "id":"uṃ" , "value":"උං" },
+            { "id":"්a" , "value":"" },
+            { "id":"a" , "value":"අ" },
+            { "id":"ā" , "value":"ආ" },
+            { "id":"i" , "value":"ඉ" },
+            { "id":"ī" , "value":"ඊ" },
+            { "id":"u" , "value":"උ" },
+            { "id":"ū" , "value":"ඌ" },
+            { "id":"e" , "value":"එ" },
+            { "id":"o" , "value":"ඔ" }
+            ];
+
+	let txt = input.toLowerCase();
+
+	try {
+		for (r_to_m_i in char_unicode_to_si) {
+			eval("txt=txt.replace(/" + char_unicode_to_si[r_to_m_i].id + "/g,char_unicode_to_si[r_to_m_i].value);");
+		}
+	} catch (err) {
+		//error
+		alert(err.message);
+	}
+	return txt;
+}

+ 1 - 0
app/public/charcode/sinhala.js

@@ -1220,3 +1220,4 @@ var char_unicode_to_si_n=[
 { "id":"e" , "value":"එ" },
 { "id":"o" , "value":"ඔ" }
 ];
+

+ 9 - 1
app/term/note.js

@@ -1855,7 +1855,15 @@ function set_pali_script(pos, script) {
 			.wrap("<pl" + pos + "></pl" + pos + ">");
 
 		$("pl" + pos).html(function (index, oldcontent) {
-			return roman_to_my(oldcontent);
+			switch(script){
+				case "မြန်မာ":
+					return roman_to_my(oldcontent);
+				case "සිංහල":
+					return roman_to_si(oldcontent);
+				default:
+					return(oldcontent);
+			}
+			
 		});
 	}
 }

+ 2 - 1
app/ucenter/default.json

@@ -21,6 +21,7 @@
 	"dict.blacklist": ["@all", "bhmf"],
 	"lib.first_script": "Roman",
 	"lib.second_script": "none",
-	"lib.pali_script": ["none", "Roman", "မြန်မာ"],
+	"lib.pali_script": ["none", "Roman", "မြန်မာ","සිංහල"],
+	"_lib.pali_script": ["none", "Roman", "မြန်မာ","සිංහල"],
 	"term.template": ["[%mean%](%pali% %mean2% %mymean%)", "[%mean%]", "", ""]
 }

+ 1 - 1
app/ucenter/setting.js

@@ -183,7 +183,7 @@ function setting_paliscript_change(set) {
 function setting_render_paliscript(set) {
 	let html = "";
 	html += "<select id='" + set + "' onchange=\"setting_paliscript_change('" + set + "')\">";
-	for (const iterator of setting["lib.pali_script"]) {
+	for (const iterator of setting["_lib.pali_script"]) {
 		html += "<option value='" + iterator + "'";
 		if (iterator == setting[set]) {
 			html += "selected='selected'";

+ 10 - 5
dashboard/.umirc.ts

@@ -1,9 +1,14 @@
 import { defineConfig } from 'umi';
 
 export default defineConfig({
-  nodeModulesTransform: {
-    type: 'none',
-  },
-  base: '/my/',
-  fastRefresh: {},
+	nodeModulesTransform: {
+		type: 'none',
+	},
+	base: '/my/',
+	fastRefresh: {},
+	layout: {
+		name: 'wikipali',
+		locale: true,
+		layout: 'side',
+	}
 });

+ 26 - 2
dashboard/src/components/demo.tsx

@@ -1,7 +1,7 @@
 import {Link} from 'umi';
 import { Alert } from 'antd';
 import { Input } from 'antd';
-
+import { WarningOutlined,LoadingOutlined  } from '@ant-design/icons';
 
 type IWidget1Props ={
   message: String
@@ -76,4 +76,28 @@ export const WidgetWikiPaliArticleEdit = (content: IWidgetArticle) => {
       <TextArea autoSize showCount maxLength={500} defaultValue={content.text} onChange={onChange} />
     </div>
   );
-}
+}
+
+type IWidgetCommitMessage ={
+  message: string,
+  successful:boolean,
+  time:number,
+}
+
+export const WidgetCommitNofifiction = (message: IWidgetCommitMessage) => {
+        if(message.successful){
+          return (
+            <span>
+              <LoadingOutlined />{message.time}{message.message}
+            </span>
+          );          
+        }
+        else{
+          return (
+            <span>
+              <WarningOutlined />{message.time}{message.message}
+            </span>
+          );
+        } 
+
+}

+ 44 - 1
dashboard/src/pages/demo/day-3.tsx

@@ -1,5 +1,5 @@
 import React,{useState} from 'react';
-import { Form, Input, Button, Select,Radio,Switch,DatePicker,Popconfirm,message,Space,Checkbox } from 'antd';
+import { Table,Form, Input, Button, Select,Radio,Switch,DatePicker,Popconfirm,message,Space,Checkbox } from 'antd';
 import { CloseOutlined,CheckOutlined } from '@ant-design/icons';
 
 const {Option}=Select;
@@ -51,6 +51,7 @@ export default () => {
   //提交表单
   const onSubmit=()=>{
     console.log("form:",form);
+    getTableData(form.getFieldValue("username"));
 
   }
   const validatePassword=(rule,value,callback)=>{
@@ -84,7 +85,45 @@ export default () => {
   function onChangeCheckbox(e){
     console.log("checked:",e.target.checked);
   }
+  //表头
+const columns = [
+	{
+		title: 'Id',
+		dataIndex: 'id',
+		key: 'id',
+		render: text => <a>{text}</a>,
+	},
+	{
+		title: 'name',
+		dataIndex: 'name',
+		key: 'name',
+	},
+	{
+		title: "gender",
+		dataIndex: 'gender',
+		key: 'gender',
+	},
+  {
+		title: "email",
+		dataIndex: 'email',
+		key: 'email',
+	}
+]
+function getTableData(name:string){
+  fetch('https://gorest.co.in/public-api/users?name='+name)
+    .then(function (response) {
+      console.log("ajex:", response);
+      return response.json();
+    })
+    .then(function (myJson) {
+      console.log("ajex",myJson.data);
+      setTableData(myJson.data);
+    });		
+}  
+const [tableData, setTableData] = useState();
   return (
+    <div>
+      <Table dataSource={tableData} columns={columns} />
     <Form
     form={form}
       name="control-hooks"
@@ -191,5 +230,9 @@ export default () => {
         
       </Form.Item>
     </Form>
+
+          
+    </div>
+
   );
 };

+ 222 - 0
dashboard/src/pages/demo/day-4.tsx

@@ -0,0 +1,222 @@
+import { Affix, Layout, Menu, Breadcrumb, Table, Tag, Space, Pagination, message, notification, Anchor } from "antd";
+import { Row, Col } from "antd";
+import { UserOutlined, LaptopOutlined, NotificationOutlined } from "@ant-design/icons";
+import { Footer } from "antd/lib/layout/layout";
+import { useState } from 'react';
+import { WidgetCommitNofifiction } from '@/components/demo'
+
+
+const { SubMenu } = Menu;
+const { Header, Content, Sider } = Layout;
+const { Link } = Anchor;
+
+message.config({
+	maxCount: 4
+});
+//表数据
+const dataSource = [
+	{
+		key: '1',
+		name: 'name1',
+		age: 32,
+		adress: "西湖南路"
+	},
+	{
+		key: '2',
+		name: 'name2',
+		age: 34,
+		adress: '西湖公园'
+	},
+	{
+		key: '3',
+		name: 'name1',
+		age: 32,
+		adress: "西湖南路"
+	},
+	{
+		key: '4',
+		name: 'name2',
+		age: 34,
+		adress: '西湖公园'
+	},
+	{
+		key: '5',
+		name: 'name1',
+		age: 32,
+		adress: "西湖南路"
+	},
+	{
+		key: '6',
+		name: 'name2',
+		age: 34,
+		adress: '西湖公园'
+	}
+]
+//表头
+const columns = [
+	{
+		title: 'Id',
+		dataIndex: 'id',
+		key: 'id',
+		render: text => <a>{text}</a>,
+	},
+	{
+		title: 'user_id',
+		dataIndex: 'user_id',
+		key: 'user_id',
+	},
+	{
+		title: "title",
+		dataIndex: 'title',
+		key: 'title',
+	}
+]
+
+function handleClick(e) {
+	console.log('click', e);
+	ntfOpen(e.key);
+}
+function pageChange(page: number, pagesize?: number | undefined) {
+	message.info("page:" + page);
+	if (pagesize) {
+		message.error("pagesize:" + pagesize);
+	}
+}
+function ntfOpen(msg: string) {
+	const args = {
+		message: "title",
+		description: msg,
+		duration: 5,
+	};
+	notification.open(args);
+
+}
+export default () => {
+	const [top, setTop] = useState(0);
+	const [bottom, setBottom] = useState(10);
+	const [commitStatus, setcommitStatus] = useState(false);
+	const [commitTime, setcommitTime] = useState(0);
+	const [commitMsg, setcommitMsg] = useState("失败");
+
+	const [tableData, setTableData] = useState();
+
+
+	function getTableData(){
+		fetch('https://gorest.co.in/public-api/posts')
+			.then(function (response) {
+				console.log("ajex:", response);
+				return response.json();
+			})
+			.then(function (myJson) {
+				console.log("ajex",myJson.data);
+				setTableData(myJson.data);
+			});		
+	}
+	function pageChange(page: number, pagesize?: number | undefined) {
+		setcommitTime(page);
+		message.info("page:" + page);
+		if (pagesize) {
+			message.error("pagesize:" + pagesize);
+		}
+	}
+
+	return (
+		<Layout>
+			<Header className="header">
+				<div className="logo" />
+
+				<Menu onClick={handleClick} theme="dark" mode="horizontal" defaultSelectedKeys={['2']}>
+					<Menu.Item key="0">
+						<WidgetCommitNofifiction time={commitTime} message={commitMsg} successful={commitStatus} />
+					</Menu.Item>
+					<Menu.Item key="1" onClick={getTableData}>Palicanon</Menu.Item>
+					<Menu.Item key="2">Course</Menu.Item>
+					<Menu.Item key="3">nav 3</Menu.Item>
+					<SubMenu key="submenu" icon={<UserOutlined />} title="Others">
+						<Menu.ItemGroup title="group1">
+							<Menu.Item key="4">option1</Menu.Item>
+							<Menu.Item key="5">option2</Menu.Item>
+							<Menu.Item key="6">option3</Menu.Item>
+						</Menu.ItemGroup>
+						<Menu.ItemGroup title="group2">
+							<Menu.Item key="7">option1</Menu.Item>
+							<Menu.Item key="8">option2</Menu.Item>
+							<Menu.Item key="9">option3</Menu.Item>
+						</Menu.ItemGroup>
+					</SubMenu>
+				</Menu>
+			</Header>
+			<Layout>
+				<Affix offsetTop={top}>
+					<Sider className="site-layout-background">
+						<Menu
+							mode="inline"
+							defaultSelectedKeys={['1']}
+							defaultOpenKeys={['sub1']}
+							style={{ height: '100%', borderRight: 0 }}
+						>
+							<SubMenu key="sub1" icon={<UserOutlined />} title="subnav 1">
+								<Menu.Item key="1">option1</Menu.Item>
+								<Menu.Item key="2">option2</Menu.Item>
+								<Menu.Item key="3">option3</Menu.Item>
+								<Menu.Item key="4">option4</Menu.Item>
+							</SubMenu>
+							<SubMenu key="sub2" icon={<UserOutlined />} title="subnav 2">
+								<Menu.Item key="5">option1</Menu.Item>
+								<Menu.Item key="6">option2</Menu.Item>
+								<Menu.Item key="7">option3</Menu.Item>
+								<Menu.Item key="8">option4</Menu.Item>
+							</SubMenu>
+						</Menu>
+					</Sider>
+				</Affix>
+
+				<Layout style={{ padding: '0 24px 24px' }}>
+					<Breadcrumb style={{ padding: '0 24px 24px' }}>
+						<Breadcrumb.Item>Home</Breadcrumb.Item>
+						<Breadcrumb.Item>List</Breadcrumb.Item>
+						<Breadcrumb.Item>App</Breadcrumb.Item>
+					</Breadcrumb>
+					<Content
+						className="site-layout-background"
+						style={{
+							padding: 24,
+							margin: 0,
+							minHeight: 280,
+							width: "100%",
+							overflowX: "auto",
+						}}>
+						<Table dataSource={tableData} columns={columns} />
+						<div>搜索结果</div>
+						<Pagination defaultCurrent={1} total={54} onChange={pageChange} />
+					</Content>
+				</Layout>
+				<Affix offsetTop={top}>
+					<Sider>
+						<Anchor>
+							<Link href="#aa" title="aa" />
+							<Link href="#bb" title="bb" />
+							<Link href="#cc" title="cc" />
+							<Link href="#dd" title="dd" />
+						</Anchor>
+					</Sider>
+				</Affix>
+			</Layout>
+
+			<Footer>
+				<Row>
+					<Col span={4}>col1</Col>
+					<Col span={16}>col2</Col>
+					<Col span={4}>col3</Col>
+				</Row>
+				<Row>
+					<Col xs={4} md={5} xl={4}> col4</Col>
+					<Col xs={20} md={14} xl={16}> col5 </Col>
+					<Col xs={0} md={5} xl={4}> col6 </Col>
+				</Row>
+			</Footer>
+		</Layout>
+	);
+
+}
+

+ 38 - 0
dashboard/src/pages/demo/day-5.json

@@ -0,0 +1,38 @@
+[
+  {
+    "key": "1",
+    "name": "name1",
+    "age": 32,
+    "adress": "西湖南路"
+  },
+  {
+    "key": "2",
+    "name": "name2",
+    "age": 34,
+    "adress": "西湖公园"
+  },
+  {
+    "key": "3",
+    "name": "name1",
+    "age": 32,
+    "adress": "西湖南路"
+  },
+  {
+    "key": "4",
+    "name": "name2",
+    "age": 34,
+    "adress": "西湖公园"
+  },
+  {
+    "key": "5",
+    "name": "name1",
+    "age": 32,
+    "adress": "西湖南路"
+  },
+  {
+    "key": "6",
+    "name": "name2",
+    "age": 34,
+    "adress": "西湖公园"
+  }
+]

+ 24 - 0
dashboard/src/pages/demo/day-5.tsx

@@ -0,0 +1,24 @@
+import React from 'react';
+import {
+	BasicLayoutProps,
+	Settings as LayoutSettings,
+} from '@ant-design/pro-layout';
+export const layout = ({
+	initialState,
+}: {
+	initialState: { settings?: LayoutSettings; currentUser?: API.CurrentUser };
+}): BasicLayoutProps => {
+	return {
+		rightContentRender: () => <RightContent />,
+		footerRender: () => <Footer />,
+		onPageChange: () => {
+			const { currentUser } = initialState;
+			const { location } = history;
+			if (!currentUser && location.pathname != '/user/login') {
+				history.push('/user/login');
+			}
+		},
+		menuHeaderRender: undefined,
+		...initialState?.settings,
+	};
+};

+ 0 - 0
documents/course/example.md → dashboard/src/pages/demo/day-6.tsx


+ 0 - 494
documents/course/Morphological Definitions.md

@@ -1,494 +0,0 @@
-# Compound Definitions 复合定义
-
-### **Note** **注意**(1):
-
-- Some compound members, such as **prefixes** and certain **primary derivatives**, cannot stand alone as separate words; in this case, their synonyms having the status of an independent expression should be used in the definition.
-- 一些复合成员,如**前缀**和某些**初级派生词**,不能作为单独的词独立存在;在这种情况下,应在定义中使用具有独立表达式地位的同义词。
-
-
-
-### A. **Kammadhāraya (Adjectival Compounds形容词复合词,持业释)**
-
-A definition for this type:
-此类型的定义:
-
-- a. has both members in nominative case, both singular or both plural and
-
-  两个组分都是主格,都是单数或复数
-
-- b. the whole compound follows the last member in case, gender and number.
-
-  整个复合词跟随最后一个成员的格、性和数。
-
-
-#### A.1visesana-pubbapada 定语前置
-
-[uttama](# "noble 高尚") = A<sub title="modifier定语/修饰语">mod</sub>
-
-[purisa](# "man 人") = A<sub title="substantive中心语">sub</sub>
-
-sense中心語, gender性 & number数
-
-- A<sub title="modifier定语/修饰语">mod</sub> + A<sub title="substantive中心语">sub</sub> [→](# "") A<sub title="substantive中心语">sub</sub>
-
-Relation關係
-- A<sub title="modifier定语/修饰语">mod</sub>  [→](# "Identity认定/一致性")  A<sub title="substantive中心语">sub</sub>
-
-**Def. 定义**
-***
-uttamo **ca so** puriso **cāti (ca + iti)** uttamapuriso
-***
-note注:
-
-- When two members are different in gender, the inserted pronoun **ta** must agree with the first one.
-
-  当两个成员的性别不同时,插入的代词**ta**必须与第一个成员一致。
-```mermaid
-graph LR
-A["so"]--NIO<br>被描述-定性<br>普通-->B["uttamo"]
-A--NIO<br>被描述-定性<br>普通-->C["puriso"]
-A--NIO<br>被描述-定性<br>普通-->D["uttamapuriso"]
-E["iti"]--CAU<br>归因关系-->D
-```
-
-trs.译文
-- "He (is) noble and a man too, therefore, (he is) uttamapurisa by name."
-- “他(是)高贵,也是一个人,因此,他名叫是贵人。”
-##### or或
-```
-uttamo puriso uttamapuriso
-```
-```mermaid
-graph LR;
-A["uttamo"]--IAD<br>形容关系-->B["puriso"];
-B--NID<br>被命名-命名-->C["uttamapuriso"]
-```
-trs.译文
-- " (The / A) noble man (is) uttamapurisa by name."
-- “高尚的人叫uttamapurisa。”
-
-or或
-```
- (yo) uttamo hutvā puriso (hoti). (so ) uttamapuriso.
-```
-```mermaid
-graph LR;
-A["yo"]--DISO-P<br>主-系-->B["hutvā"];
-A--DISO-P<br>主-系-->C["hoti"]
-D["uttamo"]--DISO-S<br>表-系-->B
-E["puriso"]--DISO-S<br>表-系-->C
-B--ADV<br>動詞修飾詞-動詞-->C
-```
-```mermaid
-graph LR;
-F["so"]--NIO<br>被描述-定性-->G["uttamapuriso"]
-
-```
-trs.译文
--  " (The one who is) noble and (who is) a man, (he is) uttamapurisa by name."
-- “变得高尚(的)男人,(他)以uttamapurisa为名。”
-
-#### A.2 visesana-uttarapada 定语后置
-
-sāriputta (name of a monk僧名) = A<sub title="substantive中心语">sub</sub>
-
-thera (senior monk高僧) = A<sub title="modifier定语/修饰语">mod</sub>
-
-sense中心語
-- A<sub title="substantive中心语">sub</sub> + A<sub title="modifier定语/修饰语">mod</sub>---->A<sub title="substantive中心语">sub</sub>
-
-gender & number 性&数
-- A<sub title="substantive中心语">sub</sub> + A<sub title="modifier定语/修饰语">mod</sub>---->A<sub title="modifier定语/修饰语">mod</sub> 
-
-Relation關係
-- A<sub title="modifier定语/修饰语">mod</sub> [→](# "Identity relation认定/一致关系") A<sub title="substantive中心语">sub</sub>
-
-Definitions are the same as the first format.
-定义与第一种格式相同。
-```
-sāriputto ca so thero cāti sāriputtatthero
-```
-- "He (is ) Sāriputta (by name) and a senior monk too, therefore, (he is) sāriputtatthera by name."
-- “他(名为)Sāriputta且是一位高年资僧侣,因此,(他)以sāriputtatthera(为)名。“。
-
-```
-sāriputto thero sāriputtatthero
-```
-- "The senior monk Sāriputta (is) sāriputtatthera by name."
-- “The资深和尚Sāriputta 以 sāriputtathera为名。“。
-
-```
-(yo) sāriputto hutvā thero sāriputtatthero
-```
-- " (The one who is) Sāriputta and (who is) a senior monk, (he is) sāriputtatthera by name."
-- “(谁是)Sāriputta和(谁),他是一位高级僧侣,他的名字叫āriputtalthera。“。
-
-#### A.3 visesana-ubhayapada 双重定语
-[ kata (the (work) finished已做) = A<sub title="modifier定语/修饰语">mod</sub>1] + [ akata = (the (work) not yet finished未做) = A<sub title="modifier定语/修饰语">mod</sub>2]
-
-A<sub title="modifier定语/修饰语">mod</sub>1 + A<sub title="modifier定语/修饰语">mod</sub>2---->A<sub title="substantive中心语">sub</sub> (sense, gender & number中心語、性与数)
-
-A<sub title="modifier定语/修饰语">mod</sub>1---->A<sub title="substantive中心语">sub</sub> (Identity relation认定/一致关系)
-
-A<sub title="modifier定语/修饰语">mod</sub>2---->A<sub title="substantive中心语">sub</sub> (Identity relation认定/一致关系)
-
-Definitions are the same as the first format except the second:
-定义与第一种格式相同,但第二种格式除外:
-```
-kataṃ ca taṃ akataṃ cāti katākataṃ
-```
-- "It (is ) finished and not yet finished too, therefore, (it is) katākata by name."
-- “它(已经)完成,也尚未完成,因此,(它就是)katākata的名字。“。
-
-```
-(yaṃ) kataṃ hutvā akataṃ katākataṃ
-```
-- " (The one which is) finished and (which is) not finished, (it is) katākata by name.
-- “(已完成的那个)和没有完成(的),(它是)katākata的名字。
-
-
-#### A.4 upamāna-uttarapada 比喻后置
-[ muni (the monk僧) = A<sub title="substantive中心语/本体">sub</sub> ] + [ sīha (lion狮子) = A<sub title="standard of comparison喻体/喻依">com</sub>]
-
-A<sub title="standard of comparison喻体/喻依">com</sub>---->A<sub title="substantive中心语/本体">sub</sub> (Figurative identity relation 比喻身份关系)
-```
-(yo) sīho viya / iva (hoti) iti (so) sīho.
-```
-[sīha + a (sec. derivative of comparison sense二次派生的譬喻)]
-```mermaid
-graph LR;
-A["yo"]--DASO-P-->B["hoti"]
-C["sīho"]--DASO-S-->B
-D["so"]--NID-->C
-```
-trs译文:
-- The one who is like a lion, he is sīha by name.
-- 就是那个像狮子一样的人,他的名字叫sīha。
-```
-muni ca so sīho cāti munisīho.
-```
-trs译文:
-- "He (is) a monk and lion-like too, therefore, (he is) munisīha by name."
-- “他既是一个僧侣又像狮子一样,因此,他的名为munisīha。”
-
-#### A.5 sambhāvanā-pubbapada 混合组分前置
-[pāṇa (living being生物) =A + iti + saññā (perception认定/想) = B]
-
-```mermaid
-graph LR;
-A["A + iti"]--Identity relation认定/一致关系-->B;
-```
-```
-pāṇo iti saññā pāṇasaññā.
-```
-
-```mermaid
-graph LR;
-
-A["pāṇo iti"] --IAD--> B["saññā"];
-B --NID<br>被命名-命名-->C["pāṇasaññā"];
-
-```
-trs译文:
-- " The perception (forming) as 'living being' is saññā by name."
-- “认定为‘生物’。”
-
-#### A.6 avadhāraṇa-pubbapada 强调部分前置
-[sīla (morality品德) = A + eva + dhana (property财产) = B]
-```mermaid
-graph LR;
-
-A["(A + eva)"]--Emphasized identity relation强调的同一性关系-->B 
-```
-```
-sīlaṃ eva dhanaṃ sīladhanaṃ.
-```
-```mermaid
-graph LR;
-A["sīlaṃ(eva)"]--IAD-->B["dhanaṃ"]
-B--NID<br>被命名-命名-->C[sīladhanaṃ]
-```
-
-trs译文:
-- "The property that is only morality (is) sīladhana by name.
-- “只有道德的财产才是sīladhana的名字。
-
-#### A.7 pādi-pubbapada / kunipātapubbapada 前缀
-[ pa (praiseworthy值得表扬) = A<sub>ind</sub> + vacana (discourse话语) = A<sub title="substantive中心语">sub</sub>]
-
-Aind A<sub title="substantive中心语">sub</sub> (identity relation认定/一致性关系)
-```
-pasaṭṭhaṃ ca taṃ vacanaṃ cāti pāvacanaṃ
-```
-- " It (is) praiseworthy and a discourse too, therefore, (it is) pāvacana by name.
-- “它(是)值得称赞,也是一种论述,因此,(它是)pāVacana的名字。
-
-```
-pasaṭṭhaṃ vacanaṃ pāvacanaṃ
-```
-- The praiseworthy discourse (is) pāvacana by name.
-- The 值得称赞的以pāvacana(为)名。
-```
-(yaṃ) pasaṭṭhaṃ hutvā vacanaṃ pāvacanaṃ
-```
-- (The one which is) praiseworthy and (which is) a discourse, (it is) pāvacana by name.
-- (值得称赞的人)。(这是)一个话语,(它是)pāvacana的名字。
-
-Note注:
-- The first member Pa is a prefix; it cannot stand alone as a separate word.
-  第一个成员Pa是一个前缀;它不能单独作为一个单独的单词。
-- Accordingly, its synonym pasaṭṭha, an ordinary noun, is used in the definition.
-  因此,在定义中使用了它的同义词pasaṭṭha,这是一个普通的名词。
-
-# B. Digu (Numeral Compounds数词复合词/代数释)
-
-A definition for this type has:
-此类型的定义有:
-
-- a. the first member as a numeral and both members singular or plural number,
-  
-  第一个成员为数字,并且两个成员都是单数或复数,
-
-- b. both members in **nominative** case for *asamāhāra* type
-B.Asamāhāra类型的两个成员均为**主格**。
-
-- c. both members in **nominative** case (with or without the inserted word *samāhaṭa*)
-C.两个成员均为**主格**(带或不带插入单词Samāhaṭa)。
-
-  - OR in genitive case (with the inserted word samāhāra) for samāhāra type.
-
-    或者在所有格中(插入单词samāhāra)表示samāhāra类型。
-
-- e. the whole compound having the nominative case (AND) {following the last member in gender and number for asamāhāra type (or) having neutral gender, singular number for samāhāra type}.
-
-  即具有主格的整个复合词(和){在最后一个后面。具有中性性别的ASAMāhāRa类型(或)的性别和号码成员,Samāhāra类型的单数。
-
-E.g.例如:
-- [ti (three) = Anum + loka (world) = Asub ]
-- Anum Asub (Identity relation认定/一致性关系)
-```
-tayo ca te lokā cāti tilokā (asamāhāra type型) / tilokaṃ (samāhāra type型)
-```
-```mermaid
-graph LR;
-A["te"]--NIO-->B["tayo"]
-A--NIO-->C["lokā"]
-A--NID<br>被命名-命名-->D["tilokā/tilokaṃ"]
-E["iti"]--CAU-->D
-```
-
-trs译文:
-- " They (are) three and worlds too, therefore, (they are) tiloka by name."
-- “他们也是三个世界,因此,他们的名字叫三界。”
-```
-tayo lokā tilokā (asamāhāra type型)
-OR或
-tayo lokā tilokaṃ (samāhāra type型)
-```
-```mermaid
-graph LR;
-A["tayo"]--IAD-->B["lokā"]
-B--NID<br>被命名-命名-->C["tilokā/tilokaṃ"]
-```
-
-trs.译文:
-- " Three worlds (are) tiloka by name."
-- “三个世界叫三界。”
-```
- tayo lokā samāhaṭā tilokaṃ 
-```
-This format for samāhāra type only此格式仅适用于Samāhāra类型
-```mermaid
-graph LR;
-A["tayo"]--IAD-->B["lokā"]
-B--NID<br>被命名-命名-->C["tilokā/tilokaṃ"]
-D["samāhaṭā"]--IAD-->B
-```
-
-trs.译文
-- " Three worlds combined (are) tiloka by name."
-- “三个世界按名字合并在一起是蒂洛卡。”
-```
-tiṇṇaṃ lokānaṃ samāhāro tilokaṃ 
-```
-(This format also for samāhāra type only 此格式也仅适用于Samāhāra类型)
-```mermaid
-graph LR;
-A["tiṇṇaṃ"]--IAD-->B["lokānaṃ"]
-B--POS-->C["samāhāro"]
-C--NID<br>被命名-命名-->D["tilokaṃ"]
-```
-
-trs.译文
-- " The collection of three worlds (is) tiloka by name."
-- “三个世界的集合(是)Tiloka的名字。”
-
-
-## C. Tappurisa (Dependent Determinative Compounds 根据限定词的复合词/依主释)
-
-### A definition for this type has 此类型的定义有:
-
-
-- a. the first member in one of six cases, namely, accusative, instrumental, dative, ablative, genitive and locative cases,
-
-  六种情况之一的第一成员,即宾格、工具格、与格、来源格,所有格和方位格,
-
-- b. the second member and the whole compound in nominative case.
-
-  第二个成员和整个复合词的主格。
-
-### A. With Accusative relation 带有宾语关系
-
-[(arañña (forest) = A + gata (the one who goes) = B ]
-[(Arañña(森林)=A+Gata(去的那个人)=B]。
-
-```mermaid
-graph LR;
-A--Acc-->B
-```
-
-```
-araññaṃ gato araññagato.
-```
-```mermaid
-graph LR;
-A["araññaṃ"]--IOV-->B["gato"]
-B--NID<br>被命名-命名-->C["araññagato"]
-```
-
-trs.译文
-- " The one who goes (to) forest (is) araññagata by name."
-- “那个去森林的人被称为araññagata。”
-
-[(kamma (work) = A + kāra (the one who does) = B ]
-[(卡玛(工作)=A+kāra(做工作的人)=B]。
-
-```mermaid
-graph LR;
-A--Acc-->B
-```
-```
-(yo) kammaṃ karoti / kato iti (so) kammakāro.
-```
-```mermaid
-graph LR;
-A["yo"]--ASV-->B["karoti/kato"]
-C["kammaṃ"]--IOV-->B
-D["iti"]--CAU-->E["kammakāro"]
-F["so"]--NID<br>被命名-命名-->E
-```
-
-
-trs.译文
-- " The one who does the work, he (is) kammakāra by name."
-- “做这项工作的人,他叫Kammakāra。”
-
-Note: In the second example, the second member kāra is a primary derivative
-注:在第二个例子中,第二个成员kāra是一阶导数。
-
-derived from (kar + a- subjective case) but it cannot stand alone as a separate word.
-派生自(kar+a-主观格),但它不能作为一个单独的词独立存在。
-Consequently, an active verb of the same root is used instead in the definition.
-因此,在定义中使用相同词根的主动动词。
-
-### B. With relations Instrumental, etc. 带有工具格等关系
-
-[(buddha (the lord Buddha佛主) = A + bhāsita (the one which is said) = B ]
-```mermaid
-graph LR;
-A--Ins-->B
-```
-```
-buddhena bhāsito buddhabhāsito.
-```
-```mermaid
-graph LR;
-A["buddhena"]--ISV-->B["bhāsito"]
-B--NID<br>被命名-命名-->E["buddhabhāsito"]
-```
-
-
-trs.译文
-- " The one which is said by the Buddha (is) buddhabhāsita by name."
-- “佛陀所说的被称为佛说。”
-
-[(saṅgha (the Order of Bhikkhus僧团) = A + bhatta (meal餐) = B ]
-
-```mermaid
-graph LR;
-A--Dat-->B
-```
-```
-saṅghassa bhattaṃ saṅghabhattaṃ.
-```
-```mermaid
-graph LR;
-A["saṅghassa"]--PUR-->B["bhattaṃ"]
-B--NID<br>被命名-命名-->E["saṅghabhattaṃ"]
-```
-
-trs.译文
-- " The meal for the Order of Bhikkhus (is) saṅghabhatta by name."
-- “比丘修会(Is)saṅghabhatta的餐点点名。”
-
-[(nagara (town镇) = A + niggata (the one who went out外出的那个人) = B ]
-
-```mermaid
-graph LR;
-A--Abl-->B
-```
-```
-nagarasmā niggato nagaraniggato.
-```
-```mermaid
-graph LR;
-A["nagarasmā"]--DET-->B["niggato"]
-B--NID<br>被命名-命名-->E["nagaraniggato"]
-```
-
-
-trs.译文
-- " The one who went out from the town (is) nagaraniggata by name."
-- “那个从镇上出来的人叫那嘎拉尼加塔。”
-
-[(buddha (the lord Buddha) = A + sāvaka (the disciple) = B ]
-[(佛(主佛)=A+sāVaka(弟子)=B]。
-
-```mermaid
-graph LR;
-A--Gen-->B
-```
-```
-buddhassa sāvako buddhasāvako.
-```
-```mermaid
-graph LR;
-A["buddhassa"]--POS-->B["sāvako"]
-B--NID<br>被命名-命名-->E["buddhasāvako"]
-```
-
-
-trs.
-TRS。
-- " The disciple of the Lord Buddha (is) buddhasāvaka by name."128
-- “佛主的弟子名为佛弟子。”
-
-[(arañña (forest) = A + vāsa (living, residence) = B ]
-[(Arañña(森林)=A+vāSa(居住、居住)=B]。
-
-```mermaid
-graph LR;
-A--Loc-->B
-```
-```
-araññe vāso araññavāso.
-```
-```mermaid
-graph LR;
-A["araññe"]--LOV-->B["vāso"]
-B--NID<br>被命名-命名-->E["araññavāso"]
-```
-
-trs.译文
-- " Living / Residence in the forest (is) araññavāsa by name.
-- “生活/居住在森林中(IS)Arañavāsa的名字。

+ 0 - 63
documents/course/join_us.md

@@ -1,63 +0,0 @@
-# 欢迎您加入圣典翻译计划
-
-## 序言
-此圣典翻译计划以学习和翻译第六次圣典结集的巴利文本为目的设立。学生在老师的带领下学习圣典内容,提升自己的巴利语及教理水平。在正确理解的基础上,以逐词解析或译文的形式翻译巴利圣典。
-
-这是一个公益的教学和翻译项目,且不带有任何商业性质。
-- 任何项目的组织和个人,不会以任何方式向您收取任何费用
-- 该活动参与者将自动放弃该活动中贡献的笔记、翻译、视频、音频及其衍生品的相关的**商业版权**,或是**以盈利为目的**的公开发布
-- 任何组织包括平台,也不可以声明上述**商业版权**,或是**以盈利为目的**的公开发布,且原意接受社会各界的监督
-- 我们为该活动的参与者保留他们个人贡献的**署名权**和**修改权**
-
-如果您接受并认可上述平台共识,那我们欢迎您在wikipali平台上公开发表这些内容。以利益他人。
-
-在[公共版权](https://en.wikipedia.org/wiki/Public_domain)的前提下。我们欢迎您在wikipali平台上公开发表您的笔记,译文等。以利益他人。
-
-我们欢迎您参与此教学活动,无论是以学生,教师或是教学活动的服务者的身份。
-
-## 相关工作
-
-### 授课
-具体内容
-- 逐词逐句解读巴利圣典
-- 教授相关的巴利文法
-- 为翻译工作给出指导意见
-
-技能需求
-
-### 教师库专员
-工作内容
-
-技能要求
-
-### 教务
-内容
-- 网络或实体课程的策划
-- 课程表安排
-- 课程视频的录制和网络分享
-- 场地评估
-
-技能需求
-- 软件使用
-- 硬件接驳
-
-### 导播
-内容
-- 网络或实体课程的策划
-- 课程表安排
-- 课程视频的录制和网络分享
-- 场地评估
-
-技能需求
-- 软件使用
-- 硬件接驳
-
-### 课代表
-内容
-- 与教务对接课程安排,发布通知
-- 参与课程
-- 组织学生课前预习
-- 组织学生记录课堂笔记
-- 收集问题
-
-技能需求

+ 0 - 218
documents/development/debug/toc_bug.csv

@@ -1,218 +0,0 @@
-bookid,folder,,title,标题,c2,c1,c3
-1,e0601n.nrf,"",Namakkārapāḷi,禮敬複註,añña,buddha-vandanā gantha-saṅgaho,
-2,e0602n.nrf,"",Mahāpaṇāmapāṭha(Buddhavandanā),大禮敬,añña,buddha-vandanā gantha-saṅgaho,
-3,e0603n.nrf,"",Lakkhaṇāto,品質——佛之禮贊偈,añña,buddha-vandanā gantha-saṅgaho,
-4,e0604n.nrf,"",Suttavandanā,禮敬經典,añña,buddha-vandanā gantha-saṅgaho,
-5,e0605n.nrf,"",Jinālaṅkāra,勝者莊嚴,añña,buddha-vandanā gantha-saṅgaho,
-6,e0606n.nrf,"",Kamalāñjali,蓮花合掌,añña,buddha-vandanā gantha-saṅgaho,
-7,e0607n.nrf,"",Pajjamadhu,道之蜜,añña,buddha-vandanā gantha-saṅgaho,
-8,e0608n.nrf,"",Buddhaguṇagāthāvalī,佛陀功德頌,añña,buddha-vandanā gantha-saṅgaho,
-9,e0810n.nrf,"",Abhidhānappadīpikāṭīkā,名詞燈明疏,añña,byākaraṇa gantha-saṅgaho,
-10,e0811n.nrf,"",Subodhālaṅkāro,莊嚴明瞭,añña,byākaraṇa gantha-saṅgaho,
-11,e0812n.nrf,"",Subodhālaṅkāraṭīkā,莊嚴明瞭疏,añña,byākaraṇa gantha-saṅgaho,
-12,e0813n.nrf,"",Bālāvatāra,巴利初學入門,añña,byākaraṇa gantha-saṅgaho,
-13,e0801n.nrf,"",Moggallānasuttapāṭho,摩嘎拉那經,añña,byākaraṇa gantha-saṅgaho,
-14,e0802n.nrf,"",Kaccāyanabyākaraṇaṃ,咖吒亞那語法最古老的巴利文法,añña,byākaraṇa gantha-saṅgaho,
-15,e0803n.nrf,"",Saddanītippakaraṇaṃ (padamālā),論語法(一),añña,byākaraṇa gantha-saṅgaho,
-16,e0804n.nrf,"",Saddanītippakaraṇaṃ,論語法(二),añña,byākaraṇa gantha-saṅgaho,
-17,e0805n.nrf,"",Padarūpasiddhi,句身成就,añña,byākaraṇa gantha-saṅgaho,
-18,e0806n.nrf,"",Moggallāna pañcikā ṭīkā,摩嘎拉那潘基卡,añña,byākaraṇa gantha-saṅgaho,
-19,e0807n.nrf,"",Payogasiddhipāḷi,前方便成就,añña,byākaraṇa gantha-saṅgaho,
-20,e0808n.nrf,"",Vuttodayaṃ,言起(巴利偈頌學),añña,byākaraṇa gantha-saṅgaho,
-21,e0809n.nrf,"",Abhidhānappadīpikā,名詞燈明(同義詞典),añña,byākaraṇa gantha-saṅgaho,
-22,e0201n.nrf,"",Niruttidīpanīpāṭha,詞語手冊,añña,leḍī sayādo gantha-saṅgaho,
-23,e0301n.nrf,"",Paramatthadīpanī,勝義解讀(雷迪大師),añña,leḍī sayādo gantha-saṅgaho,
-24,e0401n.nrf,"",Anudīpanīpāṭha,再解讀(雷迪大師),añña,leḍī sayādo gantha-saṅgaho,
-25,e0501n.nrf,"",Paṭṭhānuddesa dīpanīpāṭha,發趣總說手冊,añña,leḍī sayādo gantha-saṅgaho,
-26,e1010n.nrf,"",Caturārakkhadīpanī,四護衛禪燈釋,añña,nīti-gantha-saṅgaho,
-27,e1001n.nrf,"",Kavidappaṇanīti,詩人鏡子格言,añña,nīti-gantha-saṅgaho,
-28,e1002n.nrf,"",Nītimañjarī,格言集,añña,nīti-gantha-saṅgaho,
-29,e1003n.nrf,"",Dhammanīti,法的格言,añña,nīti-gantha-saṅgaho,
-30,e1004n.nrf,"",Mahārahanīti,大阿拉汗格言,añña,nīti-gantha-saṅgaho,
-31,e1005n.nrf,"",Lokanīti,世間法(格言集),añña,nīti-gantha-saṅgaho,
-32,e1006n.nrf,"",Suttantanīti,經中格言,añña,nīti-gantha-saṅgaho,
-33,e1007n.nrf,"",Sūrassatīnīti,Sūrassatī格言,añña,nīti-gantha-saṅgaho,
-34,e1008n.nrf,"",Cāṇakyanītipāḷi,Cāṇakya格言,añña,nīti-gantha-saṅgaho,
-35,e1009n.nrf,"",Naradakkhadīpanī,能幹者燈釋,añña,nīti-gantha-saṅgaho,
-36,e1101n.nrf,"",Rasavāhinī,趣味故事,añña,pakiṇṇaka-gantha-saṅgaho,
-37,e1102n.nrf,"",Sīmavisodhanī,邊際清靜,añña,pakiṇṇaka-gantha-saṅgaho,
-38,e1103n.nrf,"",Vessantarāgīti,民间格言,añña,pakiṇṇaka-gantha-saṅgaho,
-39,e0901n.nrf,"",Dīghanikāye,長部,añña,saṅgayana-puccha vissajjanā,
-40,e0902n.nrf,"",Majjhimanikāya,中部,añña,saṅgayana-puccha vissajjanā,
-41,e0903n.nrf,"",Saṃyuttanikāye,相應部,añña,saṅgayana-puccha vissajjanā,
-42,e0904n.nrf,"",Aṅguttaranikāye,增支部,añña,saṅgayana-puccha vissajjanā,
-43,e0905n.nrf,"",Vinayapiṭaka,律藏,añña,saṅgayana-puccha vissajjanā,
-44,e0906n.nrf,"",Abhidhammapiṭaka,論藏,añña,saṅgayana-puccha vissajjanā,
-45,e0907n.nrf,"",Aṭṭhakathā,義註,añña,saṅgayana-puccha vissajjanā,
-46,e1210n.nrf,"",Milidaṭīkā,彌林達問經複註,añña,sihaḷa-gantha-saṅgaho,
-47,e1211n.nrf,"",Padamañjarī,句寶函,añña,sihaḷa-gantha-saṅgaho,
-48,e1212n.nrf,"",Padasādhanaṃ,造句,añña,sihaḷa-gantha-saṅgaho,
-49,e1213n.nrf,"",Saddabindu pakaraṇaṃ,論語法點滴,añña,sihaḷa-gantha-saṅgaho,
-50,e1214n.nrf,"",Kaccāyana dhātu mañjūsā,咖吒亞那詞根集,añña,sihaḷa-gantha-saṅgaho,
-51,e1215n.nrf,"",Samantakūṭavaṇṇanā,普峰讚語,añña,sihaḷa-gantha-saṅgaho,
-52,e1201n.nrf,"",Vuttisametā,習性相關,añña,sihaḷa-gantha-saṅgaho,
-53,e1202n.nrf,"",Thupavaṃso,塔史,añña,sihaḷa-gantha-saṅgaho,
-54,e1203n.nrf,"",Dāṭhāvaṃso,佛牙傳承,añña,sihaḷa-gantha-saṅgaho,
-55,e1204n.nrf,"",Dhātupāṭha vilāsiniyā,舍利誦之光輝,añña,sihaḷa-gantha-saṅgaho,
-56,e1205n.nrf,"",Dhātuvaṃso,舍利傳承,añña,sihaḷa-gantha-saṅgaho,
-57,e1206n.nrf,"",Hatthavanagallavihāra vaṃso,手林洞寺史,añña,sihaḷa-gantha-saṅgaho,
-58,e1207n.nrf,"",Jinacaritaya,勝者所行,añña,sihaḷa-gantha-saṅgaho,
-59,e1208n.nrf,"",Jinavaṃsadīpaṃ,勝族明燈,añña,sihaḷa-gantha-saṅgaho,
-60,e1209n.nrf,"",Telakaṭāhagāthā,油壺偈,añña,sihaḷa-gantha-saṅgaho,
-61,e0701n.nrf,"",Cūḷaganthavaṃsapāḷi,小史,añña,vaṃsa-gantha-saṅgaho,
-62,e0702n.nrf,"",Sāsanavaṃsappadīpikā,教史,añña,vaṃsa-gantha-saṅgaho,
-63,e0703n.nrf,"",Mahāvaṃsapāḷi,大史,añña,vaṃsa-gantha-saṅgaho,
-64,e0101n.mul,"",Visuddhimaggo(Paṭhamo bhāgo),清淨之道-1,añña,visddhimaga,
-65,e0102n.mul,"",Visuddhimaggo(Dutiyo bhāgo),清淨之道-2,añña,visddhimaga,
-66,e0103n.att,"",Visuddhimagga-mahāṭīkā(Paṭhamo bhāgo),清淨之道-大複註-1,añña,visddhimaga,
-67,e0104n.att,"",Visuddhimagga-mahāṭīkā(Dutiyo bhāgo),清淨之道-大複註-2,añña,visddhimaga,
-68,e0105n.nrf,"",Visuddhimagga nidānakathā,清淨之道-序論,añña,visddhimaga,
-69,abh03m8.mul,"",Paṭṭhānapāḷi(Dutiyo bhāgo),發趣論二,abhidhamma,mūla,
-70,abh03m9.mul,"",Paṭṭhānapāḷi(Tatiyo bhāgo),發趣論三,abhidhamma,mūla,
-71,abh03m10.mul,"",Paṭṭhānapāḷi(Catuttho bhāgo),發趣論四,abhidhamma,mūla,
-72,abh03m11.mul,"",Paṭṭhānapāḷi(Pañcamo bhāgo),發趣論五,abhidhamma,mūla,
-73,abh01m.mul,"",Dhammasaṅgaṇīpāḷi,法集論-本母,abhidhamma,mūla,
-74,abh02m.mul,"",Vibhaṅgapāḷi,分別論-本母,abhidhamma,mūla,
-75,abh03m1.mul,"",Dhātukathāpāḷi,界論,abhidhamma,mūla,
-76,abh03m2.mul,"",Puggalapaññattipāḷi,人施設論,abhidhamma,mūla,
-77,abh03m3.mul,"",Kathāvatthupāḷi,論事,abhidhamma,mūla,
-78,abh03m4.mul,"",Yamakapāḷi (paṭhamo bhāgo),雙論一,abhidhamma,mūla,
-79,abh03m5.mul,"",Yamakapāḷi (dutiyo bhāgo),雙論二,abhidhamma,mūla,
-80,abh03m6.mul,"",Yamakapāḷi (tatiyo bhāgo),雙論三,abhidhamma,mūla,
-81,abh03m7.mul,"",Paṭṭhānapāḷi(Paṭhamo bhāgo),發趣論一,abhidhamma,mūla,
-82,s0404m3.mul,"",Dasakanipātapāḷi,十集-本母,sutta,mūla,aṅguttara
-83,s0404m4.mul,"",Ekādasakanipātapāḷi,十一集-本母,sutta,mūla,aṅguttara
-84,s0401m.mul,done,Ekakanipātapāḷi,一集-本母,sutta,mūla,aṅguttara
-85,s0402m1.mul,done,Dukanipātapāḷi,二集-本母,sutta,mūla,aṅguttara
-86,s0402m2.mul,done,Tikanipātapāḷi,三集-本母,sutta,mūla,aṅguttara
-87,s0402m3.mul,done,Catukkanipātapāḷi,四集-本母,sutta,mūla,aṅguttara
-88,s0403m1.mul,"",Pañcakanipātapāḷi,五集-本母,sutta,mūla,aṅguttara
-89,s0403m2.mul,"",Chakkanipātapāḷi,六集-本母,sutta,mūla,aṅguttara
-90,s0403m3.mul,"",Sattakanipātapāḷi,七集-本母,sutta,mūla,aṅguttara
-91,s0404m1.mul,"",Aṭṭhakanipātapāḷi,八集-本母,sutta,mūla,aṅguttara
-92,s0404m2.mul,"",Navakanipātapāḷi,九集-本母,sutta,mūla,aṅguttara
-93,s0101m.mul,done,Sīlakkhandhavaggapāḷi,戒蘊品-本母,sutta,mūla,dīgha
-94,s0102m.mul,done,Mahāvaggapāḷi,大品-本母,sutta,mūla,dīgha
-95,s0103m.mul,done,Pāthikavaggapāḷi,巴提咖品-本母,sutta,mūla,dīgha
-96,abh01a.att,"",Dhammasaṅgaṇī-aṭṭhakathā,法集論-義註,abhidhamma,aṭṭhakathā,
-97,abh02a.att,"",Vibhaṅga-aṭṭhakathā,去除愚癡(分別論-義註),abhidhamma,aṭṭhakathā,
-98,abh03a.att,"",Pañcapakaraṇa-aṭṭhakathā,五部論註,abhidhamma,aṭṭhakathā,
-99,s0401a.att,done,Ekakanipāta-aṭṭhakathā,一集-義註,sutta,aṭṭhakathā,aṅguttara
-100,s0402a.att,"",Dukanipāta-aṭṭhakathā,貳~肆集-義註,sutta,aṭṭhakathā,aṅguttara
-101,s0403a.att,"",Pañcakanipāta-aṭṭhakathā,伍~柒集-義註,sutta,aṭṭhakathā,aṅguttara
-102,s0404a.att,"",Aṭṭhakanipāta-aṭṭhakathā,八~十一集-義註,sutta,aṭṭhakathā,aṅguttara
-103,s0101a.att,done,Sīlakkhandhavaggaṭṭhakathā,戒蘊品-義註,sutta,aṭṭhakathā,dīgha
-104,s0102a.att,done,Mahāvaggaṭṭhakathā,大品-義註,sutta,aṭṭhakathā,dīgha
-105,s0103a.att,done,Pāthikavaggaṭṭhakathā,巴提咖品-義註,sutta,aṭṭhakathā,dīgha
-106,s0509a.att,"",Therīgāthā-aṭṭhakathā,長老尼偈-義註,sutta,aṭṭhakathā,khuddaka
-107,s0510a.att,"",Apadāna-aṭṭhakathā(Paṭhamo bhāgo),長老傳記-義註,sutta,aṭṭhakathā,khuddaka
-108,s0511a.att,"",Buddhavaṃsa-aṭṭhakathā,佛種姓-義註,sutta,aṭṭhakathā,khuddaka
-109,s0512a.att,"",Cariyāpiṭaka-aṭṭhakathā,所行藏-義註,sutta,aṭṭhakathā,khuddaka
-110,s0513a1.att,"",Jātaka-aṭṭhakathā(Paṭhamo bhāgo),本生一-義註(第1集),sutta,aṭṭhakathā,khuddaka
-111,s0513a2.att,"",Jātaka-aṭṭhakathā(Dutiyo bhāgo),本生二-義註(第2-3集),sutta,aṭṭhakathā,khuddaka
-112,s0513a3.att,"",Jātaka-aṭṭhakathā(Tatiyo bhāgo),本生三-義註(第4-9集),sutta,aṭṭhakathā,khuddaka
-113,s0513a4.att,"",Jātaka-aṭṭhakathā(Catuttho bhāgo),本生四-義註(第10-16集),sutta,aṭṭhakathā,khuddaka
-114,s0514a1.att,"",Jātaka-aṭṭhakathā(Pañcamo bhāgo),本生五-義註(第17-21集),sutta,aṭṭhakathā,khuddaka
-115,s0514a2.att,"",Jātaka-aṭṭhakathā(Chaṭṭho bhāgo),本生六-義註(第22集上),sutta,aṭṭhakathā,khuddaka
-116,s0501a.att,"",Khuddakapāṭha-aṭṭhakathā,小誦-義註,sutta,aṭṭhakathā,khuddaka
-117,s0514a3.att,"",Jātaka-aṭṭhakathā(Sattamo bhāgo),本生七-義註(第22集下),sutta,aṭṭhakathā,khuddaka
-118,s0515a.att,"",Mahāniddesa-aṭṭhakathā,大義釋-義註,sutta,aṭṭhakathā,khuddaka
-119,s0516a.att,"",Cūḷaniddesa-aṭṭhakathā,小義釋-義註,sutta,aṭṭhakathā,khuddaka
-120,s0517a.att,"",Paṭisambhidāmagga-aṭṭhakathā(Paṭhamo bhāgo),無礙解道-義註,sutta,aṭṭhakathā,khuddaka
-121,s0519a.att,"",Nettippakaraṇa-aṭṭhakathā,導論-義註,sutta,aṭṭhakathā,khuddaka
-122,s0502a.att,"",Dhammapada-aṭṭhakathā,法句-義註,sutta,aṭṭhakathā,khuddaka
-123,s0503a.att,"",Udāna-aṭṭhakathā,自說-義註,sutta,aṭṭhakathā,khuddaka
-124,s0504a.att,"",Itivuttaka-aṭṭhakathā,如是語-義註,sutta,aṭṭhakathā,khuddaka
-125,s0505a.att,"",Suttanipāta-aṭṭhakathā,經集-義註,sutta,aṭṭhakathā,khuddaka
-126,s0506a.att,"",Vimānavatthu-aṭṭhakathā,天宮故事-義註,sutta,aṭṭhakathā,khuddaka
-127,s0507a.att,"",Petavatthu-aṭṭhakathā,鬼故事-義註,sutta,aṭṭhakathā,khuddaka
-128,s0508a1.att,"",Theragāthā-aṭṭhakathā(Paṭhamo bhāgo),長老偈一-義註,sutta,aṭṭhakathā,khuddaka
-129,s0508a2.att,"",Theragāthā-aṭṭhakathā(Dutiyo bhāgo),長老偈二-義註,sutta,aṭṭhakathā,khuddaka
-130,s0201a.att,done,Mūlapaṇṇāsa-aṭṭhakathā,根本五十經-義註,sutta,aṭṭhakathā,majjhima
-131,s0202a.att,done,Majjhimapaṇṇāsa-aṭṭhakathā,中五十經-義註,sutta,aṭṭhakathā,majjhima
-132,s0203a.att,done,Uparipaṇṇāsa-aṭṭhakathā,後五十經-義註,sutta,aṭṭhakathā,majjhima
-133,s0301a.att,done,Sagāthāvagga-aṭṭhakathā,有偈品-義註,sutta,aṭṭhakathā,saṃyutta
-134,s0302a.att,done,Nidānavagga-aṭṭhakathā,因緣品-義註,sutta,aṭṭhakathā,saṃyutta
-135,s0303a.att,done,Khandhavagga-aṭṭhakathā,蘊品-義註,sutta,aṭṭhakathā,saṃyutta
-136,s0304a.att,done,Saḷāyatanavagga-aṭṭhakathā,六處品-義註,sutta,aṭṭhakathā,saṃyutta
-137,s0305a.att,done,Mahāvagga-aṭṭhakathā,大品-義註,sutta,aṭṭhakathā,saṃyutta
-138,vin01a.att,"",Pārājikakaṇḍa-aṭṭhakathā (paṭhamo bhāgo),普端嚴(巴拉基咖-義註),vinaya,aṭṭhakathā,
-139,vin02a1.att,"",Pācittiya-aṭṭhakathā,普端嚴(巴吉蒂亞-義註),vinaya,aṭṭhakathā,
-140,vin02a2.att,"",Mahāvagga-aṭṭhakathā,普端嚴(大品-義註),vinaya,aṭṭhakathā,
-141,vin02a3.att,"",Cūḷavagga-aṭṭhakathā,普端嚴(小品-義註),vinaya,aṭṭhakathā,
-142,vin02a4.att,"",Parivāra-aṭṭhakathā,普端嚴(附隨-義註),vinaya,aṭṭhakathā,
-143,s0510m1.mul,"",Therāpadānapāḷi(Paṭhamo bhāgo),長老傳記1-本母,sutta,mūla,khuddaka
-144,s0510m2.mul,"",Therāpadānapāḷi(Dutiyo bhāgo),長老傳記2-本母,sutta,mūla,khuddaka
-145,s0511m.mul,"",Buddhavaṃsapāḷi,佛種姓-本母,sutta,mūla,khuddaka
-146,s0512m.mul,"",Cariyāpiṭakapāḷi,所行藏-本母,sutta,mūla,khuddaka
-147,s0514m.mul,"",Jātakapāḷi(Dutiyo bhāgo),本生(第二卷17-22集),sutta,mūla,khuddaka
-148,s0513m.mul,"",Jātakapāḷi(Paṭhamo bhāgo),本生(第一卷1-16集),sutta,mūla,khuddaka
-149,s0515m.mul,"",Mahāniddesapāḷi,大義釋-本母,sutta,mūla,khuddaka
-150,s0516m.mul,"",Cūḷaniddesapāḷi,小義釋-本母,sutta,mūla,khuddaka
-151,s0517m.mul,"",Paṭisambhidāmaggapāḷi,無礙解道-本母,sutta,mūla,khuddaka
-152,s0518m.nrf,"",Milindapañhapāḷi,導論-本母,sutta,mūla,khuddaka
-153,s0519m.mul,"",Nettippakaraṇapāḷi,彌林達問經-本母,sutta,mūla,khuddaka
-154,s0501m.mul,"",Khuddakapāṭhapāḷi,小誦-本母,sutta,mūla,khuddaka
-155,s0520m.nrf,"",Peṭakopadesapāḷi,藏釋-本母,sutta,mūla,khuddaka
-156,s0502m.mul,"",Dhammapadapāḷi,法句-本母,sutta,mūla,khuddaka
-157,s0503m.mul,"",Udānapāḷi,自說-本母,sutta,mūla,khuddaka
-158,s0504m.mul,"",Itivuttakapāḷi,如是語-本母,sutta,mūla,khuddaka
-159,s0505m.mul,"",Suttanipātapāḷi,經集-本母,sutta,mūla,khuddaka
-160,s0506m.mul,"",Vimānavatthupāḷi,天宮故事-本母,sutta,mūla,khuddaka
-161,s0507m.mul,"",Petavatthupāḷi,鬼故事-本母,sutta,mūla,khuddaka
-162,s0508m.mul,"",Theragāthāpāḷi,長老偈-本母,sutta,mūla,khuddaka
-163,s0509m.mul,"",Therīgāthāpāḷi,長老尼偈-本母,sutta,mūla,khuddaka
-164,s0201m.mul,done,Mūlapaṇṇāsapāḷi,根本五十經-本母,sutta,mūla,majjhima
-165,s0202m.mul,done,Majjhimapaṇṇāsapāḷi,中五十經-本母,sutta,mūla,majjhima
-166,s0203m.mul,done,Uparipaṇṇāsapāḷi,後五十經-本母,sutta,mūla,majjhima
-167,s0301m.mul,done,Sagāthāvaggo,有偈品-本母,sutta,mūla,saṃyutta
-168,s0302m.mul,done,Nidānavaggo,因緣品-本母,sutta,mūla,saṃyutta
-169,s0303m.mul,done,Khandhavaggo,蘊品-本母,sutta,mūla,saṃyutta
-170,s0304m.mul,done,Saḷāyatanavaggo,六處品-本母,sutta,mūla,saṃyutta
-171,s0305m.mul,done,Mahāvaggo,大品-本母,sutta,mūla,saṃyutta
-172,abh01t.tik,"",Dhammasaṅgaṇī-mūlaṭīkā,法集論-根本複註,abhidhamma,ṭīkā,
-173,abh02t.tik,"",Vibhaṅga-mūlaṭīkā,分別論-根本複註,abhidhamma,ṭīkā,
-174,abh03t.tik,"",Pañcapakaraṇa-mūlaṭīkā,五部論-根本複註,abhidhamma,ṭīkā,
-175,abh04t.nrf,"",Dhammasaṅgaṇī-anuṭīkā,法集論-再複註,abhidhamma,ṭīkā,
-176,abh05t.nrf,"",Pañcapakaraṇa-anuṭīkā,五部論-再複註,abhidhamma,ṭīkā,
-177,abh06t.nrf,"",Ganthārambhakathā,入阿毗達摩論、名色差別論,abhidhamma,ṭīkā,
-178,abh07t.nrf,"",Abhidhammatthasaṅgaho,高深法義集要,abhidhamma,ṭīkā,
-179,abh08t.nrf,"",Paṭhamo paricchedo,入阿毗達摩論舊、新複註,abhidhamma,ṭīkā,
-180,abh09t.nrf,"",Abhidhammamātikāpāḷi,阿毗達摩論母,abhidhamma,ṭīkā,
-181,s0401t.tik,done,Ekakanipāta-ṭīkā,一集-複註,sutta,ṭīkā,aṅguttara
-182,s0402t.tik,"",Dukanipāta-ṭīkā,貳~肆集-複註,sutta,ṭīkā,aṅguttara
-183,s0403t.tik,"",Pañcakanipāta-ṭīkā,伍~柒集-複註,sutta,ṭīkā,aṅguttara
-184,s0404t.tik,"",Aṭṭhakanipāta-ṭīkā,八~十一集-複註,sutta,ṭīkā,aṅguttara
-185,s0101t.tik,done,Sīlakkhandhavaggaṭīkā,戒蘊品-複註,sutta,ṭīkā,dīgha
-186,s0102t.tik,done,Mahāvaggaṭīkā,大品-複註,sutta,ṭīkā,dīgha
-187,s0103t.tik,done,Pāthikavaggaṭīkā,巴提咖品-複註,sutta,ṭīkā,dīgha
-188,s0104t.nrf,done,Sīlakkhandhavaggaabhinavaṭīkā,戒蘊品新複註(一),sutta,ṭīkā,dīgha
-189,s0105t.nrf,done,Sīlakkhandhavaggaabhinavaṭīkā,戒蘊品新複註(二),sutta,ṭīkā,dīgha
-190,s0519t.tik,"",Nettippakaraṇa-ṭīkā,導論-複註,sutta,ṭīkā,khuddaka
-191,s0501t.nrf,"",Nettivibhāvinī,導明釋-複註,sutta,ṭīkā,khuddaka
-192,s0201t.tik,done,Mūlapaṇṇāsa-ṭīkā,根本五十經-複註,sutta,ṭīkā,majjhima
-193,s0202t.tik,done,Majjhimapaṇṇāsaṭīkā,中五十經-複註,sutta,ṭīkā,majjhima
-194,s0203t.tik,done,Uparipaṇṇāsa-ṭīkā,後五十經-複註,sutta,ṭīkā,majjhima
-195,s0301t.tik,done,Sagāthāvaggaṭīkā,有偈品-複註,sutta,ṭīkā,saṃyutta
-196,s0302t.tik,done,Nidānavaggaṭīkā,因緣品-複註,sutta,ṭīkā,saṃyutta
-197,s0303t.tik,done,Khandhavaggaṭīkā,蘊品-複註,sutta,ṭīkā,saṃyutta
-198,s0304t.tik,done,Saḷāyatanavaggaṭīkā,六處品-複註,sutta,ṭīkā,saṃyutta
-199,s0305t.tik,done,Mahāvaggaṭīkā,大品-複註,sutta,ṭīkā,saṃyutta
-200,vin10t.nrf,"",Vinayavinicchayo,律裁定、上裁定,vinaya,ṭīkā,
-201,vin11t.nrf,"",Vinayavinicchayaṭīkā(Paṭhamo bhāgo),律裁定複註,vinaya,ṭīkā,
-202,vin12t.nrf,"",Pācityādiyojanā,巴吉蒂亞解說(巴吉蒂亞-複註),vinaya,ṭīkā,
-203,vin13t.nrf,"",Khuddasikkhā-mūlasikkhā,小學,根本學複註,vinaya,ṭīkā,
-204,vin01t1.tik,"",Sāratthadīpanī-ṭīkā (paṭhamo bhāgo),心義燈一,vinaya,ṭīkā,
-205,vin01t2.tik,"",Sāratthadīpanī-ṭīkā (dutiyo bhāgo),心義燈二(巴拉基咖-複註),vinaya,ṭīkā,
-206,vin02t.tik,"",Sāratthadīpanī-ṭīkā (tatiyo bhāgo),心義燈三(巴吉蒂亞-複註),vinaya,ṭīkā,
-207,vin04t.nrf,"",Bhikkhupātimokkhapāḷi,疑惑度脫(巴蒂摩卡-複註),vinaya,ṭīkā,
-208,vin05t.nrf,"",Vinayasaṅgaha-aṭṭhakathā,律攝,vinaya,ṭīkā,
-209,vin06t.nrf,"",Vajirabuddhi-ṭīkā,金剛覺,vinaya,ṭīkā,
-210,vin07t.nrf,"",Vimativinodanī-ṭīkā (paṭhamo bhāgo),疑惑解除,vinaya,ṭīkā,
-211,vin08t.nrf,"",Vinayālaṅkāra-ṭīkā (paṭhamo bhāgo),律莊嚴,vinaya,ṭīkā,
-212,vin09t.nrf,"",Kaṅkhāvitaraṇīpurāṇa-ṭīkā,疑惑度脫古複註(巴蒂摩卡-註),vinaya,ṭīkā,
-213,vin01m.mul,"",Pārājikapāḷi,巴拉基咖-本母,vinaya,mūla,
-214,vin02m1.mul,"",Pācittiyapāḷi,巴吉蒂亞-本母,vinaya,mūla,
-215,vin02m2.mul,"",Mahāvaggapāḷi,大品-本母,vinaya,mūla,
-216,vin02m3.mul,"",Cūḷavaggapāḷi,小品-本母,vinaya,mūla,
-217,vin02m4.mul,"",Parivārapāḷi,附隨-本母,vinaya,mūla,

+ 0 - 79
documents/development/issues-20-12-31.md

@@ -1,79 +0,0 @@
-# 使用反馈回复
-
-我会按照顺序,但不一定引用原文。没有提及的部分就是同意,没有疑问的。
-
-先说一个前提。忙乎了一年,我终于对栏目设置比较满意。其余都是探索。很多是功能或物件是临时放在那里(因为上课要用),等有灵感的时候再来修改。所以你觉得不满意的,基本上也都是我们不满意的。所以你有灵感的话,可以不必考虑目前的设计,直接给我设计图。
-
-## library 的首要目标
-
-你的意思是不是将现有的译文放到数据库中?
-如果是的话,这个我一直很犹豫。放到数据库中是很好的,会有很多人用。但是工作量挺大。其他的网站大多是以经为单位呈现。所以文本处理工作量不大。我们以句子或段落为最小单元。工作量有点大。不知道该怎么弄。
-
-1. 雇人
-2. 做个比较好用的导入工具,让有时间的义工来做。
-3. ?
-
-## 课程安排流程化
-
-我也是在考虑,能够代替微信群,课程功能才有价值。毕竟我们不是视频网站。别人直接关注 youtube 更方便。把 youtube 嵌入 wikipali 播放的时候还没有中断位置记忆功能,其实不太方便。
-之前有设计“关注”按钮。但是还没有实现。如果你有比较好的信息强化方案,可以一起讨论。
-补充问题:
-课程首页是一大堆的课程列表,如果很多的话显得乱。对于视频网站而言,有不同的封面区分不同的视频。佛教上课视频不是高僧头像,就是演示文稿。区别不明显。如何能让使用者容易的找到想要看到的内容呢?
-也许需要增加分类(巴利语,戒律,故事,阿毗达摩 等等),或标签过滤。
-
-## library 与 studio 的交互
-
-这个是个挺头疼的问题。从雨安居一开始,我就开始设计新的结构。主要就是要解决两者的定位和交互。
-我的设计思路(可能目前实现的不够好)
-
-1. library 是资料仓库——最多人使用的模块——设计理念:尽量容易上手
-2. studio 资料工厂 ——力求功能全面(当然也不能太难用)
-   两个模块的分界线:可编辑——不可编辑
-   有一个例外:译文编辑
-
-**交互:**
-
-1. 在 studio 里有几个地方有预览按钮,可跳转到 library
-2. 在 library 里有几个(目前是两个)地方有编辑按钮可打开 studio
-
-## 文集使用者的体验
-
-**主次页面调整**
-建议
-如果作者使用缩进来放置义注
-渲染的时候会
-<nt>
-义注块
-</nt>
-可以利用这个来调整样式,比如用气泡或是能够跟原文区分的样式。
-你可以先不必照顾目前的句子块 html 代码。直接用你希望的方式设计。我们讨论了之后我会修改 html 代码。我觉得这个部分是 library 的核心。
-
-**其他想法:**
-引用路径挺有用,可是有时觉得很碍事,啰嗦。如何能够招之即来挥之即去?
-句子块的功能菜单我不知该怎么处理。
-
-**不使用或未完成物件:**
-我建议的处理方式是用 disable 状态——灰色
-因为我是形象思维模式,放在那里有助于思考改进方案。物件没了就没思路了。
-
-**文集的操作方式过于复杂**
-我想可以先讨论那些功能保留,那些功能是没有必要的。然后我们确定如何操作。
-
-## 更详细的课程资讯设定
-
-在后台的课程录入里面有详细字段,你看看是不是你说的内容。在 studio->lesson(圣书院) 新建一个课程 然后再新建一节课,就能看到。
-
-## 个人浅见:
-
-已经不浅了。很详细。
-收到你的使用反馈之前,我就跟 kosalla 达成共识。已经没有要增加的功能了。明年我只是修改 bug,完成尚未完成的部分而已。
-之所以你看到很多不完善的功能是有一个原因。
-之前我在公司做程序员的时候,拿给我的是完整的策划案。后来也做策划,一般都是先做好策划案,跟其他人讨论修改,定稿后再编程序和做界面图。
-这个案子很特别。大部分功能是一点一点想出来的。有些是上课发现有不足,临时加的功能。
-还有一个重要的原因。我比较喜欢总分的思维模式。先有整体思路,再进行细化。所以就先搭好一个框架。慢慢打磨。明年就是慢慢打磨的工作。估计还得磨挺长时间。
-雨安居结束的时候,终于解决了最后一个设计问题也是技术问题。就是 studio 做好的东西如何发布到网上。从那时起我终于对架构比较满意了。之前一直不满意。
-
-不算太长,你就以自己习惯的方式表达就好。没听明白我会问的。不必担心。
-
-今天是今年的最后一天。
-祝愿你和 candima 健康快乐,一切顺利。

+ 0 - 49
documents/development/join_us.md

@@ -1,49 +0,0 @@
-# 我们热诚的欢迎您加入我们的开发团队
-
-
-如果您熟悉并想参与以下的工作,请发邮件到:
-
-我们的项目采用**Github**作为协作平台进行自由合作。请您自行注册账号。项目使用**复刻(Fork)->提交请求(Pull Request)** 的工作模式来将您所做的修改提交至原代码库(**上游upstream**)。虽然不能保证所有的修改都会被采纳。但是您有权发布您自己修改过的代码。
-
-## 用户体验
-### 工作内容
-- 使用户界面更加美观
-- 设计友好的人机交互方式
-### 技能需求
-- 网站或软件美术设计经验
-- 网站或软件策划经验
-
-## 程序设计
-## 前端
-### 工作内容
-- 浏览器端程序设计
-### 技能需求
-- 会用TS开发前端程序
-
-## 后端
-### 工作内容
-- 服务器端程序设计
-### 技能需求
-- linux
-- Rust
-- GraphQL
-
-## 本地化
-### 工作内容
-- 平台的用户界面(UI)的本地化
-### 技能需求
-- 熟悉英语或汉语的其中一种
-- 除了上述语言外,应再熟练掌握另一门语言(本地化的目标语言)。比如:您想做一个平台的法语版。您应该能阅读并正确理解英文或中文版的UI文字内容。然后翻译为法语。
-
-## 功能测试
-### 工作内容
-- 根据Issue测试网站的功能是否符合设计要求,或是已知Bug是否被修改。
-- 通过使用找出新的bug或设计缺陷
-- 提出功能修改建议
-
-### 技能需求
-- 能以英语或中文提出自己的意见和建议
-
-
-## 参考链接
-[Demo 功能演示版编程参考](../../app/README.md)

+ 0 - 86
documents/development/toc_error.csv

@@ -1,86 +0,0 @@
-status,book,para,level,change,title
-ok,93,,,,Sīlakkhandhavaggapāḷi
-,103,5,3,subsubhead,Ganthārambhakathā
-,103,38,3,subsubhead,Nidānakathā
-,103,40,3,subhead,Paṭhamamahāsaṅgītikathā
-"",185,74,2,subsubhead,Nidānakathāvaṇṇanā
-add,185,75,3,bodytext,(empty)
-"",185,76,3,subhead,Paṭhamamahāsaṅgītikathāvaṇṇanā
-"",188,147,2,subsubhead,Nidānakathāvaṇṇanā
-"",188,150,3,subhead,Paṭhamamahāsaṅgītikathāvaṇṇanā
-add,188,148,3,bodytext,(empty)
-"",189,4,100,title,(Dutiyo bhāgo)
-"",186,1205,3,subhead,Uddesavārakathāvaṇṇanā
-"",130,6,3,subsubhead,Ganthārambhakathā
-"",130,39,3,subsubhead,Nidānakathā
-"",130,727,4,bodytext,(empty)
-"",192,6,3,subsubhead,Ganthārambhakathāvaṇṇanā
-"",192,77,3,subsubhead,Nidānakathāvaṇṇanā
-"",11,3,3,subsubhead,Ganthārambhakathā
-"",15,3,3,subsubhead,Ganthārambhakathā
-"",19,5,4,subsubhead,Ganthārambhakathā
-"",66,4,3,subsubhead,Ganthārambhakathā
-"",96,5,3,subsubhead,Ganthārambhakathā
-"",99,4,3,subsubhead,Ganthārambhakathā
-"",103,5,3,subsubhead,Ganthārambhakathā
-"",107,5,3,subsubhead,Ganthārambhakathā
-"",108,4,3,subsubhead,Ganthārambhakathā
-"",109,4,3,subsubhead,Ganthārambhakathā
-"",110,5,3,subsubhead,Ganthārambhakathā
-"",118,4,3,subsubhead,Ganthārambhakathā
-"",120,5,3,subsubhead,Ganthārambhakathā
-"",121,4,3,subsubhead,Ganthārambhakathā
-"",126,4,3,subsubhead,Ganthārambhakathā
-"",127,4,3,subsubhead,Ganthārambhakathā
-"",128,5,3,subsubhead,Ganthārambhakathā
-"",130,6,3,subsubhead,Ganthārambhakathā
-"",133,5,3,subsubhead,Ganthārambhakathā
-"",138,4,3,subsubhead,Ganthārambhakathā
-"",178,3,3,subsubhead,Ganthārambhakathā
-"",178,876,3,subsubhead,Ganthārambhakathā
-"",179,874,3,subsubhead,Ganthārambhakathā
-"",180,1222,3,subsubhead,Ganthārambhakathā
-"",181,4,3,subsubhead,Ganthārambhakathā
-"",188,4,3,subsubhead,Ganthārambhakathā
-"",191,4,3,subsubhead,Ganthārambhakathā
-"",200,3,3,subsubhead,Ganthārambhakathā
-"",200,10177,3,subsubhead,Ganthārambhakathā
-"",201,4,3,subsubhead,Ganthārambhakathā
-"",203,4,3,subsubhead,Ganthārambhakathā
-"",203,1621,3,subsubhead,Ganthārambhakathā
-"",203,2362,3,subsubhead,Ganthārambhakathā
-"",203,3101,3,subsubhead,Ganthārambhakathā
-"",203,3482,3,subsubhead,Ganthārambhakathā
-"",204,4,3,subsubhead,Ganthārambhakathā
-"",207,1216,3,subsubhead,Ganthārambhakathā
-"",209,4,3,subsubhead,Ganthārambhakathā
-"",210,4,3,subsubhead,Ganthārambhakathā
-"",211,4,3,subsubhead,Ganthārambhakathā
-"",212,3,3,subsubhead,Ganthārambhakathā
-"",212,672,3,subsubhead,Ganthārambhakathā
-"",178,887,3,subsubhead,Ganthārambhakathāvaṇṇanā
-"",181,49,3,subsubhead,Ganthārambhakathāvaṇṇanā
-"",185,4,3,subsubhead,Ganthārambhakathāvaṇṇanā
-"",188,25,3,subsubhead,Ganthārambhakathāvaṇṇanā
-"",190,4,3,subsubhead,Ganthārambhakathāvaṇṇanā
-"",192,6,3,subsubhead,Ganthārambhakathāvaṇṇanā
-"",195,5,3,subsubhead,Ganthārambhakathāvaṇṇanā
-"",201,100,3,subsubhead,Ganthārambhakathāvaṇṇanā
-"",201,4271,3,subsubhead,Ganthārambhakathāvaṇṇanā
-"",203,1632,3,subsubhead,Ganthārambhakathāvaṇṇanā
-"",203,2373,3,subsubhead,Ganthārambhakathāvaṇṇanā
-"",203,3487,3,subsubhead,Ganthārambhakathāvaṇṇanā
-"",209,40,3,subsubhead,Ganthārambhakathāvaṇṇanā
-"",181,562,3,subhead,(14) 1. Paṭhamaetadaggavaggo
-"",181,622,100,title,14. Etadaggavaggo
-"",181,623,3,subhead,(14) 2. Dutiyaetadaggavaggavaṇṇanā
-"",181,656,100,title,14. Etadaggavaggo
-"",181,657,3,subhead,(14) 3. Tatiyaetadaggavaggavaṇṇanā
-"",181,717,100,title,14. Etadaggavaggo
-"",181,718,3,subhead,(14) 4. Catutthaetadaggavaggavaṇṇanā
-"",181,773,100,title,14. Etadaggavaggo
-"",181,774,3,subhead,(14) 5. Pañcamaetadaggavaggavaṇṇanā
-"",181,825,100,title,14. Etadaggavaggo
-"",181,826,3,subhead,(14) 6. Chaṭṭhaetadaggavaggavaṇṇanā
-"",181,861,100,title,14. Etadaggavaggo
-"",181,862,3,subhead,(14) 7. Sattamaetadaggavaggavaṇṇanā

+ 0 - 0
documents/dev_log.md → documents/log/dev_log.md


+ 0 - 5
documents/pali_stepbystep/zh/1.md

@@ -1,5 +0,0 @@
-# 前置条件
-
-# 开始
-
-# 目标

+ 0 - 3
documents/pali_stepbystep/zh/10.md

@@ -1,3 +0,0 @@
-# 前置条件
-
-# 开始

+ 0 - 3
documents/pali_stepbystep/zh/100.md

@@ -1,3 +0,0 @@
-# 前置条件
-
-# 开始

+ 0 - 3
documents/pali_stepbystep/zh/1000.md

@@ -1,3 +0,0 @@
-# 前置条件
-
-# 开始

+ 0 - 3
documents/pali_stepbystep/zh/10000.md

@@ -1,3 +0,0 @@
-# 前置条件
-
-# 开始

+ 0 - 29
documents/pali_stepbystep/zh/readme.md

@@ -1,29 +0,0 @@
-# 关于这个学习方法
-2018年,我在龙树林僧院的时候。中国的澄了尊者(visuddha bhikkhu)告诉我他的学习巴利语的方法。我将他的经验与这个软件结合。编写了这个学习指南。澄了尊者告诉我:他借助双拐学习巴利语。一边是菩提长老的译文,另一边是玛欣德尊者的译文。所以,我将这个方法称为拐杖学习法。
-# 这个教程适合谁?
-- 想要深入学习经典但是面对浩瀚的三藏无从下手的人
-- 学习过巴利语,但是并不能应用所学看懂经文的人
-- 希望掌握真正的翻译技能的人
-
-# 为什么你没学会阅读巴利经文?
-请注意,我没有使用“巴利语”这个字眼,而是用了“阅读巴利经文”这个词。
-
-# 这个方法的核心
-
-# 五个阶段
-
-## 第一个小时
-
-## 10小时
-
-## 100小时
-
-## 1000小时
-
-## 10000小时
-
-## 泼冷水
-
-
-# 开始上路
-**注意**:请**不要**在没有指导老师的情况下使用这个教程。你应该花大量的时间在实践上,但是这并不意味着你不需要指导老师。在初期阶段,有经验的老师能够让你少走弯路。在进阶练习阶段,老师会解除你的疑问。你应该学会查资料并独立思考,但是要避免想当然的猜测。你应该请教,以及把你的探索跟你的老师讨论。老师也会帮助你选择适合你的语料。无论你处在哪一个阶段,请教你的老师都是必要的。

+ 1 - 0
documents/zh/course.md

@@ -0,0 +1 @@
+# API

+ 61 - 0
documents/zh/database.md

@@ -0,0 +1,61 @@
+# 数据库指南
+
+## 语料库
+
+## 字典
+
+
+## 用户认证
+### userinfo
+
+#### `id`
+INTEGER 唯一自增id 
+#### `userid`
+CHAR (36)  uuid
+#### `path`
+CHAR (36) 用户在服务器上私有文件的路径
+#### `username`
+TEXT (64) 用户登录名
+#### `password`
+TEXT 密码 md5加密
+#### `nickname`
+TEXT (64) 昵称
+#### `email`
+TEXT (256) 电邮地址
+#### create_time
+INTEGER 账户建立时间
+#### `modify_time`
+INTEGER 数据修改时间
+#### `receive_time`
+INTEGER 服务器收到此数据时间
+#### `setting`
+TEXT 用户设置 json 数据
+
+### projile
+用户简历
+#### `id`
+INTEGER 唯一自增id 
+#### `user_id`
+CHAR (36)  uuid
+#### `bio`
+TEXT 
+
+## 用户字典
+
+## 逐词解析
+
+## 译文
+
+
+## 工作组
+
+
+## Channel
+
+
+## 文章
+
+
+## 权限管理
+
+

+ 39 - 0
documents/zh/palicanon.md

@@ -0,0 +1,39 @@
+# 主题:Palicanon-巴利三藏 
+
+## API
+
+### book_tag.php
+
+#### 功能
+根据输入标签,输出符合这个标签的标题
+#### 参数
+- GET
+- `tag` 以逗号分隔的标签字符串
+- `lang`  语言 如 en, zh-hans
+  
+#### rest api
+    api/palicanon/[lang]/[tag]
+
+#### 返回
+
+格式:json
+```
+[
+    {
+        book: int,
+        para: int,
+        level: int,
+        title: string,
+        progress:  int,
+        trans_title: string, 
+    }
+]
+````
+
+- `book` int 书号  范围 1-217,
+- `para` int,段落编号 
+- `level` int 目录层级 ,
+- `title` string 巴利语标题 ,
+- `progress`: int 章节译文完成度  0-100
+- `trans_title` string, 根据lang查找对应的标题 如果没有查询到 无该变量
+

+ 0 - 43
documents/傣仂文.csv

@@ -1,43 +0,0 @@
-ᨠ,ka
-ᨡ,kha
-ᨣ,ga
-ᨥ,gha
-ᨦ,ṅa
-ᨧ,ca
-ᨨ,cha
-ᨩ,ja
-ᨫ,jha
-ᨬ,ña
-ᨭ,ṭa
-ᨮ,ṭha
-ᨯ,ḍa
-ᨰ,ḍha
-ᨱ,ṅa
-ᨲ,ta
-ᨳ,tha
-ᨴ,da
-ᨵ,dha
-ᨶ,na
-ᨷ,pa
-ᨹ,pha
-ᨻ,ba
-ᨽ,bha
-ᨾ,ma
-ᨿ,ya
-ᩁ,ra
-ᩃ,la
-ᩅ,va
-ᩈ,sa
-ᩉ,ha
-ᩊ,ḷa
-独立
-ᩍ,i
-ᩎ,ī
-ᩏ,u
-ᩐ,ū
-ᩑ,e
-ᩒ,o
-
-辅音
-ᩓ,
-ᩔ,ssa

+ 0 - 18
documents/审校流程.md

@@ -1,18 +0,0 @@
-# 审校流程
-
-```mermaid
-graph LR;
-
-原始版私有--复刻-->编辑1私有库
-原始版私有--复刻-->编辑2私有库
-原始版私有--复刻-->编辑3私有库
-
-编辑1私有库 -- pr --> 润校channel
-编辑2私有库 -- pr --> 润校channel
-编辑3私有库 -- pr --> 润校channel
-
-润校channel -- 统稿人<br>merge --> 待定版
-
-待定版 -- 审稿人推送 --> IAPT正式版-公开
-
-```