diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 701a4f5..cedaed7 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -14,13 +14,10 @@ jobs:
env:
LINGDOCS_NPM_TOKEN: ${{ secrets.LINGDOCS_NPM_TOKEN }}
LINGDOCS_DICTIONARY_URL: ${{ secrets.LINGDOCS_DICTIONARY_URL }}
- strategy:
- matrix:
- node-version: [12.x, 14.x, 15.x]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
- node-version: ${{ matrix.node-version }}
+ node-version: 12
- run: yarn install
- run: yarn build
diff --git a/package.json b/package.json
index e8407a9..9b5b2fb 100644
--- a/package.json
+++ b/package.json
@@ -4,10 +4,14 @@
"private": true,
"dependencies": {
"@fortawesome/fontawesome-free": "^5.15.2",
- "@lingdocs/pashto-inflector": "^0.2.5",
+ "@lingdocs/pashto-inflector": "^0.3.3",
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.3.2",
"@testing-library/user-event": "^7.1.2",
+ "@types/jest": "^26.0.21",
+ "@types/node": "^14.14.35",
+ "@types/react": "^17.0.3",
+ "@types/react-dom": "^17.0.2",
"bootstrap": "4.5.3",
"classnames": "^2.2.6",
"react": "^17.0.1",
@@ -17,7 +21,8 @@
"react-router-hash-link": "^2.3.1",
"react-scripts": "3.4.3",
"react-scrollspy": "^3.4.3",
- "react-smooth-collapse": "^2.1.0"
+ "react-smooth-collapse": "^2.1.0",
+ "typescript": "^4.2.3"
},
"scripts": {
"start": "react-scripts start",
diff --git a/src/components/Chart.tsx b/src/components/Chart.tsx
new file mode 100644
index 0000000..aef2fc8
--- /dev/null
+++ b/src/components/Chart.tsx
@@ -0,0 +1,36 @@
+import React from "react";
+import {
+ Types as T,
+ Examples,
+} from "@lingdocs/pashto-inflector";
+
+
+function Chart({ titleRow, children, opts }: {
+ titleRow: string[] | undefined,
+ children: T.PsString[][],
+ opts: T.TextOptions,
+}) {
+ console.log(children)
+ return
+
+ {titleRow &&
+ {titleRow.map((title) => (
+ {title} |
+ ))}
+
}
+
+
+ {children.map((row) => (
+
+ {row.map((col) => (
+
+ {col}
+ |
+ ))}
+
+ ))}
+
+
;
+}
+
+export default Chart;
\ No newline at end of file
diff --git a/src/content/pronouns/pronouns-mini.mdx b/src/content/pronouns/pronouns-mini.mdx
index acf14fe..774be24 100644
--- a/src/content/pronouns/pronouns-mini.mdx
+++ b/src/content/pronouns/pronouns-mini.mdx
@@ -1,5 +1,5 @@
---
-title: Mini Pronouns
+title: Mini Pronouns 👶
---
-
import {
defaultTextOptions,
grammarUnits,
VerbTable,
+ Examples,
} from "@lingdocs/pashto-inflector";
+import bigAndLittleBrother from "../../images/big-and-little-brother.jpg";
+import Chart from "../../components/Chart";
-These are **enclitic prounouns** that hang on to the back of words. They can't be used at the beginning of a sentence.
+Mini pronouns are **enclitic prounouns** that hang on to the back of words. They can't be used at the beginning of a sentence. You can think of them as little babies 👶 that can't stand on their own. **They can't be used to start a sentence.** They always need to lean up against the back of another word.
-The can only be used as:
+
-1. The object of a non-past tense transitive verb
-2. The subject/agent of a past tense transitive verb
+Mini pronouns can only be used as one of three things:
+
+1. The object of a present/future verb
+2. The subject of a past tense transitive verb
3. A possesive pronoun
\ No newline at end of file
+/>
+
+## Examples
+
+Below are some examples of how mini pronouns can be used in the place of regular pronouns. The mini pronouns are used when you don't need a strong emphasis on the pronoun.
+
+### 1. As the object of a present/future verb
+
+{[
+ [
+ { p: "زه تا وینم", f: "zu taa weenum", e: "I see you"},
+ { p: "زه دې وینم", f: "zu de weenum", e: "I see you"},
+ ],
+ [
+ { p: "هلک ما وهي", f: "haluk maa wahee", e: "The boy's hitting me" },
+ { p: "هلک مې وهي", f: "haluk me wahee", e: "The boy's hitting me" },
+ ],
+ [
+ { p: "دوي ولې مونږ وهی؟", f: "dwee wăle moonG wahée?", e: "Why are they hitting us?" },
+ { p: "دوي ولې مو وهی؟", f: "dwee wăle mU wahée?", e: "Why are they hitting us?" },
+ ],
+]}
+
+### 2. As the subject of a past tense transitive verb
+
+{[
+ [
+ { p: "ما ډوډۍ وخوړله", f: "maa DoDuy óokhoRula", e: "I ate food"},
+ { p: "ډوډۍ مې وخوړله", f: "DoDuy me óokhoRula", e: "I ate food"},
+ ],
+ [
+ { p: "هغه واده کړی دی", f: "haghú waadu kúRey dey", e: "He's gotten married" },
+ { p: "واده یې کړی دی", f: "waadu ye kúRey dey", e: "He's gotten married" },
+ ],
+ [
+ { p: "ما ولیدې", f: "maa óoleede", e: "I saw you" },
+ { p: "ومې لیدې", f: "óo-me-leede", e: "I saw you" },
+ ],
+]}
+
+### 3. As a possesive pronoun
+
+{[
+ [
+ { p: "د هغې پلار مریض دی", f: "du haghe plaar mareez dey", e: "Her father is ill" },
+ { p: "پلار یې مریض دی", f: "plaar ye mareez dey", e: "Her father is ill" },
+ ],
+ [
+ { p: "ستاسو کار سخت دی", f: "staaso kaar sakht dey", e: "Your work is difficult" },
+ { p: "کار مو سخت دی", f: "kaar mU sakht dey", e: "Your work is difficult" },
+ ],
+ [
+ { p: "زمونږ کور په کابل کې دی", f: "zmoonG kor pu kaabul ke dey", e: "Our house is in Kabul" },
+ { p: "کور مو په کابل کې دی", f: "kor mU pu kaabul ke dey", e: "Our house is in Kabul" },
+ ],
+]}
+
+## The order of mini-pronouns
+
+In some sentences we might have more than one mini-prounoun. In these cases, it can be confusing for learners to know which pronoun has what role. For example, have a look at these sentences:
+
+{[
+ { p: "پلار مې یې وهي", f: "plaar me ye wahee" },
+]}
+
+Does this mean "My dad is hitting him" or "His dad is hitting me" ?
+
+
+ Answer:
+ It means, "."
+
+
+{[
+ { p: "کتاب مې یې ولیده", f: "kitaab me ye óoleedu" },
+]}
+
+Does this mean "He saw my book" or "I saw his book" ?
+
+
+ Answer:
+ It means, "I saw his book."
+
+
+{[
+ { p: "غږ مې دې واورېده", f: "ghuG me de wáawredu" },
+]}
+
+Does this mean "I heard your voice" or "You heard my voice" ?
+
+
+ Answer:
+ It means, "I heard your voice."
+
\ No newline at end of file
diff --git a/src/images/big-and-little-brother.jpg b/src/images/big-and-little-brother.jpg
new file mode 100644
index 0000000..36c4257
Binary files /dev/null and b/src/images/big-and-little-brother.jpg differ
diff --git a/src/react-app-env.d.ts b/src/react-app-env.d.ts
new file mode 100644
index 0000000..6431bc5
--- /dev/null
+++ b/src/react-app-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..f2850b7
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,25 @@
+{
+ "compilerOptions": {
+ "target": "es5",
+ "lib": [
+ "dom",
+ "dom.iterable",
+ "esnext"
+ ],
+ "allowJs": true,
+ "skipLibCheck": true,
+ "esModuleInterop": true,
+ "allowSyntheticDefaultImports": true,
+ "strict": true,
+ "forceConsistentCasingInFileNames": true,
+ "module": "esnext",
+ "moduleResolution": "node",
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "noEmit": true,
+ "jsx": "react"
+ },
+ "include": [
+ "src"
+ ]
+}
diff --git a/yarn.lock b/yarn.lock
index 51b41bb..ec9742a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1493,10 +1493,21 @@
"@types/yargs" "^15.0.0"
chalk "^3.0.0"
-"@lingdocs/pashto-inflector@^0.2.5":
- version "0.2.6"
- resolved "https://npm.lingdocs.com/@lingdocs%2fpashto-inflector/-/pashto-inflector-0.2.6.tgz#556fd1f1d3e6b03512a6b4f28ced92d52f2bdf97"
- integrity sha512-X3DQSzyicSm3xwk9Kztx6jKrl2Zad9cr2ehW2Ogfq5Nb04jmt/VUDleaxidwZOzGnLoBVgT7O/c72GbYfwL0aw==
+"@jest/types@^26.6.2":
+ version "26.6.2"
+ resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e"
+ integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==
+ dependencies:
+ "@types/istanbul-lib-coverage" "^2.0.0"
+ "@types/istanbul-reports" "^3.0.0"
+ "@types/node" "*"
+ "@types/yargs" "^15.0.0"
+ chalk "^4.0.0"
+
+"@lingdocs/pashto-inflector@^0.3.3":
+ version "0.3.3"
+ resolved "https://npm.lingdocs.com/@lingdocs%2fpashto-inflector/-/pashto-inflector-0.3.3.tgz#4121f5fb7aca110ec55e42656175abd35bde1956"
+ integrity sha512-63PVVepthTsn4LuT753KL5JYCf8OgZ93jwdfdLyvzz2qDiwGpsh7lnRYUQX+I8QgMQZYlDv3OurTrvLGp9k5Qw==
dependencies:
classnames "^2.2.6"
pbf "^3.2.1"
@@ -1841,6 +1852,21 @@
"@types/istanbul-lib-coverage" "*"
"@types/istanbul-lib-report" "*"
+"@types/istanbul-reports@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821"
+ integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==
+ dependencies:
+ "@types/istanbul-lib-report" "*"
+
+"@types/jest@^26.0.21":
+ version "26.0.21"
+ resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.21.tgz#3a73c2731e7e4f0fbaea56ce7ff8c79cf812bd24"
+ integrity sha512-ab9TyM/69yg7eew9eOwKMUmvIZAKEGZYlq/dhe5/0IMUd/QLJv5ldRMdddSn+u22N13FP3s5jYyktxuBwY0kDA==
+ dependencies:
+ jest-diff "^26.0.0"
+ pretty-format "^26.0.0"
+
"@types/json-schema@^7.0.3":
version "7.0.4"
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339"
@@ -1868,6 +1894,11 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-13.9.2.tgz#ace1880c03594cc3e80206d96847157d8e7fa349"
integrity sha512-bnoqK579sAYrQbp73wwglccjJ4sfRdKU7WNEZ5FW4K2U6Kc0/eZ5kvXG0JKsEKFB50zrFmfFt52/cvBbZa7eXg==
+"@types/node@^14.14.35":
+ version "14.14.35"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.35.tgz#42c953a4e2b18ab931f72477e7012172f4ffa313"
+ integrity sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag==
+
"@types/parse-json@^4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
@@ -1895,6 +1926,13 @@
dependencies:
"@types/react" "*"
+"@types/react-dom@^17.0.2":
+ version "17.0.2"
+ resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.2.tgz#35654cf6c49ae162d5bc90843d5437dc38008d43"
+ integrity sha512-Icd9KEgdnFfJs39KyRyr0jQ7EKhq8U6CcHRMGAS45fp5qgUvxL3ujUCfWFttUK2UErqZNj97t9gsVPNAqcwoCg==
+ dependencies:
+ "@types/react" "*"
+
"@types/react-transition-group@^4.4.1":
version "4.4.1"
resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.1.tgz#e1a3cb278df7f47f17b5082b1b3da17170bd44b1"
@@ -1910,7 +1948,7 @@
"@types/prop-types" "*"
csstype "^3.0.2"
-"@types/react@>=16.9.11", "@types/react@>=16.9.35":
+"@types/react@>=16.9.11", "@types/react@>=16.9.35", "@types/react@^17.0.3":
version "17.0.3"
resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.3.tgz#ba6e215368501ac3826951eef2904574c262cc79"
integrity sha512-wYOUxIgs2HZZ0ACNiIayItyluADNbONl7kt8lkLjVK8IitMH5QMyAh75Fwhmo37r1m7L2JaFj03sIfxBVDvRAg==
@@ -3199,6 +3237,14 @@ chalk@^3.0.0:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
+chalk@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
+ integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
change-case@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/change-case/-/change-case-3.1.0.tgz#0e611b7edc9952df2e8513b27b42de72647dd17e"
@@ -4134,6 +4180,11 @@ diff-sequences@^24.9.0:
resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5"
integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==
+diff-sequences@^26.6.2:
+ version "26.6.2"
+ resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1"
+ integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==
+
diffie-hellman@^5.0.0:
version "5.0.3"
resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
@@ -6491,6 +6542,16 @@ jest-diff@^24.0.0, jest-diff@^24.9.0:
jest-get-type "^24.9.0"
pretty-format "^24.9.0"
+jest-diff@^26.0.0:
+ version "26.6.2"
+ resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394"
+ integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==
+ dependencies:
+ chalk "^4.0.0"
+ diff-sequences "^26.6.2"
+ jest-get-type "^26.3.0"
+ pretty-format "^26.6.2"
+
jest-docblock@^24.3.0:
version "24.9.0"
resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2"
@@ -6549,6 +6610,11 @@ jest-get-type@^24.9.0:
resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e"
integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==
+jest-get-type@^26.3.0:
+ version "26.3.0"
+ resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0"
+ integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==
+
jest-haste-map@^24.9.0:
version "24.9.0"
resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d"
@@ -9257,6 +9323,16 @@ pretty-format@^25.1.0, pretty-format@^25.5.0:
ansi-styles "^4.0.0"
react-is "^16.12.0"
+pretty-format@^26.0.0, pretty-format@^26.6.2:
+ version "26.6.2"
+ resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93"
+ integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==
+ dependencies:
+ "@jest/types" "^26.6.2"
+ ansi-regex "^5.0.0"
+ ansi-styles "^4.0.0"
+ react-is "^17.0.1"
+
prismjs@^1.15.0:
version "1.23.0"
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.23.0.tgz#d3b3967f7d72440690497652a9d40ff046067f33"
@@ -9563,6 +9639,11 @@ react-is@^16.12.0, react-is@^16.3.2, react-is@^16.6.0, react-is@^16.7.0, react-i
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
+react-is@^17.0.1:
+ version "17.0.1"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339"
+ integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==
+
react-lifecycles-compat@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
@@ -11416,6 +11497,11 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
+typescript@^4.2.3:
+ version "4.2.3"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.3.tgz#39062d8019912d43726298f09493d598048c1ce3"
+ integrity sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw==
+
typographic-apostrophes-for-possessive-plurals@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/typographic-apostrophes-for-possessive-plurals/-/typographic-apostrophes-for-possessive-plurals-1.0.5.tgz#ca31b6f3d27ba800d6902d62fba29b548f639b99"