Difference between revisions of "Template:Ribbon2"

From Geohashing
(strike out "Make the {{{image}}} parameter work")
(i've been nerd-sniped)
Line 1: Line 1:
 
<!-- this css MUST NOT have any variables in it - someday, it'll be moved to [[MediaWiki:Common.css]] -->
 
<!-- this css MUST NOT have any variables in it - someday, it'll be moved to [[MediaWiki:Common.css]] -->
 
{{#css:
 
{{#css:
.ribbon2-wrapper {
 
  display:flex;
 
}
 
 
.ribbon2 {
 
.ribbon2 {
   padding: 5px 5px 5px 0;
+
   padding: 5px;
 
   margin: 2px 0;
 
   margin: 2px 0;
 
   max-width: 100%;
 
   max-width: 100%;
 
   border: 1px solid lightgray;
 
   border: 1px solid lightgray;
   border-left: 5px solid #bada55;
+
   border-left: 5px solid #e8bf78;
 +
  border-radius: 1px;
 
   align-items: center;
 
   align-items: center;
 
   width: fit-content;
 
   width: fit-content;
}
 
  
.ribbon2-grid {
+
  .ribbon2-icon {
  display: grid;
+
    grid-area: icon;
  grid-template-areas:  
+
    display: flex;
      "icon achv imag xtra"
+
    place-items: center;
       "icon actn imag xtra";
+
    img {
  grid-template-columns: min-content auto min-content min-content;
+
       width: 3em;
}
+
      height: 3em;
 +
    }
 +
  }
  
.ribbon2-flex {
+
  .ribbon2-achievement {
  display:flex;
+
    font-weight: bold;
}
+
    grid-area: achievement;
 +
  }
  
.ribbon2-flex .ribbon2-actn {
+
  .ribbon2-action {
  max-height: 4em;
+
    grid-area: action;
   overflow-y: auto;
+
   }
}
 
  
.ribbon2 > * {
+
   .ribbon2-image {
   margin: 0 5px;
+
    grid-area: image;
}
+
    display: flex;
.ribbon2-icon {
+
    place-items: center;
  grid-area: icon;
+
    align-self: stretch;
}
+
   }
.ribbon2-achv {
 
  grid-area: achv;
 
  font-weight: bold;
 
}
 
.ribbon2-grid .ribbon2-actn {
 
  grid-area: actn;
 
  padding-left: 1em;
 
}
 
.ribbon2-xtra {
 
   grid-area: xtra;
 
}
 
.ribbon2-imag {
 
  grid-area: imag;
 
 
}
 
}
  
.ribbon2-icon a { display: flex; }
+
.ribbon2[data-ribbon2-theme=default] {
.ribbon2-theme-default .ribbon2-icon {width: 70px;}
+
   display: grid;
 
+
   grid-template-areas:
.ribbon2-xtra, .ribbon2-imag {
+
    "icon achievement achievement image"
   padding-left: 10px;
+
    "icon .          action      image";
   border-left: 1px solid lightgray;
+
   grid-template-columns: auto 3em 1fr auto;
   align-self: stretch;
+
   gap: 0 1ch;
   display: flex;
 
 
   align-items: center;
 
   align-items: center;
  grid-row: span 2;
 
 
}
 
}
  
  
.ribbon2-theme-mini {
+
}}<div class="ribbon2" style="border-left-color={{{color}}}" data-ribbon2-theme="{{#var:ribbontheme|default}}">
  grid-template-areas: "icon achv actn . imag xtra";
+
  <div class="ribbon2-icon">{{{iconcode|[[File:{{{icon|Landgeohash.png}}}|70px]]}}}</div>
  grid-template-columns: min-content max-content max-content auto min-content min-content;
+
  <div class="ribbon2-achievement">{{{achievement}}}</div>
  padding: 0;
+
  <div class="ribbon2-action">{{{action}}}</div>
}
+
<div class="ribbon2-image">{{#if:{{{image|}}}|[[Image:{{{image}}}|50px]]}}</div>
.ribbon2-theme-mini .ribbon2-actn {
+
</div><noinclude>
  padding-left: 0;
 
}
 
.ribbon2-theme-mini .ribbon2-achv::after {
 
  /* for some reason `content: " ";` doesn't work */
 
  content: "&nbsp;";
 
}
 
.ribbon2-theme-mini img {
 
  width: 22px;
 
  height: 22px;
 
}
 
 
 
}}{{Ribbon2/{{#switch:{{#var:ribbontheme}}|mini=mini|micro=micro|#default=default}}
 
|style=border-left-color:{{{color|#bada55}}};background:{{{background|white}}};color:{{{fontcolor|black}}};width:{{#var:ribbonwidth|fit-content}}
 
|color={{{color|#bada55}}}
 
|icon={{{icon|landgeohash.png}}}
 
|achievement={{{achievement}}}
 
|action={{{action}}}
 
|expedition={{{expedition}}}
 
|background={{{background|white}}}
 
|fontcolor={{{fontcolor|black}}}
 
|image={{{image|}}}
 
}}<noinclude>
 
  
 
== Tests ==
 
== Tests ==
Line 99: Line 61:
 
{{Frozen Geohash|latitude=43|longitude=-79|date=2020-02-08|temperature=-17°C|name=SIGSTKFLT|multiplier=3|image=2020-02-08_43_-79_SIGSTKFLT-stupidgrin.jpg}}
 
{{Frozen Geohash|latitude=43|longitude=-79|date=2020-02-08|temperature=-17°C|name=SIGSTKFLT|multiplier=3|image=2020-02-08_43_-79_SIGSTKFLT-stupidgrin.jpg}}
 
{{Ribbon2}}
 
{{Ribbon2}}
 +
=== Mini ===
 
{{#vardefine:ribbontheme|mini}}
 
{{#vardefine:ribbontheme|mini}}
 
{{Ribbon2}}
 
{{Ribbon2}}
 
{{Ribbon2|action={{Lipsum}}}}
 
{{Ribbon2|action={{Lipsum}}}}
 +
=== Micro ===
 
{{#vardefine:ribbontheme|micro}}
 
{{#vardefine:ribbontheme|micro}}
 
{{Ribbon2|achievement=foo|expedition=bar}}
 
{{Ribbon2|achievement=foo|expedition=bar}}

Revision as of 01:25, 18 November 2024

Landgeohash.png
{{{achievement}}}
{{{action}}}

Tests

Landgeohash.png
{{{achievement}}}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
2020-02-08 43 -79 SIGSTKFLT-stupidgrin.jpg
Fiveohthree.png
DanQ earned the Dark Ages achievement
by going on an expedition to the (51, -1) geohash on 2019-11-29.
Vlcsnap-2019-11-29-15h55m24s199.jpg
Frozen.png
SIGSTKFLT earned the Frozen Geohash Achievement
by reaching the (43, -79) geohash on 2020-02-08 while the temperature was -17°C.
2020-02-08 43 -79 SIGSTKFLT-stupidgrin.jpg
Landgeohash.png
{{{achievement}}}
{{{action}}}

Mini

Landgeohash.png
{{{achievement}}}
{{{action}}}
Landgeohash.png
{{{achievement}}}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Micro

Landgeohash.png
foo
{{{action}}}

TODO

  • Handle long actions in mini and micro themes
  • Split themes into their own templates?
  • Make the {{{image}}} parameter work