עריכת הדף "
יחידה:טווח זמנים
"
קפיצה לניווט
קפיצה לחיפוש
אזהרה:
אינכם מחוברים לחשבון. כתובת ה־IP שלכם תוצג בפומבי אם תבצעו עריכות כלשהן. אם
תיכנסו לחשבון
או
תיצרו חשבון
, העריכות שלכם תיוחסנה לשם המשתמש שלכם ותקבלו גם יתרונות אחרים.
בדיקת אנטי־ספאם.
אין
למלא שדה זה!
local Date = require('Module:תאריך') local Arguments = require( "Module:Arguments" ) local function WikidataSimpleFill(parameter, entityId, property) -- this doesnt handle unkown values, multi value etc if parameter~=nil then return parameter, false end local wikidataVal = mw.wikibase.getBestStatements( entityId, property ) if #wikidataVal > 0 then local propValue = wikidataVal[1].mainsnak return mw.wikibase.renderSnak( propValue ) , true end return nil, false end function render(frame) local args = Arguments.getArgs(frame, { ['trim'] = true, ['removeBlanks'] = true }) local res = '' local entityId = args['qid'] or mw.wikibase.getEntityIdForCurrentPage() if (entityId == '-' or entityId=='') then entityId = nil end local pointInTime = args['נקודת זמן'] local startDate = args['תאריך התחלה'] local endDate = args['תאריך סיום'] local wikidataStartDate = args['תאריך התחלה-ויקינתונים'] or 'P580' local wikidataEndDate = args['תאריך סיום-ויקינתונים'] or 'P582' local showEditWikidata = true -- text to show if we have only end date. Example: "Last even - %s" where %s is time. nil - will not show end date local onlyEndDateText = args['טקסט סיום'] local duration = args['משך'] --P2047 -- Whether to show time diff between start and end day when applicable. Example: כן. local showTimeDiff = args['הצגת הפרשת זמנים'] local dateRangeDiffFormat = args['פורמט הצגה'] or '%s (%s)' local usingWikidata = false if entityId~=nil then -- todo: support different fallbacks for properties local usingWikidataStartDate = false local usingWikidataEndDate = false local usingWikidataPointInTime = false local usingWikidataDuration = false wikidataStartDate = mw.text.split( wikidataStartDate, ' *, *', false ) wikidataEndDate = mw.text.split( wikidataEndDate, ' *, *', false ) for _, wikidataStartProp in pairs(wikidataStartDate) do startDate, usingWikidataStartDate = WikidataSimpleFill(startDate, entityId, wikidataStartProp ) end for _, wikidataEndProp in pairs(wikidataEndDate) do endDate, usingWikidataEndDate = WikidataSimpleFill(endDate, entityId, wikidataEndProp ) end usingWikidata = usingWikidata or usingWikidataStartDate or usingWikidataEndDate if startDate == nil and endDate == nil then pointInTime, usingWikidataPointInTime = WikidataSimpleFill(pointInTime, entityId, 'P585' ) usingWikidata = usingWikidata or usingWikidataPointInTime end if showTimeDiff == 'כן' then duration, usingWikidataDuration = WikidataSimpleFill(duration, entityId, 'P2047' ) if usingWikidataDuration then -- workaround for T261543 duration = mw.ustring.gsub( duration, '(%d+) יממה', '%1 ימים' ) end usingWikidata = usingWikidata or usingWikidataDuration end end -- Whether the event still continues. this will show <START>-present. Example: כן local defaultOngoingEvent = args['נמשך'] == 'כן' local ongoingEvent = defaultOngoingEvent local endDateOngoingEvent = args['הווה'] local presentText = args['טקסט הווה'] local diffFormat = 'auto' -- TODO: better handling for different scales if endDate~=nil and endDate~='' then if endDateOngoingEvent~=nil then -- set default ongoingEvent as false ongoingEvent = false for v in string.gmatch(endDateOngoingEvent, "[^,%s]+") do if v == endDate then -- set as true if end date specific that match endDateOngoingEvent ongoingEvent = true if presentText then endDate=presentText end end end else -- explicity end date was specified, hence it is not ongoing ongoingEvent = false end end -- simple case of single point in time if pointInTime~=nil or startDate==endDate then if pointInTime == nil and startDate==endDate then pointInTime = startDate end res = pointInTime else -- date ranges if startDate == nil and endDate~=nil then if onlyEndDateText == nil then return end -- ignore only end date res = mw.ustring.format(onlyEndDateText, endDate) elseif startDate ~= nil and (endDate==nil or (ongoingEvent and endDate~=nil)) then if ongoingEvent then dateFormat = '%s–%s' if mw.ustring.match(startDate, ' ') or (endDate and mw.ustring.match(endDate, ' ')) then dateFormat = '%s – %s' end res = mw.ustring.format(dateFormat, startDate, endDate or 'הווה') -- try to fallback to automatic duration if duration is not available if showTimeDiff == 'כן' and duration==nil then local success, automaicDuration = pcall(Date.parseDateRange, startDate, diffFormat, true) if success then duration = automaicDuration end end else res = startDate end elseif startDate~=nil and endDate~=nil then dateFormat = '%s–%s' if mw.ustring.match(startDate, ' ') or mw.ustring.match(endDate, ' ') then dateFormat = '%s – %s' end res = mw.ustring.format(dateFormat, startDate, endDate) if showTimeDiff == 'כן' and duration==nil then local success, automaicDuration = pcall(Date.parseDateRange, res, diffFormat, true) if success then duration = automaicDuration end end end end -- append the duration if showTimeDiff == 'כן' and duration~=nil and duration~='' and res~=nil then res = mw.ustring.format(dateRangeDiffFormat, res, duration) end if showEditWikidata and usingWikidata and res~=nil and res~='' and entityId~=nil then local link = mw.title.makeTitle( 0, entityId, '', 'wikidata' ):fullUrl('uselang=he') res = res .. mw.ustring.format(' [[File:Blue pencil RTL.svg|15px|link=%s|עריכת הנתון בוויקינתונים]]', link) end return res end return { ['טווח זמנים']=render }
תקציר:
לתשומת ליבך: תרומתך לאתר חב"דטקסט תפורסם לפי תנאי הרישיון רישיון חופשי למסמכים של גנו גרסה 1.3 או חדשה יותר (אפשר לעיין בדף
חב"דטקסט:זכויות יוצרים
לפרטים נוספים). אם אינך רוצה שעבודתך תהיה זמינה לעריכה על־ידי אחרים, שתופץ לעיני כול, ושאחרים יוכלו להעתיק ממנה תוך ציון המקור – אין לפרסם אותה פה.
כמו־כן, שמירת העריכה משמעה הבטחה שכתבת את הטקסט הזה בעצמך או העתקת אותו ממקור בנחלת הכלל (שאינו מוגבל בזכויות יוצרים) או מקור חופשי דומה.
אין לשלוח חומר מוגבל בזכויות יוצרים ללא רשות!
ביטול
עזרה בעריכה
(נפתח בחלון חדש)
תבנית המופיעה בדף זה:
יחידה:טווח זמנים/תיעוד
(
עריכה
)
תפריט ניווט
כלים אישיים
לא בחשבון
שיחה
תרומות
יצירת חשבון
כניסה לחשבון
מרחבי שם
יחידה
שיחה
English
צפיות
קריאה
עריכת קוד מקור
גרסאות קודמות
עוד
ניווט
עמוד ראשי
ספריה ראשית
חיפוש נכון
דף אקראי
דיווח על טעות
עזרה
עורכים
ברוכים הבאים
פרוייקט החממה
שינויים אחרונים
אולם דיונים
לוח מודעות
תחזוקה
זכויות יוצרים
כלים
דפים המקושרים לכאן
שינויים בדפים המקושרים
דפים מיוחדים
מידע על הדף