From 70f60093fb043457b03da20a717876444a0cd8aa Mon Sep 17 00:00:00 2001 From: lingdocs <71590811+lingdocs@users.noreply.github.com> Date: Sat, 2 Jul 2022 15:59:00 -0500 Subject: [PATCH] correction of verb showcase and starting on perfect page --- package.json | 2 +- src/components/BasicBlocks.tsx | 4 +- src/components/BasicVerbShowCase.tsx | 39 ++- src/components/terms-links.tsx | 18 +- src/content/index.ts | 6 + src/content/verbs/chemistry-perfect.jpg | Bin 0 -> 47782 bytes src/content/verbs/past-perfect.svg | 414 ++++++++++++++++++++++++ src/content/verbs/past-verbs.mdx | 12 +- src/content/verbs/perfect-verbs.mdx | 105 ++++++ src/content/verbs/present-perfect.svg | 414 ++++++++++++++++++++++++ 10 files changed, 983 insertions(+), 31 deletions(-) create mode 100644 src/content/verbs/chemistry-perfect.jpg create mode 100644 src/content/verbs/past-perfect.svg create mode 100644 src/content/verbs/perfect-verbs.mdx create mode 100644 src/content/verbs/present-perfect.svg diff --git a/package.json b/package.json index aa73a44..41cb04f 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "@formkit/auto-animate": "^1.0.0-beta.1", "@fortawesome/fontawesome-free": "^5.15.4", "@lingdocs/lingdocs-main": "^0.3.1", - "@lingdocs/pashto-inflector": "^3.2.2", + "@lingdocs/pashto-inflector": "^3.2.3", "@testing-library/jest-dom": "^5.11.4", "@testing-library/react": "^11.1.0", "@testing-library/user-event": "^12.1.10", diff --git a/src/components/BasicBlocks.tsx b/src/components/BasicBlocks.tsx index a054aa8..1b5cab7 100644 --- a/src/components/BasicBlocks.tsx +++ b/src/components/BasicBlocks.tsx @@ -29,8 +29,8 @@ function BasicBlocks({ blocks, showKidsSection, large }: { className="d-flex flex-row justify-content-center align-items-center" style={{ border: "2px solid black", - height: large ? "2.75rem" : "2.5rem", - width: large ? "4.5rem" : "4rem", + height: large ? "3.5rem" : "2.5rem", + width: large ? "6rem" : "4rem", }} > {(typeof block === "object" && block.inside) ? block.inside : ""} diff --git a/src/components/BasicVerbShowCase.tsx b/src/components/BasicVerbShowCase.tsx index 0880d83..159891b 100644 --- a/src/components/BasicVerbShowCase.tsx +++ b/src/components/BasicVerbShowCase.tsx @@ -11,11 +11,12 @@ import { removeFVarients, isPastTense, } from "@lingdocs/pashto-inflector"; -import { isImperativeTense } from "@lingdocs/pashto-inflector/dist/lib/type-predicates"; +import { isImperativeTense, isPerfectTense } from "@lingdocs/pashto-inflector/dist/lib/type-predicates"; import { useState } from "react"; import Carousel from "./Carousel"; import { basicVerbs, intransitivePast } from "../content/verbs/basic-present-verbs"; import { getLength } from "@lingdocs/pashto-inflector/dist/lib/p-text-helpers"; +import { isThirdPerson } from "@lingdocs/pashto-inflector/dist/lib/phrase-building/vp-tools"; function BasicVerbShowCase({ opts, tense }: { opts: T.TextOptions, @@ -42,7 +43,7 @@ export default BasicVerbShowCase; function BasicVerbChart({ verb, opts, tense }: { verb: T.VerbEntry, opts: T.TextOptions, - tense: T.VerbTense | T.ImperativeTense, + tense: T.VerbTense | T.ImperativeTense | T.PerfectTense, }) { const [negative, setNegative] = useState(false); const [length, setLength] = useState<"short" | "long">("short"); @@ -60,11 +61,11 @@ function BasicVerbChart({ verb, opts, tense }: {
- {isPastTense(tense) &&
+ {isPastTense(tense) && !isPerfectTense(tense) &&
} -function makeExamplePhrases(verb: T.VerbEntry, tense: T.VerbTense | T.ImperativeTense, negative: boolean, length: "short" | "long"): { ps: T.VerbBlock | T.ImperativeBlock, e: T.EnglishBlock } { +function makeExamplePhrases(verb: T.VerbEntry, tense: T.VerbTense | T.ImperativeTense | T.PerfectTense, negative: boolean, length: "short" | "long"): { ps: T.VerbBlock | T.ImperativeBlock, e: T.EnglishBlock } { function makeSelection(person: T.Person): T.VPSelectionComplete{ return { "blocks": [ @@ -131,7 +132,7 @@ function makeExamplePhrases(verb: T.VerbEntry, tense: T.VerbTense | T.Imperative const compiled = compileVP(rendered, rendered.form); return { ps: [modifyP(getLength(compiled.ps, length)[0])], - e: compiled.e ? modifyEnglish(compiled.e.join(" • ")) : "", + e: compiled.e ? modifyEnglish(compiled.e.join(" • "), tense, isThirdPerson(person)) : "", }; } return createVerbTable(makePhrase, isImperativeTense(tense) ? "imperative" : isPastTense(tense) ? "past" : "nonImperative"); @@ -144,19 +145,22 @@ function modifyP(ps: T.PsString): T.PsString { }; } -function modifyEnglish(e: string): string { +function modifyEnglish(e: string, tense: T.VerbTense | T.ImperativeTense | T.PerfectTense, isThirdPerson: boolean): string { // "kitaab" used as a dummy object - return e - .replace(/\(a\/the\) +book/ig, "") - .replace(/he\/it/ig, "he/she/it") - .replace(/We \(m\. pl\.\)/ig, "We ") - .replace(/They \(m\. pl\.\)/ig, "They ") - .replace(/\(m\. pl\.\)/ig, "(pl.)") - .replace(/\(m\.\)/ig, ""); + const dummyObjectRemoved = + e.replace(/\(a\/the\) +book/ig, "") + return (isPerfectTense(tense) || (isPastTense(tense) && isThirdPerson)) + ? dummyObjectRemoved + : dummyObjectRemoved + .replace(/he\/it/ig, "he/she/it") + .replace(/We \(m\. pl\.\)/ig, "We ") + .replace(/They \(m\. pl\.\)/ig, "They ") + .replace(/\(m\. pl\.\)/ig, "(pl.)") + .replace(/\(m\.\)/ig, ""); } -function tenseToStem(t: T.VerbTense | T.ImperativeTense): "imperfective stem" | "perfective stem" | "imperfective root" | "perfective root" { - return t === "presentVerb" +function tenseToStem(t: T.VerbTense | T.ImperativeTense | T.PerfectTense): "imperfective stem" | "perfective stem" | "imperfective root" | "perfective root" | "past participle" { + const stem = t === "presentVerb" ? "imperfective stem" : t === "subjunctiveVerb" ? "perfective stem" @@ -174,7 +178,10 @@ function tenseToStem(t: T.VerbTense | T.ImperativeTense): "imperfective stem" | ? "perfective root" : t === "imperfectiveImperative" ? "imperfective root" + : t.endsWith("Perfect") + ? "past participle" : "perfective root"; + return stem; } function createVerbTable(f: (person: T.Person) => { ps: T.ArrayOneOrMore, e: string }, type: "imperative" | "nonImperative" | "past"): { ps: T.VerbBlock | T.ImperativeBlock, e: T.EnglishBlock } { diff --git a/src/components/terms-links.tsx b/src/components/terms-links.tsx index 860248a..7998b97 100644 --- a/src/components/terms-links.tsx +++ b/src/components/terms-links.tsx @@ -30,4 +30,20 @@ export function BlockTerm({ text }: { text: string }) { export function PerfectiveHead({ text }: { text: string }) { return { text || "perfective head"}; -} \ No newline at end of file +} + +export function Camera() { + return ; +} + +export function Video() { + return ; +} + +export function KingIcon() { + return ; +} + +export function ServantIcon() { + return ; +}; \ No newline at end of file diff --git a/src/content/index.ts b/src/content/index.ts index ea7f337..b6aaef6 100644 --- a/src/content/index.ts +++ b/src/content/index.ts @@ -63,6 +63,8 @@ import * as negativeVerbs from "!babel-loader!@lingdocs/mdx-loader!./verbs/negat import * as rootsAndStems from "!babel-loader!@lingdocs/mdx-loader!./verbs/roots-and-stems.mdx"; // @ts-ignore import * as pastVerbs from "!babel-loader!@lingdocs/mdx-loader!./verbs/past-verbs.mdx"; +// @ts-ignore +import * as perfectVerbs from "!babel-loader!@lingdocs/mdx-loader!./verbs/perfect-verbs.mdx"; // @ts-ignore import * as introToParticiples from "!babel-loader!@lingdocs/mdx-loader!./participles/intro.mdx"; @@ -223,6 +225,10 @@ const contentTree = [ import: pastVerbs, slug: "past-verbs", }, + { + import: perfectVerbs, + slug: "perfect-verbs", + }, { import: negativeVerbs, slug: "negative-verbs", diff --git a/src/content/verbs/chemistry-perfect.jpg b/src/content/verbs/chemistry-perfect.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e64b784ed73981843bb24cbe1e6269f37a23bbbe GIT binary patch literal 47782 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + diff --git a/src/content/verbs/past-verbs.mdx b/src/content/verbs/past-verbs.mdx index 2d08bb1..54a885d 100644 --- a/src/content/verbs/past-verbs.mdx +++ b/src/content/verbs/past-verbs.mdx @@ -7,8 +7,7 @@ import { Examples, InlinePs, } from "@lingdocs/pashto-inflector"; -import cousins from "./cousins.png"; -import { KidsSection, VP } from "../../components/terms-links"; +import { KidsSection, VP, KingIcon, ServantIcon } from "../../components/terms-links"; import psmd from "../../lib/psmd"; import Link from "../../components/Link"; import Formula from "../../components/formula/Formula"; @@ -22,15 +21,6 @@ import unoReverseMeme from "./uno-reverse-meme.jpg"; import EditableVPEx, { EditIcon } from "../../components/phrase-diagram/EditableVPEx"; import BasicVerbShowCase from "../../components/BasicVerbShowCase"; - -export function KingIcon() { - return ; -} - -export function ServantIcon() { - return ; -}; - Past tense verbs in Pashto are famous for being very difficult and confusing for the learner. Thankfully there are some very simple rules that we can learn, and with a little practice (ok, a *lot* of practice) you'll find there's nothing scary about the past tense in Pashto at all. Now that we're making past tense verbs, we will be using the **bottom half** of the roots and stems tree. diff --git a/src/content/verbs/perfect-verbs.mdx b/src/content/verbs/perfect-verbs.mdx new file mode 100644 index 0000000..aa8a284 --- /dev/null +++ b/src/content/verbs/perfect-verbs.mdx @@ -0,0 +1,105 @@ +--- +title: Perfect +--- + +import { + defaultTextOptions as opts, + Examples, + InlinePs, +} from "@lingdocs/pashto-inflector"; +import { KidsSection, VP, EP, Camera, Video, KingIcon } from "../../components/terms-links"; +import psmd from "../../lib/psmd"; +import Link from "../../components/Link"; +import Formula from "../../components/formula/Formula"; +import EditableVPEx, { EditIcon } from "../../components/phrase-diagram/EditableVPEx"; +import BasicVerbShowCase from "../../components/BasicVerbShowCase"; +import simplePast from "./simple-past-in-reality.svg"; +import presentPerfect from "./present-perfect.svg"; +import chemistryPerfect from "./chemistry-perfect.jpg"; +import BasicBlocks from "../../components/BasicBlocks"; + +## Introduction + +We use [perfect tenses](https://en.wikipedia.org/wiki/Perfect_(grammar)) when we want to **emphasize the consequences** of an event or **focus on the resulting state** after the event. + +> A perfect tense (abbreviated perf or prf) is a grammatical form used to describe a past event with present relevance, or a present state resulting from a past situation. For example, “I have put it on the table” implies both that I put the object on the table and that it is still there; “I have been to France” conveys that this is a part of my experience as of now; and “I have lost my wallet” implies that this loss is troublesome at the present moment. ([wikipedia](https://en.wikipedia.org/wiki/Perfective_aspect#Perfective_vs._perfect)) + +
+ +**Note** ⚠️: This is *not* to be confused with the perfective aspect , which is a totally different thing. + +
+ +In English we're not as strict with using the perfect tense. In fact it can sound a little formal or bookish to always say things like "I've lost my wallet" (perfect) instead of "I lost my wallet" (simple past). In Pashto however, this distinction is very normal and common, and you will see the perfect form used whenever it's important to talk about a state resulting from the action. + +With the past tense we're talking about an event happening. We're just relaying the fact that something happened, without talking about the consequences of that event. + +
+ +
+ +{[ + { + p: "ما ډوډۍ وخوړله", + f: "maa DoDúy óokhoRula", + e: "I ate food", + sub: "meaning: I chewed and swallowed the food." + } +]} + +With a perfect tense, we're talking about the **result of an event**. We're saying that something has happened, and therefore there's an affect on the situation. + +
+ +
+ +{[ + { + p: "ما ډوډۍ خوړلې ده", + f: "maa DoDúy khoRúle da", + e: "I've eaten food", + sub: "meaning: I am full now." + } +]} + +## How to make perfect tenses 🧪 + +Earlier we talked about how and are totally different in Pashto. They have different tenses, equatives don't have aspect, and they have totally different phrase structures. + +Well now we're going to do something very crazy. To make the perfect forms we are going to **combine verbs and equatives**. 👨🏻‍🔬😮 + +
+ +
+ + + Verb Past Participle +{` `} + Equative = Perfect + + +To make the perfect forms we take the past participle of the verb and **add an equative block** next to it. For example, with the verb we could have something like: + + + +Now instead of one verb block, *we have **two blocks** that have to agree with the king* of the . Let's see how this works with some intransitive verbs. + + + +That seems like a pretty intimidating chart! But it gets simpler if we remember that we are just making the two blocks (past participle and equative) agree with the king of the phrase. + +Have a look at the examples below, and notice how both the past participle and the equative blocks agree with the king of the phrase. Perfects are considered past-tense so they will follow the same VP structure as other past tense forms: + +- with **intransitive** verbs the *subject is king* +- with **transitive** verbs the *object is king* + +#### Intransitive Examples + + + +With perfect tenses, we'll use the and the tenses of equatives. + +IN PROGRESS + diff --git a/src/content/verbs/present-perfect.svg b/src/content/verbs/present-perfect.svg new file mode 100644 index 0000000..55920f4 --- /dev/null +++ b/src/content/verbs/present-perfect.svg @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + +