פתיחת התפריט הראשי
דף הבית
אקראי
כניסה לחשבון
הגדרות
אודות חב"דטקסט
חב"דטקסט
חיפוש
עריכת הדף "
יחידה:כותרת
"
אזהרה:
אינכם מחוברים לחשבון. כתובת ה־IP שלכם תוצג בפומבי אם תבצעו עריכות כלשהן. אם
תיכנסו לחשבון
או
תיצרו חשבון
, העריכות שלכם תיוחסנה לשם המשתמש שלכם ותקבלו גם יתרונות אחרים.
בדיקת אנטי־ספאם.
אין
למלא שדה זה!
local gimatria = require('יחידה:גימטריה'); local haqodem = gimatria.haqodem; local haba = gimatria.haba; local otiot2mispar = gimatria.gimatria; local mispar2otiot = gimatria.mispar_lotiot; local p = {} local letter = "[א-ת]" local letterspace = "[א-ת ]" local letterspaceparen = "[א-ת ()]" local letters = letter .. '+' local letterspaces = letterspace .. '+' local letterspaceparens = letterspaceparen .. '+' local PATTERN_PARENTHESES = '%('..letterspaces..'%)' -- חלוקה לשלושה חלקים: ספר (מילה אחת בלי רווחים), מסכת (עם או בלי רווחים), ופרק. local PATTERN_PEREQ = '^('..letters..')([/ ])('..letterspaces..')([/ ])('..letters..')$'; -- חלוקה לשלושה חלקים: ספר (ומילה אחת בלי רווחים ועוד גירסה בסוגריים), מסכת (עם או בלי רווחים), ופרק. local PATTERN_PEREQ_GIRSA = '^('..letters..' %('..letterspaces..'%))([/ ])('..letterspaces..')([/ ])('..letters..')$'; -- חלוקה לארבעה חלקים: ספר (מילה אחת בלי רווחים), מסכת (עם או בלי רווחים), פרק, וסעיף. local PATTERN_SEIF = '^('..letters..')%s+('..letterspaces..')%s+('..letters..')%s+('..letters..')$'; -- חלוקה לשלושה חלקים: ספר (עם או בלי רווחים), פרק, וסעיף. local PATTERN_SEIF_BSEFER = '^([ א-ת]+)%s+([א-ת]+)%s+([א-ת]+)$'; -- חלוקה לשלושה חלקים: ספר (עם או בלי רווחים), פרק (בלי רווחים) ופסוק (בלי רווחים) local PATTERN_BEUR_pasuq = '^ביאור:('..letterspaces..')%s+('..letters..')%s+('..letters..')$'; -- הפוקנציה מקבלת שם של דף, מפרקת אותו לשלושה חלקים (ספר, מסכת ופרק), ומכניסה את החלקים האלה לתבנית הנתונה. -- למשל: אם שם הדף הוא "ירושלמי בבא קמא א", -- והתבנית היא: "אאא <ספר> בבב <מסכת> גגג <פרק<" -- אז הפונקציה תחזיר: "אאא ירושלמי בבב בבא קמא גגג א" p["כותרת לפרק"] = function (frame) local title = frame.args[1] local template = frame.args[2] return p.koteret_lpereq_bsefer(title, template) end p.koteret_lpereq_bsefer = function (title, template) -- title = title:gsub(PATTERN_PARENTHESES,'') local sefer, mafrid, maseket, mafrid1, pereq = string.match(title, PATTERN_PEREQ) if (sefer==nil) then sefer, mafrid, maseket, mafrid1, pereq = string.match(title, PATTERN_PEREQ_GIRSA) end local pereq_qodem = haqodem(pereq); local pereq_haba = haba(pereq); template = template:gsub('<ספר>', sefer); template = template:gsub("<מסכת>", maseket); template = template:gsub("<פרק>", pereq); template = template:gsub("<פרק קודם>", pereq_qodem); template = template:gsub("<פרק הבא>", pereq_haba); template = template:gsub("<מפריד>", mafrid); return template end -- בטבלה זו, בכל כניסה בטבלה, צריכה להיות רשימה של מספרי המשניות בכל פרק במסכת. -- למשל, במסכת פאה, בפרק א, יש 5 משניות, וכן הלאה. local mispar_mishnayot_bepereq = { ['משנה'] = { ['פאה'] = {5, 5, 7, 7, 7, 8, 7, 8}, ['ברכות'] = {6, 9, 6, 6, 5, 8, 5, 8,5}, ['שקלים'] = {7, 5, 3, 5, 4, 4, 3, 4}, }, ['ירושלמי'] = { ['ברכות'] = {6, 9, 6, 6, 5, 8, 5, 8,5}, ['פאה'] = {5, 5, 7, 7, 7, 8, 7, 8}, ['דמאי'] = {4, 5, 6, 5, 8, 8, 8}, ['כלאים'] = {9, 8, 6, 6, 7, 4, 6, 4, 6}, ['שביעית'] = {6, 7, 7, 8, 4, 4, 2, 8, 6, 4}, ['תרומות'] = {5, 3, 5, 8, 3, 3, 3, 4, 3, 6, 5}, ['מעשרות'] = {5, 4, 4, 4, 3}, ['מעשר שני'] = {3, 4, 6, 6, 5}, ['חלה'] = {6, 3, 5, 5}, ['ערלה'] = {5, 9, 7}, ['בכורים'] = {9, 6, 6}, ['שבת'] = {11, 7, 8, 3, 4, 9, 4, 7, 7, 6, 6, 6, 7, 4, 3, 9, 7, 3, 6, 5}, ['ערובין'] = {10,8,10,10,8,10,10,9,5,14}, ['פסחים'] = {8,7,8,9,10,6,13,8,10,7}, ['שקלים'] = {7, 5, 3, 5, 4, 4, 3, 4}, ['יומא'] = {8,4,9,6,7,7,3,7}, ['סוכה']= {12,10,12,7,8}, ['ביצה']= {12,10,9,7,8}, ['ראש השנה']= {8,8,10,10}, ['תענית']= {8,14,11,7}, ['מגילה']= {12,7,7,12}, ['מועד קטן']= {10,5,9}, ['חגיגה']= {8,7,8}, --נשים ['יבמות'] = {6,12,12,16,8,6,8,6,8,8,7,6,14,7,10,9}, ['כתובות'] = {10,10,10,14,11,7,9,11,10,6,7,5,11}, ['נדרים'] = {4,5,9,10,6,11,11,9,9,8,12}, ['נזיר'] = {5,10,7,6,4,11,4,2,6}, ['סוטה'] = {10,6,8,5,6,4,8,10,16}, ['גיטין'] = {5,7,8,9,10,7,8,10,11}, ['קידושין'] = {9,9,13,12}, --נזיקין ['בבא קמא'] = {5,8,11,9,8,8,7,8,10,11}, ['בבא מציעא'] = {8,11,9,7,8,6,7,9,13,6}, ['בבא בתרא'] = {5,11,11,8,5,4,4,9,9,10}, ['סנהדרין'] = {4,6,12,9,5,10,13,9,7,8,6}, ['מכות'] = {8,7}, ['שבועות'] = {7,5,10,10,6,8,8,4}, }, ['בבלי'] = { ['פאה'] = {0, 0, 0, 0, 0, 0, 0, 0}, ['דמאי'] = {0,0,0,0,0,0,0}, ['ברכות'] = {6, 9, 6, 6, 5, 8, 5, 8,5}, ['שקלים'] = {7, 5, 3, 5, 4, 4, 3, 4}, }, } p.koteret_lseif = function (title, template) local sefer, maseket, pereq, seif = string.match(title, PATTERN_SEIF) local pereq_mispar = otiot2mispar(pereq) local seif_mispar = otiot2mispar(seif) local pereq_qodem = mispar2otiot(pereq_mispar-1) local pereq_haba = mispar2otiot(pereq_mispar+1) local seif_qodem = mispar2otiot(seif_mispar-1) local seif_haba = mispar2otiot(seif_mispar+1) local mispar_mishanyot = mispar_mishnayot_bepereq[sefer] if (mispar_mishanyot~=nil) then mispar_mishanyot = mispar_mishanyot[maseket] end -- חישוב פרק וסעיף קודם local pereq_wseif_qodem = pereq.." "..seif_qodem if seif_mispar==1 then if pereq_mispar==1 then -- תחילת מסכת pereq_wseif_qodem = "" elseif mispar_mishanyot~=nil and mispar_mishanyot[pereq_mispar-1]~=nil then pereq_wseif_qodem = pereq_qodem.." "..mispar2otiot(mispar_mishanyot[pereq_mispar-1]) end end -- חישוב פרק וסעיף הבא local pereq_wseif_haba = pereq.." "..seif_haba if mispar_mishanyot~=nil and seif_mispar==mispar_mishanyot[pereq_mispar] and mispar_mishanyot[pereq_mispar]~=nil then if mispar_mishanyot[pereq_mispar+1]==nil then -- סוף מסכת pereq_wseif_haba = "" else pereq_wseif_haba = pereq_haba.." ".."א" end end template = template:gsub('<ספר>', sefer); template = template:gsub("<מסכת>", maseket); template = template:gsub("<פרק>", pereq); template = template:gsub("<פרק קודם>", pereq_qodem); template = template:gsub("<פרק הבא>", pereq_haba); template = template:gsub("<סעיף>", seif); template = template:gsub("<סעיף קודם>", seif_qodem); template = template:gsub("<סעיף הבא>", seif_haba); template = template:gsub("<פרק וסעיף קודם>", pereq_wseif_qodem); template = template:gsub("<פרק וסעיף הבא>", pereq_wseif_haba); return template end -- הפוקנציה מקבלת שם של דף, מפרקת אותו לארבעה חלקים (ספר, מסכת, פרק, וסעיף/הלכה/משנה), ומכניסה את החלקים האלה לתבנית הנתונה. -- למשל: אם שם הדף הוא "ירושלמי בבא קמא א ב", -- והתבנית היא: "אאא <ספר> בבב <מסכת> גגג <פרק<" -- אז הפונקציה תחזיר: "אאא ירושלמי בבב בבא קמא גגג א" p["כותרת לסעיף"] = function (frame) local title = frame.args[1] local template = frame.args[2] return p.koteret_lseif(title, template) end p.koteret_lseif_bsefer = function (title, template) local sefer, pereq, seif = string.match(title, PATTERN_SEIF_BSEFER) local seif_qodem = haqodem(seif); local seif_haba = haba(seif); template = template:gsub('<ספר>', sefer); template = template:gsub("<פרק>", pereq); template = template:gsub("<סעיף>", seif); template = template:gsub("<סעיף קודם>", seif_qodem); template = template:gsub("<סעיף הבא>", seif_haba); return template end -- הפוקנציה מקבלת שם של דף, מפרקת אותו לשלושה -- חלקים (ספר, פרק וסעיף), ומכניסה -- את החלקים האלה לתבנית הנתונה. p["כותרת לסעיף בספר"] = function (frame) local title = frame.args[1] local template = frame.args[2] return p.koteret_lseif_bsefer(title, template) end -- קלט: כותרת של דף של סעיף, למשל "ירושלמי בבא קמא א ב". וכן ספר אחר, לדוגמה "בבלי". -- פלט: התבנית הנתונה בקלט, עם הנתונים של סעיף זה בספר המקביל, לדוגמה: "בבלי בבא קמא א ב". -- אבל רק אם הסעיף המקביל אכן נמצא בספר השני. אם הסעיף לא נמצא - תוחזר מחרוזת ריקה. p.seif_maqbil = function(title, template, sefer) local _, maseket, pereq, seif = string.match(title, PATTERN_SEIF) local pereq_mispar = otiot2mispar(pereq) local seif_mispar = otiot2mispar(seif) local mispar_mishanyot = mispar_mishnayot_bepereq[sefer] if (mispar_mishanyot~=nil) then mispar_mishanyot = mispar_mishanyot[maseket] end if (mispar_mishanyot~=nil) then mispar_mishnayot = mispar_mishanyot[pereq_mispar] end if (mispar_mishnayot~=nil and seif_mispar > mispar_mishnayot) then return "" -- הסעיף לא קיים בספר השני else template = template:gsub('<ספר>', sefer) template = template:gsub("<מסכת>", maseket) template = template:gsub("<פרק>", pereq) template = template:gsub("<סעיף>", seif) return template end end p["סעיף מקביל"] = function (frame) return p.seif_maqbil(frame.args[1], frame.args[2], frame.args[3]) end -- בטבלה זו, בכל כניסה בטבלה, צריכה להיות רשימה של מספרי הפסוקים בכל פרק בספר. ---- select concat("['",sf.kotrt,"'] =<br/> {",group_concat(count order by mspr),"},") ---- from ---- tnk.mspry_psuqim ms ---- inner join tnk.prqim pr on (ms.prq0=pr.kotrt) ---- inner join tnk.sfrim sf on (ms.sfr=sf.qod) ---- group by ms.sfr local mispar_psuqim_bepereq = { ['איוב'] = {22,13,26,21,27,30,21,22,35,22,20,25,28,22,35,22,16,21,29,29,34,30,17,25,6,14,23,28,25,31,40,22,33,37,16,33,24,41,30,32,26,17}, ['איכה'] = {22,22,66,22,22}, ['במדבר'] = {54,34,51,49,31,27,89,26,23,36,35,16,33,45,41,35,28,32,22,29,35,41,30,25,18,65,23,31,39,17,54,42,56,29,34,13}, ['בראשית'] = {31,25,24,26,32,22,24,22,29,32,32,20,18,24,21,16,27,33,38,18,34,24,20,67,34,35,46,22,35,43,54,33,20,31,29,43,36,30,23,23,57,38,34,34,28,34,31,22,33,26}, ['דברים'] = {46,37,29,49,29,25,26,20,29,22,32,31,19,29,23,22,20,22,21,20,23,29,26,22,19,19,26,69,28,20,30,52,29,12}, ['דברי הימים א'] = {54,55,24,43,41,66,40,40,44,14,47,41,14,17,29,43,27,17,19,8,30,19,32,31,31,32,34,21,30}, ['דברי הימים ב'] = {18,17,17,22,14,42,22,18,31,19,23,16,23,14,19,14,19,34,11,37,20,12,21,27,28,23,9,27,36,27,21,33,25,33,27,23}, ['דניאל'] = {21,49,33,34,30,29,28,27,27,21,45,13}, ['הושע'] = {9,25,5,19,15,11,16,14,17,15,11,15,15,10}, ['ויקרא'] = {17,16,17,35,26,23,38,36,24,20,47,8,59,57,33,34,16,30,37,27,24,33,44,23,55,46,34}, ['זכריה'] = {17,17,10,14,11,15,14,23,17,12,17,14,9,21}, ['חבקוק'] = {17,20,19}, ['חגי'] = {15,23}, ['יואל'] = {20,27,5,21}, ['יהושע'] = {18,24,17,24,15,27,26,35,27,43,23,24,33,15,63,10,18,28,51,9,43,34,16,33}, ['יחזקאל'] = {28,10,27,17,17,14,27,18,11,22,25,28,23,23,8,63,24,32,14,44,37,31,49,27,17,21,36,26,21,26,18,32,33,31,15,38,28,23,29,49,26,20,27,31,25,24,23,35}, ['יונה'] = {16,11,10,11}, ['ירמיהו'] = {19,37,25,31,31,30,34,23,25,25,23,17,27,22,21,21,27,23,15,18,14,30,40,10,38,24,22,17,32,25,39,44,26,22,19,32,21,28,18,16,18,22,13,30,5,28,7,47,39,46,64,34}, ['ישעיהו'] = {31,22,26,6,30,13,25,23,20,34,16,6,22,32,9,14,14,7,25,6,17,25,18,23,12,21,13,29,24,33,9,20,24,17,10,22,38,22,8,31,29,25,28,28,25,13,15,22,26,11,23,15,12,17,13,12,21,14,21,22,11,12,19,11,25,24}, ['מיכה'] = {16,13,12,14,14,16,20}, ['מלכים א'] = {53,46,28,20,32,38,51,66,28,29,43,33,34,31,34,34,24,46,21,43,29,54}, ['מלכים ב'] = {18,25,27,44,27,33,20,29,37,36,20,22,25,29,38,20,41,37,37,21,26,20,37,20,30}, ['מלאכי'] = {14,17,24}, ['משלי'] = {33,22,35,27,23,35,27,36,18,32,31,28,25,35,33,33,28,24,29,30,31,29,35,34,28,28,27,28,27,33,31}, ['נחום'] = {14,14,19}, ['נחמיה'] = {11,20,38,17,19,19,72,18,37,40,36,47,31}, ['אסתר'] = {22,23,15,17,14,14,10,17,32,3}, ['עובדיה'] = {21}, ['עזרא'] = {11,70,13,24,17,22,28,36,15,44}, ['עמוס'] = {15,16,15,13,27,14,17,14,15}, ['צפניה'] = {18,15,20}, ['קהלת'] = {18,26,22,17,19,12,29,17,18,20,10,14}, ['רות'] = {22,23,18,22}, ['שופטים'] = {36,23,31,24,31,40,25,35,57,18,40,15,25,20,20,31,13,31,30,48,25}, ['שיר השירים'] = {17,17,11,16,16,12,14,14}, ['שמואל א'] = {28,36,21,22,12,21,17,22,27,27,15,25,23,52,35,23,58,30,24,42,16,23,29,22,44,25,12,25,11,31,13}, ['שמואל ב'] = {27,32,39,12,25,23,29,18,13,19,27,31,39,33,37,23,29,32,44,26,22,51,39,25}, ['שמות'] = {22,25,22,31,23,30,29,28,35,29,10,51,22,31,27,36,16,27,25,22,37,30,33,18,40,37,21,43,46,38,18,35,23,35,35,38,29,31,43,38}, ['תהלים'] = {6,12,9,9,13,11,18,10,21,18,7,9,6,7,5,11,15,51,15,10,14,32,6,10,22,12,14,9,11,13,25,11,22,23,28,13,40,23,14,18,14,12,5,27,18,12,10,15,21,23,21,11,7,9,24,14,12,12,18,14,9,13,12,11,14,20,8,36,37,6,24,20,28,23,11,13,21,72,13,20,17,8,19,13,14,17,7,19,53,17,16,16,5,23,11,13,12,9,9,5,8,29,22,35,45,48,43,14,31,7,10,10,9,8,18,19,2,29,176,7,8,9,4,8,5,6,5,6,8,8,3,18,3,3,21,26,9,8,24,14,10,8,12,15,21,10,20,14,9,6}, } -- יוצר סרגל ניווט עם כל הפסוקים בפרק הנתון. -- לדוגמה ראו: -- [[תבנית:מצודות]] p.niwut_psuqim_bpereq = function(sefer, pereq, template_for_pasuq) local pereq_mispar = otiot2mispar(pereq) local mispar_psuqim = mispar_psuqim_bepereq[sefer][pereq_mispar] local result = '' for pasuq_mispar = 1,mispar_psuqim do local pasuq = mispar2otiot(pasuq_mispar) local template = template_for_pasuq template = template:gsub('<ספר>', sefer); template = template:gsub("<פרק>", pereq); template = template:gsub("<פסוק>", pasuq); result = result .. template end return result end p["ניווט פסוקים בפרק"] = function (frame) local sefer = frame.args[1] local pereq = frame.args[2] local template_for_pasuq = frame.args[3] return p.niwut_psuqim_bpereq(sefer, pereq, template_for_pasuq) end -- פונקציות הקשורות לביאורי פסוקים p.koteret_lbeur_pasuq = function (title, template) local sefer, pereq, pasuq = string.match(title, PATTERN_BEUR_pasuq) local pereq_mispar = otiot2mispar(pereq) local pasuq_mispar = otiot2mispar(pasuq) local pereq_qodem = mispar2otiot(pereq_mispar-1) local pereq_haba = mispar2otiot(pereq_mispar+1) local pasuq_qodem = mispar2otiot(pasuq_mispar-1) local pasuq_haba = mispar2otiot(pasuq_mispar+1) local mispar_psuqim = mispar_psuqim_bepereq[sefer] -- חישוב פרק ופסוק קודם local pereq_wpasuq_qodem = pereq.." "..pasuq_qodem if pasuq_mispar==1 then if pereq_mispar==1 then -- תחילת ספר pereq_wpasuq_qodem = "" elseif mispar_psuqim~=nil and mispar_psuqim[pereq_mispar-1]~=nil then pereq_wpasuq_qodem = pereq_qodem.." "..mispar2otiot(mispar_psuqim[pereq_mispar-1]) end end -- חישוב פרק וסעיף הבא local pereq_wpasuq_haba = pereq.." "..pasuq_haba if mispar_psuqim~=nil and mispar_psuqim[pereq_mispar]~=nil and pasuq_mispar==mispar_psuqim[pereq_mispar] then if mispar_psuqim[pereq_mispar+1]==nil then -- סוף ספר pereq_wpasuq_haba = "" else pereq_wpasuq_haba = pereq_haba.." ".."א" end end template = template:gsub('<ספר>', sefer); template = template:gsub("<פרק>", pereq); template = template:gsub("<פסוק>", pasuq); template = template:gsub("<פרק קודם>", pereq_qodem); template = template:gsub("<פרק הבא>", pereq_haba); template = template:gsub("<פסוק קודם>", pasuq_qodem); template = template:gsub("<פסוק הבא>", pasuq_haba); template = template:gsub("<פרק ופסוק קודם>", pereq_wpasuq_qodem); template = template:gsub("<פרק ופסוק הבא", pereq_wpasuq_haba); return template end -- הפוקנציה מקבלת שם של דף שהוא ביאור על פסוק, -- מפרקת אותו לשלושה חלקים (ספר, פרק ופסוק), ומכניסה -- את החלקים האלה לתבנית הנתונה. p["כותרת לביאור פסוק"] = function (frame) local title = frame.args[1] local template = frame.args[2] return p.koteret_lbeur_pasuq(title, template) end return p
תקציר:
לתשומת ליבך: תרומתך לאתר חב"דטקסט תפורסם לפי תנאי הרישיון רישיון חופשי למסמכים של גנו גרסה 1.3 או חדשה יותר (אפשר לעיין בדף
חב"דטקסט:זכויות יוצרים
לפרטים נוספים). אם אינך רוצה שעבודתך תהיה זמינה לעריכה על־ידי אחרים, שתופץ לעיני כול, ושאחרים יוכלו להעתיק ממנה תוך ציון המקור – אין לפרסם אותה פה.
כמו־כן, שמירת העריכה משמעה הבטחה שכתבת את הטקסט הזה בעצמך או העתקת אותו ממקור בנחלת הכלל (שאינו מוגבל בזכויות יוצרים) או מקור חופשי דומה.
אין לשלוח חומר מוגבל בזכויות יוצרים ללא רשות!
ביטול
עזרה בעריכה
(נפתח בחלון חדש)
תבנית המופיעה בדף זה:
יחידה:כותרת/תיעוד
(
עריכה
)