mirror of https://gitlab.com/bashrc2/epicyon
Circle around today
parent
93c5857272
commit
56ba5c1c19
|
@ -5,7 +5,7 @@
|
||||||
--day-number: #a4a2a2;
|
--day-number: #a4a2a2;
|
||||||
--day-number2: #c9c7c7;
|
--day-number2: #c9c7c7;
|
||||||
--today-foreground: white;
|
--today-foreground: white;
|
||||||
--today-background: darkgray;
|
--today-circle: yellow;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
|
@ -95,33 +95,14 @@ tr:nth-child(even) > .calendar__day__cell:nth-child(even) {
|
||||||
background-color: blue;
|
background-color: blue;
|
||||||
color: blue;
|
color: blue;
|
||||||
}
|
}
|
||||||
.calendar__day__cell[data-event]:after {
|
|
||||||
content: attr(data-event);
|
|
||||||
color: #F6E9DC;
|
|
||||||
display: block;
|
|
||||||
font-weight: 400;
|
|
||||||
font-size: .75rem;
|
|
||||||
position: absolute;
|
|
||||||
bottom: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 1rem;
|
|
||||||
text-transform: uppercase;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar__day__cell[data-today] {
|
.calendar__day__cell[data-today] {
|
||||||
background-color: var(--today-background);
|
border-radius: 50%;
|
||||||
border-color: var(--today-background);
|
width: 36px;
|
||||||
color: var(--today-foreground);
|
height: 36px;
|
||||||
}
|
padding: 8px;
|
||||||
.calendar__day__cell[data-today]:after {
|
|
||||||
content: attr(data-today);
|
border: 4px solid var(--today-circle);
|
||||||
color: var(--today-foreground);
|
color: var(--today-circle);
|
||||||
display: block;
|
text-align: center;
|
||||||
font-size: .75rem;
|
|
||||||
font-weight: 400;
|
|
||||||
position: absolute;
|
|
||||||
bottom: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 1rem;
|
|
||||||
text-transform: uppercase;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2751,6 +2751,51 @@ def weekDayOfMonthStart(monthNumber: int,year: int) -> int:
|
||||||
firstDayOfMonth=datetime(year, monthNumber, 1, 0, 0)
|
firstDayOfMonth=datetime(year, monthNumber, 1, 0, 0)
|
||||||
return int(firstDayOfMonth.strftime("%w"))+1
|
return int(firstDayOfMonth.strftime("%w"))+1
|
||||||
|
|
||||||
|
def getCalendarEvents(baseDir: str,nickname: str,domain: str,year: int,monthNumber: int) -> []:
|
||||||
|
"""Retrieves calendar events
|
||||||
|
Returns a list of lists containing Event and Place activities
|
||||||
|
"""
|
||||||
|
calendarFilename=baseDir+'/accounts/'+nickname+'@'+domain+'/calendar/'+str(year)+'/'+str(monthNumber)+'.txt'
|
||||||
|
events=[]
|
||||||
|
if not os.path.isfile(calendarFilename):
|
||||||
|
return events
|
||||||
|
calendarPostIds=[]
|
||||||
|
recreateEventsFile=False
|
||||||
|
with open(calendarFilename,'r') as eventsFile:
|
||||||
|
for postId in eventsFile:
|
||||||
|
postFilename=locatePost(baseDir,nickname,domain,postId)
|
||||||
|
if postFilename:
|
||||||
|
postJsonObject=None
|
||||||
|
try:
|
||||||
|
with open(postFilename, 'r') as fp:
|
||||||
|
postJsonObject=commentjson.load(fp)
|
||||||
|
except Exception as e:
|
||||||
|
print(e)
|
||||||
|
if postJsonObject:
|
||||||
|
if postJsonObject.get('object'):
|
||||||
|
if isinstance(postJsonObject['object'], dict):
|
||||||
|
if postJsonObject['object'].get('tag'):
|
||||||
|
postEvent=[]
|
||||||
|
for tag in postJsonObject['object']['tag']:
|
||||||
|
if tag.get('type'):
|
||||||
|
if tag['type']=='Event' or tag['type']=='Place':
|
||||||
|
postEvent.append(tag)
|
||||||
|
if postEvent:
|
||||||
|
calendarPostIds.append(postId)
|
||||||
|
# TODO this should be in a calendar-like format
|
||||||
|
events.append(postEvent)
|
||||||
|
else:
|
||||||
|
recreateEventsFile=True
|
||||||
|
|
||||||
|
# if some posts have been deleted then regenerate the calendar file
|
||||||
|
if recreateEventsFile:
|
||||||
|
calendarFile=open(calendarFilename, "w")
|
||||||
|
for postId in calendarPostIds:
|
||||||
|
calendarFile.write(postId+'\n')
|
||||||
|
calendarFile.close()
|
||||||
|
|
||||||
|
return events
|
||||||
|
|
||||||
def htmlCalendar(translate: {}, \
|
def htmlCalendar(translate: {}, \
|
||||||
baseDir: str,path: str) -> str:
|
baseDir: str,path: str) -> str:
|
||||||
"""Show the calendar for a person
|
"""Show the calendar for a person
|
||||||
|
@ -2780,10 +2825,12 @@ def htmlCalendar(translate: {}, \
|
||||||
monthNumber=currDate.month
|
monthNumber=currDate.month
|
||||||
|
|
||||||
print('Calendar year='+str(year)+' month='+str(monthNumber)+ ' '+str(weekDayOfMonthStart(monthNumber,year)))
|
print('Calendar year='+str(year)+' month='+str(monthNumber)+ ' '+str(weekDayOfMonthStart(monthNumber,year)))
|
||||||
|
|
||||||
nickname=getNicknameFromActor(actor)
|
nickname=getNicknameFromActor(actor)
|
||||||
domain,port=getDomainFromActor(actor)
|
domain,port=getDomainFromActor(actor)
|
||||||
|
|
||||||
|
events=getCalendarEvents(baseDir,nickname,domain,year,monthNumber)
|
||||||
|
|
||||||
months=['Jaruary','February','March','April','May','June','July','August','September','October','November','December']
|
months=['Jaruary','February','March','April','May','June','July','August','September','October','November','December']
|
||||||
monthName=translate[months[monthNumber-1]]
|
monthName=translate[months[monthNumber-1]]
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue