Compare commits

..

No commits in common. "main" and "v1" have entirely different histories.
main ... v1

2 changed files with 78 additions and 104 deletions

View file

@ -11,13 +11,15 @@ function generate_calendar(calendarID, year, month)
-- A specified year and month will always display that calendar.
if year == 0 and month == 0 then
local wantedMonth = clientStore.get("calendar:" .. calendarID)
editor.flashNotification(wantedMonth)
-- Calculate year and month from the current date plus a month offset.
if wantedMonth == nil then
wantedMonth = tonumber(os.date("%Y")) * 12 + (tonumber(os.date("%m"))-1)
wantedMonth = tonumber(os.date("%Y")) * 12 + tonumber(os.date("%m"))
end
year = (wantedMonth - (wantedMonth % 12)) / 12
month = wantedMonth % 12 + 1
month = wantedMonth % 12
if month == 0 then
month = 1
end
end
local events = query[[
@ -71,12 +73,12 @@ function generate_calendar(calendarID, year, month)
for _, e in pairs(events) do
local datematch = e.at.match(
string.format("^%d-%02d-%02d( +[0-9]+:[0-9]+)?", year, month, day))
if datematch and #datematch >= 2 and not datematch[2] then
if #datematch >= 2 and not datematch[2] then
cellcontent = cellcontent .. string.format(
[[<a href="%s"><div class="event all-day">%s</div></a>]],
e.ref, e.name
)
elseif datematch and #datematch >= 2 and datematch[2] then
elseif #datematch >= 2 and datematch[2] then
cellcontent = cellcontent .. string.format(
[[
<a href="%s">
@ -164,72 +166,75 @@ end
```space-style
.calendartable {
border-collapse: collapse;
table {
border-color: var(--panel-border-color);
border: 2px solid #444;
border-collapse: collapse;
th {
width: 14%;
padding: 3px;
text-align: left;
background-color: var(--panel-background-color);
color: #852624;
border: 1px solid #aaa;
}
td {
width: 14%;
padding: 3px;
text-align: left;
vertical-align: top;
border: 1px solid #aaa;
&.today {
background-color: #f6f3c2;
}
}
}
a {
text-decoration-line: none;
color: var(--root-color);
&.mark {
text-decoration-line: none;
color: var(--ui-accent-text-color);
}
}
span.extramarker {
background-color: yellow;
}
.event {
background-color: #2ca05a;
color: #fff;
border-radius: 4px;
padding: 4px 8px;
margin-top: 8px;
max-width: 200px;
white-space: normal;
overflow-wrap: normal !important;
word-break: normal !important;
&.all-day {
background-color: #852624;
}
.time {
font-weight: bold;
}
}
.month-prev,
.month-next,
.month-now {
cursor: pointer;
}
/* width: 500px; */
}
.calendartable table {
border-color: var(--panel-border-color);
border: 2px solid #444;
border-collapse: collapse;
}
.calendartable th {
width: 14%;
padding: 3px;
text-align: left;
background-color: var(--panel-background-color);
color: #852624;
border: 1px solid #aaa;
}
.calendartable td {
width: 14%;
padding: 3px;
text-align: left;
vertical-align: top;
border: 1px solid #aaa;
}
.calendartable td.today {
background-color: #f6f3c2;
}
.calendartable a {
text-decoration-line: none;
color: var(--root-color);
}
.calendartable a.mark {
text-decoration-line: none;
color: var(--ui-accent-text-color);
}
.calendartable span.extramarker {
background-color: yellow;
}
.calendartable .event {
background-color: #2ca05a;
color: #fff;
border-radius: 4px;
padding: 4px 8px;
margin-top: 8px;
max-width: 200px;
white-space: normal;
overflow-wrap: normal !important;
word-break: normal !important;
}
.calendartable .event.all-day {
background-color: #852624;
}
.calendartable .event .time {
font-weight: bold;
}
.calendartable .month-prev,
.calendartable .month-next,
.calendartable .month-now {
cursor: pointer;
}
```

View file

@ -1,31 +0,0 @@
# Calendar
```lua
generate_calendar(idString, fixedYear, fixedMonth)
```
## Aktuell månad
Genererar en kalender med dagens datum, eller sparar senaste månaden med namnet "foo". Genereras en till kalender med samma namn visar den samma månad.
```lua
generate_calendar("foo", 0, 0)
```
## Specifik månad
För att visa en kalender med enbart september 2025:
```lua
generate_calendar("fixed:1", 2025, 9)
```
## Events
Events läggs till med:
```plaintext
* En text för eventet [at: 2025-09-10] #event
```
eller
```plaintext
* En text för eventet [at: 2025-09-10 08:00] #event
```