Template talk:Hebrew year

Introduction
This template does exactly what it says it does, so for the moment it doesn't require description. Eventually I will add some documentation, but it's really pretty simple, and its only parameter is the Hebrew year (in regular Arabic numerals), defaulting to the current Hebrew year. I wasn't really planning on adding bells and whistles like time zone capabilities; I'm off the computer on Rosh Hashanah anyway.

Issues
See my main sandbox page for implementation examples, or do your own.

The first, third and fourth boxes of this template run in a straightforward fashion for any year you might enter. Obviously, for years prior to the actual establishment of this calendar, the calculation is on a proleptic basis. In years 3, 6, 8, 11, 14, 17 and 19, the legend in the third box reads that this is a leap year, and in others that it is not a leap year. In the fourth box, in the first year of each cycle, an additional legend appears to say that "Birkat Hachamah is recited this year."

The second box of the template (the one with the number of days in the year, and the days of the week of Rosh Hashana and Pesach) is much more complicated. First, I could not figure out a way to run it without creating a database of Rosh Hashanah days. (See Template:Hebrew year/rhdatum.) That means it does not run perpetually, and only runs in the past as far as I want to build that database. The wiki parser function converts from Gregorian to Hebrew, but not the reverse. So unless someone else has an open source conversion engine they are willing to program in, the second cell will be limited to a certain time interval. For now, the only dates in place are for the next twenty years. I will eventually code that box to disappear when the date is out of range, but I haven't done so yet.

Second, unfortunately mw:Extension:Variables hasn't been installed on this wiki (or on most of the Wikimedia projects, as far as I can tell). That means that every single year reference or calculation here has to call the time parser function from scratch, and calculate from scratch. So as a result, I had to calculate that the year had 354 days, and then freshly recalculate that the year had 354 days to activate a switch to call the year "regular." That's actually the main reason I didn't go on to display the standard three-letter code (for this year, הכז). I would have had to calculate each letter separately again! If there is a way to do some of this using Lua, I don't know it, and I'm not a Lua programmer. So if anyone knows someone who can do that and wants to, be my guest.

Proposed location(s)
Article Hebrew calendar, possibly Portal:Judaism. Any other ideas?

Thanks. StevenJ81 (talk) 14:11, 8 July 2015 (UTC)

Request for Input
I thought I'd solicit your opinion on this template before going to the WikiProject Judaism community at large. Thanks in advance for your advice/input. StevenJ81 (talk) 17:56, 31 July 2015 (UTC)

שבת שלום. StevenJ81 (talk) 18:56, 31 July 2015 (UTC)
 * You ask on a Friday afternoon (US east coast)?? I'll give an actual response on Sunday. Choor monster (talk) 18:13, 31 July 2015 (UTC)
 * (e/c)Interesting.All the information about 5775 in one place. Not many more places than those you suggested.Naraht (talk) 18:14, 31 July 2015 (UTC)
 * Of course I don't expect answers today, it's already Shabbos by Debresser. It's just that I finally decided I was ready to ask. That's all.
 * Meant to invite too. So now I am. StevenJ81 (talk) 22:17, 31 July 2015 (UTC)

Choor monster (talk) 15:52, 2 August 2015 (UTC)
 * It's fine as is, but I would prefer the following, mostly optional, added if you feel like it, and probably only used on User pages.
 * 1) It gives the year in Hebrew and Arabic (numbers!).
 * 2) It begins with the Keviah, leading into the following three statements on RH/type of year/Pesach.
 * 3) The type of year is short/in-order/full should mention (Mar)cheshvan/Kislev.
 * 4) Instead of "not a leap", use "non-leap". Better might be "12-month ordinary year" versus "13-month leap year".
 * 5) Shmitta cycle?
 * As an aside, there is no good way of referring to both non-leap and in-order in English in the same context.
 * Thanks for your suggestions. I really appreciate them.
 * Shmitta cycle is a great idea. I'll get on that. This year is Shmitta, so that means by current reckoning, Shmitta years are years evenly divisible by 7. I'm not going to identify a cycle number for Shmitta, because we're not currently reckoning with Yovel, etc., etc.
 * As for the rest, I don't entirely disagree, but there is a lot of redundant coding. I'll think on that. StevenJ81 (talk) 18:15, 3 August 2015 (UTC)
 * So here are some outcomes:
 * As long as the template is only valid for this year, putting the year in Hebrew numerals is easy. If the template is to be made valid for any arbitrary year, it's a lot harder to do, because we have no functionality for automatically converting Arabic numerals to Hebrew ones. (Templates are available for that at hewiki and yiwiki, but I don't want to start in with that right now.)
 * Shmitta functionality works. But the problem with shmitta is that the calculation isn't really valid indefinitely in the past or indefinitely in the future. It's true, of course, that the machzor gadol and machzor katan also assume a proleptic calendar. But with machzor gadol, that's kind of the point, and in machzor katan, it's known to be a calculation. For shmitta, it's explicitly wrong before a certain point, because shmitta (and yovel) cycles were calculated on a different basis then. [Side question: is there a date before which the current calculations are known not to have been valid? I could suppress shmitta calculations for dates before that.]
 * Some other thoughts:
 * I don't really want to do the specific, three-letter keviya right now. All the information for it is already present, of course. But hamevin yavin, while for most people the current presentation probably gives more useful information.
 * Mentioning (Mar)cheshvan/Kislev isn't necessary IMO.
 * I agree that there is no good way to refer to non-leap and in-order together. And until/unless I have a database of 5700+ Rosh Hashanah dates to draw on, I need to be able to continue to describe years as leap or not without getting tangled up in deficient/in-order/full.
 * I'll think further on the language of 12- or 13-month years. StevenJ81 (talk) 18:53, 3 August 2015 (UTC)
 * Conditional formatting (deleting top box when Rosh Hashanah datum is out of range) is complete. StevenJ81 (talk) 19:17, 3 August 2015 (UTC)

