Compare commits
No commits in common. "main" and "v1" have entirely different histories.
2 changed files with 78 additions and 104 deletions
|
|
@ -11,13 +11,15 @@ function generate_calendar(calendarID, year, month)
|
||||||
-- A specified year and month will always display that calendar.
|
-- A specified year and month will always display that calendar.
|
||||||
if year == 0 and month == 0 then
|
if year == 0 and month == 0 then
|
||||||
local wantedMonth = clientStore.get("calendar:" .. calendarID)
|
local wantedMonth = clientStore.get("calendar:" .. calendarID)
|
||||||
editor.flashNotification(wantedMonth)
|
|
||||||
-- Calculate year and month from the current date plus a month offset.
|
-- Calculate year and month from the current date plus a month offset.
|
||||||
if wantedMonth == nil then
|
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
|
end
|
||||||
year = (wantedMonth - (wantedMonth % 12)) / 12
|
year = (wantedMonth - (wantedMonth % 12)) / 12
|
||||||
month = wantedMonth % 12 + 1
|
month = wantedMonth % 12
|
||||||
|
if month == 0 then
|
||||||
|
month = 1
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local events = query[[
|
local events = query[[
|
||||||
|
|
@ -71,12 +73,12 @@ function generate_calendar(calendarID, year, month)
|
||||||
for _, e in pairs(events) do
|
for _, e in pairs(events) do
|
||||||
local datematch = e.at.match(
|
local datematch = e.at.match(
|
||||||
string.format("^%d-%02d-%02d( +[0-9]+:[0-9]+)?", year, month, day))
|
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(
|
cellcontent = cellcontent .. string.format(
|
||||||
[[<a href="%s"><div class="event all-day">%s</div></a>]],
|
[[<a href="%s"><div class="event all-day">%s</div></a>]],
|
||||||
e.ref, e.name
|
e.ref, e.name
|
||||||
)
|
)
|
||||||
elseif datematch and #datematch >= 2 and datematch[2] then
|
elseif #datematch >= 2 and datematch[2] then
|
||||||
cellcontent = cellcontent .. string.format(
|
cellcontent = cellcontent .. string.format(
|
||||||
[[
|
[[
|
||||||
<a href="%s">
|
<a href="%s">
|
||||||
|
|
@ -164,49 +166,52 @@ end
|
||||||
```space-style
|
```space-style
|
||||||
.calendartable {
|
.calendartable {
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
|
/* width: 500px; */
|
||||||
|
}
|
||||||
|
|
||||||
table {
|
.calendartable table {
|
||||||
border-color: var(--panel-border-color);
|
border-color: var(--panel-border-color);
|
||||||
border: 2px solid #444;
|
border: 2px solid #444;
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
|
||||||
th {
|
.calendartable th {
|
||||||
width: 14%;
|
width: 14%;
|
||||||
padding: 3px;
|
padding: 3px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
background-color: var(--panel-background-color);
|
background-color: var(--panel-background-color);
|
||||||
color: #852624;
|
color: #852624;
|
||||||
border: 1px solid #aaa;
|
border: 1px solid #aaa;
|
||||||
}
|
}
|
||||||
|
|
||||||
td {
|
|
||||||
|
.calendartable td {
|
||||||
width: 14%;
|
width: 14%;
|
||||||
padding: 3px;
|
padding: 3px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
border: 1px solid #aaa;
|
border: 1px solid #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
&.today {
|
.calendartable td.today {
|
||||||
background-color: #f6f3c2;
|
background-color: #f6f3c2;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
.calendartable a {
|
||||||
text-decoration-line: none;
|
text-decoration-line: none;
|
||||||
color: var(--root-color);
|
color: var(--root-color);
|
||||||
|
}
|
||||||
|
|
||||||
&.mark {
|
.calendartable a.mark {
|
||||||
text-decoration-line: none;
|
text-decoration-line: none;
|
||||||
color: var(--ui-accent-text-color);
|
color: var(--ui-accent-text-color);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
span.extramarker {
|
.calendartable span.extramarker {
|
||||||
background-color: yellow;
|
background-color: yellow;
|
||||||
}
|
}
|
||||||
|
|
||||||
.event {
|
.calendartable .event {
|
||||||
background-color: #2ca05a;
|
background-color: #2ca05a;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
|
|
@ -216,20 +221,20 @@ end
|
||||||
white-space: normal;
|
white-space: normal;
|
||||||
overflow-wrap: normal !important;
|
overflow-wrap: normal !important;
|
||||||
word-break: normal !important;
|
word-break: normal !important;
|
||||||
|
|
||||||
&.all-day {
|
|
||||||
background-color: #852624;
|
|
||||||
}
|
|
||||||
|
|
||||||
.time {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.month-prev,
|
|
||||||
.month-next,
|
|
||||||
.month-now {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.calendartable .event.all-day {
|
||||||
|
background-color: #852624;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendartable .event .time {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendartable .month-prev,
|
||||||
|
.calendartable .month-next,
|
||||||
|
.calendartable .month-now {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
|
||||||
31
README.md
31
README.md
|
|
@ -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
|
|
||||||
```
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue