MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    Config for a simple clean montly calendar

    Scheduled Pinned Locked Moved Development
    25 Posts 8 Posters 22.8k Views 9 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M Offline
      mlcampbe @Clubjack
      last edited by mlcampbe

      @Clubjack
      Here is what I am currently using.

      Imgur

      C P 2 Replies Last reply Reply Quote 1
      • C Offline
        Clubjack @mlcampbe
        last edited by

        @mlcampbe
        Thank You. I Like it.
        Which Module did you use? CalendarExt or Ext2?
        Possible to get your config?

        M 1 Reply Last reply Reply Quote 0
        • M Offline
          mlcampbe @Clubjack
          last edited by mlcampbe

          @Clubjack
          On the right-hand side I am using the modules all in the top-right region:
          default clock
          MMM-DarkSkyForecast
          default calendar
          MMM-SimpleLogo (used to display a static image that is my calendar color legend)

          The main calendar is using MMM-CalendarExt2 in the top-left region with 7 different google/icloud calendar URLs defined in the “calendars” section of the module. The rest of the MMM-CalendarExt2 config in the config.js is for the view/scene and I am using this:

          views: [
                    { 
                      name: "view1",
                      mode: "week",
                      slotCount: "7",
                      maxItems: "1000",
                      hideOverflow: false,
                      slotMaxHeight: "95px",
                      monthFormat: "MMMM YYYY",
                      position: "top_left",
                      calendars: []
                    },
                  ],
                  scenes: [
                    {  
                      name: "DEFAULT",
                    },
                  ],
          

          All of the formatting is done within the custom.css file which is heavily customized like this:

          body {
                  background-size: cover;
                  margin: 20px; 
                  height: calc(100% - 40px);
                  width: calc(100% - 40px);
          }
          
          .xsmall {
                  font-size: 17px;
          }
          
          .region.top.right {
                  width: 23%;
          }
          
          .region.top.left {
                  width: 77%;
          }
          
          .calendar .time {
                  padding-left: 20px;
                  color: #FFF;
                  font-weight: normal;
          }
          
          .MMM-DarkSkyForecast .module-content {
                  width: unset;
          }
          
          .CX2 {
                  --font-size: 14px;
          }
          
          .CX2 .event {
                  padding: 0px;
          }
          
          .CX2 .weekSlot .timelineSleeve {
                  height: calc(var(--font-size) + 5px);
          }
          
          .CX2 .weeksmark {
                  display:none;
          }
          
          .CX2 .event.passed::before {
                  background: none;
          }
          
          .CX2 .cellSlot.weekday_6 .slotSubTitle {
                  color: #F66;
          }
          
          .CX2 .cellSlot.weekday_7 .slotSubTitle {
                  color: #F66;
          }
          
          .CX2 .cellSlot .slotTitle, .CX2 .cellSlot .slotSubTitle, .CX2 .cellSlot .slotAltTitle {
                  font-size: 20px;
                  color: #FFF;
          }
          
          .CX2 .today .slotHeader {
                  background: rgba(64,64,64,0.8);
                  color: #000;
          }
          
          .CX2 .today .slotHeader .slotTitle {
                  color: #FFF;
          }
          
          .CX2 .today .slotContent {
                  background: #eeeeee69;
                  #border: 1px solid white;
          }
          
          .CX2 .me, .me.event.fullday {
                  border-radius: 5px;
                  background-color: #83CCD5;
                  color: #000;
          }
          
          .CX2 .wife, .wife.event.fullday {
                  border-radius: 5px;
                  background-color: #EB738B;
                  color: #000;
          }
          
          .CX2 .social, .social.event.fullday {
                  border-radius: 5px;
                  background-color: #D59C73;
                  color: #000;
          }
          
          .CX2 .piano, .piano.event.fullday {
                  border-radius: 5px;
                  background-color: #B4CC5A;
                  color: #000;
          }
          
          .CX2 .birthday, .birthday.event.fullday {
                  border-radius: 5px;
                  background-color: #F0E68C;
                  color: #000;
          }
          
          .CX2 .college, .college.event.fullday {
                  border-radius: 5px;
                  background-color: #A473AC;
                  color: #000;
          }
          
          .CX2 .holiday, .holiday.event.fullday {
                  border-radius: 5px;
                  background-color: #7B9CCC;
                  color: #000;
          
          .CX2 .slot > .slotContent {
                  background-image: none;
          }
          
          .CX2 .monthViewTitle {
                  text-align: left;
          }
          
          .CX2 .eventTitle {
                  font-weight: normal;
          }
          
          C C 3 Replies Last reply Reply Quote 3
          • C Offline
            Clubjack @mlcampbe
            last edited by

            @mlcampbe
            Thank You for that.

            I never worked with custom.css before.
            Is there an tutorial for custom.css, to understand all whats inside?

            S M 3 Replies Last reply Reply Quote 0
            • S Offline
              sdetweil @Clubjack
              last edited by

              @Clubjack said in Config for a simple clean montly calendar:

              Is there an tutorial for custom.css, to understand all whats inside?

              nothing inside, until you add it…

              it overrides (or adds to) the main.css so you can customize the styles of elements
              never modify the main.css

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              1 Reply Last reply Reply Quote 1
              • M Offline
                mlcampbe @Clubjack
                last edited by

                @Clubjack
                In my case it was mostly trial and error. I am not a css guru by any stretch of the imagination. You might want to take a look at https://forum.magicmirror.builders/topic/6808/css-101-getting-started-with-css-and-understanding-how-css-works which has some tips.

                1 Reply Last reply Reply Quote 2
                • C Offline
                  cyberphox @mlcampbe
                  last edited by

                  @mlcampbe What is the size of your logo you are using? Can I see that part of your config as well maybe? Thanks!

                  Full time Dad, DJ and entertainer and lover of technology.

                  1 Reply Last reply Reply Quote 0
                  • M Offline
                    mlcampbe
                    last edited by

                    By logo do you mean the legend that is below the calendar event details on the right-hand side of the screen? If so then that is using the MMM-SimpleLogo module with the below config and an image that is 294x135 pixels.

                    {
                      module: "MMM-SimpleLogo",
                      disabled: false,
                      position: "top_right",
                      config: {
                        position: "right",
                        text: "",
                        width: "250px"
                      }
                    

                    Note that the width: 250px is used so that it will be centered within the right-hand “column”.

                    C 1 Reply Last reply Reply Quote 1
                    • C Offline
                      cyberphox @mlcampbe
                      last edited by

                      @mlcampbe that’s exactly the info i was looking for! thanks!

                      Full time Dad, DJ and entertainer and lover of technology.

                      1 Reply Last reply Reply Quote 0
                      • S Offline
                        sdetweil @Clubjack
                        last edited by

                        @Clubjack style sheets cascade. newer can replace/override prior classes and styles…

                        so MM does this

                        main.css (1st)
                        modules adding their own style sheets (thru the getStyles() method response if used)
                        custom.css (last)

                        so, anything that happened BEFORE custom.css is loaded can be changed with entries in custom.css

                        custom.css is empty by default

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

                        1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 2 / 3
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy