= Server = http://vastgota.nation.liu.se Det här är den officiella dokumentationen över hur Västgöta Nation i Linköpings webbsida fungerar. Sidor hostas av Lysator mailto:root@lysator.liu.se - Ubuntu 18.04 LTS. - Wordpress genom pakethanteraren, dock med vissa ombyggningar. - Nginx för HTTP == Användarkonton == Varje person som har något att göra på (från Unix-sidan) ska ha ett eget användarkonto. De bör även läggas till i gruppen vastgota (1004) för att kunna komma åt rimliga filer. {{{sh useradd -G vastgota }}} = Webbsida = http://vastgota.nation.liu.se/ Västgöta Nations webbsida kör för nuvarande Wordpress. Det temat som körs (Blogeasy) är valt för att det var det som såg minnst skit ut. == Design == {{{css class="right" /* Fullständig CSS-listning */ .main-nav-bg, .slicknav_menu { background-color: #FFe500; } .main-navigation a, .slicknav_nav a { color: #100b08; } .main-navigation a:hover, .slicknav_nav a:hover { color: #707070; } .sub-menu .menu-item { background-color: #FFe500; } .btn { background-color: #FFe500; border-color: #100b08; color: #100b08; } .site-footer { background-color: #ffe500; color: darkgrey; } .site-footer a { color: #100b08; } .site-footer a:hover { color: #707070; } #content a { color: blue; } #content a::visited { color: purple; } #content .entry-meta a { color: #002e5b; } #content header a { color: #002e5b; } #content aside a { color: #002e5b; } #content footer a { color: #002e5b; } #content a.btn { color: #100b08; } .datestr, .datesep { font-family: monospace; } td.eventful { background-color: #FFe500; border-radius: 20%; } td.eventful-today { border-radius: 20%; } }}} För att få temat i stil med föreningen har nedan följande CSS lagts till. Det den framförallt gör är att byta ut alla mörkblå element mot Västgöta-gula (`#FFe500`). Full CSS-listning till höger. === Förbättringar === Menyalternativ med barn markeras för nuvarande inte på skrivbordsversionen av webbsidan (dock på mobilversionen). Någonting i stil med följande bör användas. {{{css .menu-item-has-children > a:after { content: " V"; font-size: 80%; color: red; } }}} `.menu-item-has-children` är den interesanta biten. == Karta == På https://vastgota.nation.liu.se/attestupan/ finns en karta till stupan. I skrivandets stund använder den [[https://leafletjs.com/|LeafletJS]] vilket bygger på [[https://www.openstreetmap.org/|OpenStreetMap]]. == Ansvariga för Stupan == Ett minde PHP-tillägg finns också (se nedan). Vilket kör genom "Code Snippets" pluginet. Koden kan, vid behov, portas till annat format utan större besvär. Dock är den inget vidare. Det lägger till shortcoden `[ansvariga]`, vilket ger en lista på ansvariga för Stupan. Informationen fås från filen `/etc/vastgota/ansvariga`, och är på formen: {{{ 2018-10-12 Hugo }}} Altså ISO-8601 datum, följt av ett mellanslag och ett namn. Mellanslag får förekomma i namnet. Rader som börjar med `#` är kommentarer, end of line kommentarer stödjs inte. Shortcoden tar ett argument, `back`, vilket är hur många veckor backåt mistorik ska visas. Om inget argument ges visas full historik. På ättestupans webbsida visas historik fyra veckor bakåt, samt så länkas det till en sida med full historik. === ICal === Det finns också ett python-script (listat nedan) vilket läser igenom filen och dumpar ut det till en icalendar blob. Tyvärr kör den inte för nuvarande för att servern inte hade något bra sätt att integrera godtyckliga script. === Kommentar från /etc/vastgota/ansvariga === {{{sh # The following is a list of people responsible for Ättestupan. # Each line should contain an ISO-8601 formatted date (YYYY-MM-DD), # followed by a space and finally any number of characters which make # out the name. # Entries should be placed in chronological order. # Refrain from deleting old entries unless totally necessary. }}} === Text till webbsida === https://vastgota.nation.liu.se/attestupan/ansvariga/ Just nu står det Vi behöver inget snöre Jag tror det duger bra. === Kodlistning === {{{php 0 ), $atts); if ($a["back"] == 0) { $back = false; } else { $back = strtotime("-". $a["back"] . " weeks"); } $retstr = ""; $retstr .= ""; return $retstr; } ); }}} {{{python #!/usr/bin/env python3 # Simple program for generating a vcalendar of people responssible for # Ättestupan. Runs as a CGI script. # TODO Currently doesn't check that a line doesn't contain more that # 75 octets. vcal_fmt = """BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Västgöta Nation/2.0/ {} END:VCALENDAR""" vevent_fmt = """BEGIN:VEVENT UID:vg_ansvarig_{date}@vastgota.nation.liu.se DTSTART:{date}T190000 DTEND:{date}T220000 SUMMARY:Stupan: {ansvarig} ans. END:VEVENT """ # Should DTSTAMP be added, should signal when the event was created, # which I can probably just set to the generation time (running time # of this script)k def get_vcalendar(ansvarig_file): """ Returns a string containing a vcalendar of all people responsible. """ str = "" with open(ansvarig_file, "r") as f: for line in f: line = line.replace("\n", "") if not line: continue if line[0] == "#": continue date, ansvarig = line.split(" ", 1) str += vevent_fmt.format(date=date.replace("-", ""), ansvarig=ansvarig) return vcal_fmt.format(str).replace("\n", "\r\n") def get_header(): return """HTTP/1.1 Connection: Close Content-type: text/calendar """ if __name__ == "__main__": print(get_header()) print(get_vcalendar("/etc/vastgota/ansvariga")) }}} --------------- All kod på den här sidan är manuellt inklippt. Skillnader från det som faktiskt körs kan finnas. = Skrivare = - DCP-L2520 DW - Bläck - Enligt Brother - TN-660 - TN-630 - Enligt CDON, på produkten - [[https://cdon.se/hushallsapparater/lasertoner-brother-tn-2310-p40388232|TN-2310]] = Telefon = - `*120#` för att visa abonemangsstatus. = Kalender = :todo: Nuvarande har problem https://git.hornquist.se/vg-cal - Visas på lämpligt sätt - VCalendar/.ics nedladdning - Manuellt tillagda events. - Auto-hantering av ansvariga == Events Manager == http://wp-events-plugin.com/ Den vi använder. Den helt klart bästa. Tillhandahåller upprepade events. Saknar lite när det kommer till användarvänlighet samt display, men det går nog att lösa på sikt. Har även ett bokningssystem i sig, oklart huruvida man kan låta vem som skapa ny bokning, eller om det bara är för att anmäla sig till events som finns. == Events Calendar == https://theeventscalendar.com/ Helt byggd kring events, och inte återkommande events. Har dessutom en jobbig licensmodell. == Booking Calendar == https://wpbookingcalendar.com/ Med tillägget Booking Manager Ser bra ut, men har inte heller stöd för upprepande events. Påstår sig ha möjlighet att importera ICS strömmar, men verkar skapa en sepparat bokning då. = WP cli = https://github.com/wp-cli/wp-cli Installerat till `/usr/local/bin/wp`. I början av `/usr/share/wordpress/wp-config.php`, precis efter ``cat file.txt`" \ --post_title='Veckomail v.13' \ --post_status=publish \ --post_category=Veckomail }}} https://git.lysator.liu.se/hugo/wp-publish-by-email = Veckbrev mailproxy = :todo: Veckbrev bör automatiskt publiceras på webbsidan då de skickas till listan... Uppnås troligen enklast genom att lägga till publish@vastgota.lysator.liu.se (eller liknande) på listan, och låta servern fånga upp det. {{{ # /etc/postfix/relay/*_recipients test@vastgota.lysator.liu.se OK $ postmap vastgota_recipients }}} ==== Några resurser ==== - https://codex.wordpress.org/Post_to_your_blog_using_email - https://developer.wordpress.org/reference/functions/wp_insert_post/ - https://github.com/TheFox/smtpd - [X] Läggs `[Västgöta Nation]` automatiskt till i brevhuvud? NEJ