Վիքիպեդիայում ավտոմատացնել ամսաթվերի և տարեթվերի հոդվածներում այդ օրերին/տարիներին ծնված և մահացած մարդկանց մասին տեղեկատվության տեղադրումը:
Պայմանավորվեցինք բոլոր ֆունկցիաներում օգտագործել հետևյալ ստրուկտուրաները․
Օրը պահելու համար
DayObject {
day: 31,
month: 12,
year: 1908
}
Անձի մասին ինֆորմացիան պահելու համար
NameObject {
name: "",
description: ""
}
Խնդիրը բաժանել ենք մասերի․
getDatesFromArticleText(text)
[Թագուհի, Անժելա] - ստանում է որևէ Վիքի հոդվածի տեքստ (օրինակ http://hy.wikipedia.org/w/index.php?title=Հովհաննես_Թումանյան&action=edit ) և փորձում է գտնել ծննդյան/մահման ամսաթվերը հոդվածի տեքստից: Վերադարձնում է հետևյալ տիպի օբյեկտ (եթե ծննդյան/մահվան օր չկա կամ հայտնի չի, վերադարձնում էnull
)
{
birth: DayObject,
death: DayObject
}
getDatesFromInfoBox(text)
[Մարիամ (3րդ կուրս), Արտաշ] - փորձում է գտնել ծննդյան/մահվան ամսաթվերը տեղեկաքարտից:getNameDescriptionFromArticleText(text)
[Մարիամ (2րդ կուրս)] - փորձում է գտնել անձի անունը և նրան բնութագրող մի քանի բառ հոդվածի տեսքտից: Վերադարձնում էNameObject
օբյեկտ:getNameDescriptionFromInfoBox(text)
[Գայանե, Արփինե] - նույն է փորձում է անել տեղեկաքարտից:getDatePageText(DayObject)
,getYearPageText(DayObject)
[Գայանե, Աշխեն] - այս ֆունկցիաները վերադարձնում են տրվածDayObject
օրվան համապատասխանող ամսաթվի և տարեթվի հոդվածի տեսքտը վիքիպեդիայից: Պետք է օգտվելmorebits.js
ֆայլում ստեղծվող կլասերից, մասնավորապես՝wiki.page
: Օրինակ կարելի է տեսնել morebits-example.js ֆայլում:checkPersonExists(text, section, NameObject, DayObject, isYear)
[Ռոմո] - ստանում է տարվա կամ օրվա (կախվածisYear
boolean
պարամետրից) հոդվածի տեքստը (օրինակ https://hy.wikipedia.org/w/index.php?title=Փետրվարի_19&action=edit ) և վերադարձնում էtrue
, եթեNameObject
ով որոշվող անձի մասին տեղեկություն կաsection
բաժնում (այն կարող է լինել Ծնունդներ և Մահեր):addPerson(text, section, NameObject, DayObject, isYear)
[Տիգրան] - ստանում է տարվա կամ օրվա (կախվածisYear
boolean
պարամետրից) հոդվածի տեքստը և այնտեղ համապատասխան վայրում ավելացնում է տվյալ անձի մասին տող (NameObject
ևDayObject
օբյեկտներին համապատասխան)HTML
[Անահիտ] - պետք է ստեղծելform
, որտեղ կերևան հոդվածի տեքստից գտնված ամսաթվերն ու տարեթվերը, որոշակիbutton
սեղմելուց հետո կկանչվեն JSի համապատասխան ֆունկցիաները և կցուցադրվեն ամսաթվերի ու տարեթվերի հոդվածների փոփոխված տեքստերը:
JavaScriptի String-երի հետ աշխատող ֆունկցիաները (http://www.w3schools.com/jsref/jsref_obj_string.asp) պետք է որ բավարար լինեն 1-7 ֆունկցիաները իրականացնելու համար: Շատ կարող են օգնել Regular Expressionները, որոնց կարելի է ծանոթանալ այստեղ․ http://www.codecademy.com/courses/javascript-beginner-en-DXEDZ/0/1