Years prior to 1752 CE in the subtemplate
First of all, I'd like to thank all of you for extending the range of the template and subtemplate. With respect to going backward from 1752, I think there is some room to keep going, if someone has an interest. The problem, I gather, is that Hebcal uses the proleptic Gregorian calendar prior to then, meaning that entering "true" Julian dates is going to give problem results. The good news, though, is that the MediaWiki parser functions  and , which drive this template, are also based on the proleptic Gregorian calendar. (See mw:Help:Extension:ParserFunctions.) So entering the date that comes out of Hebcal into the subtemplate should still give the correct day of the week for Rosh Hashanah going back earlier than the Gregorian conversion. Thanks again. StevenJ81 (talk) 16:58, 13 August 2019 (UTC)
 * Seyegd, thank you for not going (much) past 6000, as I've got to think that one way or the other, something will need to change at that point.
 * There is still the question of how far back one should really go. (See .) Personally, I would recommend going no farther back than AM 4939 (starting in the autumn of 1179 CE), because that (actually, the previous 3 Nisan) is the date that Rambam stated he was using as his fixed calculation point in Hilchot Kiddush HaHodesh 11:16.
 * You can make a case for going back as far as CE 1000, I suppose, but much farther back than that we don't have clear evidence that the current rules (even excluding the epoch) were fully in place.
 * I vaguely remember working on this, but I have a feeling I got more than 300~ years back. I might be mistaken though. --Gonnym (talk) 19:43, 13 August 2019 (UTC)
 * StevenJ81, The rules of the Hebrew calendar will also be adapted for thousand years after now, it does not appear that they will change in the next two hundred years. Before 359 did not use the calendar rules we use, since 359 to 927 we know of cases that used a different calendar, since 928 absolute certainty only used our calendar rules. But because of Gregory's amendment it is best not to add the years before 5384 AM = 1583 CE. yoisef yitzchok-talk, 13 Av 5779. 23:30, 13 August 2019 (UTC)
 * @Yoisef Yitzchok, I hear you. My point is simply that Gregory's changes always stay in the background of the calculation and never appear explicitly.
 * Consider Rosh Hashanah of 5261, which fell out on a Tuesday. The date in the surrounding Christian world was August 25, 1500 (Julian). If Gregory's calendar had existed that early, the date would have been September 4, 1500, Gregorian. And the parser function  yields , correctly, even though the Gregorian calendar didn't exist then.
 * If you are concerned that the input data in the subtemplate should not show Gregorian dates before 1583 CE, we could do it like this:
 * Instead of  (output: '), we could use   (output also: '), so that the input looks like a date on the Julian calendar.
 * But frankly, it's just not necessary, as long as the subtemplate uses the correct proleptic Gregorian dates. The only potential issue is that if someone calls the subtemplate from somewhere other than the main template here—like I do in the body text of the lead at Hebrew calendar—and that someone is looking to get out a date from before 1583, they will get a proleptic Gregorian date and not a Julian date. But we note that in the documentation and move on.
 * I'm not doing the coding, though. If no one else wants to extend earlier, it's no big problem to me. StevenJ81 (talk) 15:12, 15 August 2019 (UTC)

<