Circle around today

main2
Bob Mottram 2019-10-11 10:02:20 +01:00
parent 93c5857272
commit 56ba5c1c19
2 changed files with 58 additions and 30 deletions

View File

@ -5,7 +5,7 @@
--day-number: #a4a2a2;
--day-number2: #c9c7c7;
--today-foreground: white;
--today-background: darkgray;
--today-circle: yellow;
}
body {
@ -95,33 +95,14 @@ tr:nth-child(even) > .calendar__day__cell:nth-child(even) {
background-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] {
background-color: var(--today-background);
border-color: var(--today-background);
color: var(--today-foreground);
}
.calendar__day__cell[data-today]:after {
content: attr(data-today);
color: var(--today-foreground);
display: block;
font-size: .75rem;
font-weight: 400;
position: absolute;
bottom: 0;
width: 100%;
height: 1rem;
text-transform: uppercase;
border-radius: 50%;
width: 36px;
height: 36px;
padding: 8px;
border: 4px solid var(--today-circle);
color: var(--today-circle);
text-align: center;
}

View File

@ -2751,6 +2751,51 @@ def weekDayOfMonthStart(monthNumber: int,year: int) -> int:
firstDayOfMonth=datetime(year, monthNumber, 1, 0, 0)
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: {}, \
baseDir: str,path: str) -> str:
"""Show the calendar for a person
@ -2784,6 +2829,8 @@ def htmlCalendar(translate: {}, \
nickname=getNicknameFromActor(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']
monthName=translate[months[monthNumber-1]]