Переглянути джерело

:art: using grid layout for homepage

tags/0.9.0
J 4 роки тому
джерело
коміт
3743413a08
2 змінених файлів з 136 додано та 92 видалено
  1. 0
    23
      vue-theme/src/app.vue
  2. 136
    69
      vue-theme/src/pages/index.vue

+ 0
- 23
vue-theme/src/app.vue Переглянути файл

71
                 /* Single & List Pages */
71
                 /* Single & List Pages */
72
                 > article
72
                 > article
73
                     background-color: lightpink
73
                     background-color: lightpink
74
-                    > * > * 
75
-                        padding: $ms-0
76
-                    > section, > header
77
-                        margin: 0 0 $ms-0
78
-                    .block-wrapper
79
-                        .wp-block-gallery
80
-                            .blocks-gallery
81
-                                /* &-grid
82
-                                    list-style: none
83
-                                &-item
84
-                                    float: left
85
-                            &.columns-1
86
-                                .blocks-gallery-item
87
-                                    width: 100%
88
-                            &.columns-2
89
-                                .blocks-gallery-item
90
-                                    width: 50%
91
-                            &.columns-3
92
-                                .blocks-gallery-item
93
-                                    width: 33.33%
94
-                            &.columns-4
95
-                                .blocks-gallery-item
96
-                                    width: 25% */
97
                 
74
                 
98
         nav, footer
75
         nav, footer
99
             &.main
76
             &.main

+ 136
- 69
vue-theme/src/pages/index.vue Переглянути файл

1
 // Homepage grid
1
 // Homepage grid
2
 <template lang="pug">
2
 <template lang="pug">
3
 .page--index.f-row.between
3
 .page--index.f-row.between
4
-    article 
5
-        ul.f-grow.f-col
6
-            //- if sticky
7
-            //- li.f-row.wrap.w-max
8
-            //-     h3(v-if="!allStickyLoaded") loading...
9
-            //-     section(v-else-if="allStickyLoaded").shadow
10
-            //-         h4.t-cap sticky
11
-            //-         ul
12
-            //-             li(v-for="sticky in allSticky")
13
-            //-                 p {{ sticky.type }}: {{ sticky.title }}
14
-            //- loading
15
-            //- li.f-row.wrap.w-max
16
-            //-     h3(v-if="!allPagesLoaded") loading...
17
-            //-     .content(v-else-if="allPages['welcome']" v-html="allPages['welcome'].content")
4
+    article.w-max
5
+        section
6
+            ul
7
+                li.wide
8
+                    p 1 - 1
9
+                li
10
+                    p 1 - 2
11
+                li
12
+                    p 1 - 3
13
+                li
14
+                    p 1 - 4
15
+                li
16
+                    p 1 - 5
18
 
17
 
19
-            //- top section
20
-            li.f-row.wrap.w-max
21
-                section(v-if="allEpisodesLoaded && allEpisodes").shadow
22
-                    router-link(:to="`/episodes`")
23
-                        h3.t-up episodes
24
-                    router-link(:to="`/episodes/${Object.values(allEpisodes)[0].slug}`")
25
-                        img.index(src="https://i1.wp.com/www.craftinamerica.org/wp-content/uploads/2020/09/20200210_133120-e1599254267307.jpg")
26
-                        h2.t-up.t-cntr {{ Object.values(allEpisodes)[0].slug }}
27
-                    p episode excerpt, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nisl ligula, ullamcorper nec dapibus a, ullamcorper a elit. Integer mattis interdum mauris, sit amet feugiat dui consequat et. Curabitur cursus justo quis nunc euismod, nec ornare sem ornare. Mauris eget purus finibus, tempus tellus sed, maximus nisi. Fusce cursus placerat sodales...[&hellip;]
18
+        section
19
+            ul.max
20
+                li
21
+                    p 2 - 1
28
 
22
 
29
-                section(v-if="allExhibitionsLoaded && allExhibitions").shadow
30
-                    router-link(:to="`/exhibitions`")
31
-                        h3.t-up exhibitions
32
-                    router-link(:to="`/exhibitions/${Object.values(allExhibitions)[0].slug}`")
33
-                        img.index(src="https://i1.wp.com/www.craftinamerica.org/wp-content/uploads/2020/09/20200210_133120-e1599254267307.jpg")
34
-                        h2.t-up.t-cntr {{ Object.values(allExhibitions)[0].slug }}
35
-                    p episode excerpt, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nisl ligula, ullamcorper nec dapibus a, ullamcorper a elit. Integer mattis interdum mauris, sit amet feugiat dui consequat et. Curabitur cursus justo quis nunc euismod, nec ornare sem ornare. Mauris eget purus finibus, tempus tellus sed, maximus nisi. Fusce cursus placerat sodales...[&hellip;]
23
+        section
24
+            ul.flipped
25
+                li
26
+                    p 3 - 1
27
+                li
28
+                    p 3 - 2
29
+                li
30
+                    p 3 - 3
31
+                li
32
+                    p 3 - 4
33
+                li.wide
34
+                    p 3 - 5
35
+        
36
+        //- if sticky
37
+        //- li.f-row.wrap.w-max
38
+        //-     h3(v-if="!allStickyLoaded") loading...
39
+        //-     section(v-else-if="allStickyLoaded").shadow
40
+        //-         h4.t-cap sticky
41
+        //-         ul
42
+        //-             li(v-for="sticky in allSticky")
43
+        //-                 p {{ sticky.type }}: {{ sticky.title }}
44
+        //- loading
45
+        //- li.f-row.wrap.w-max
46
+        //-     h3(v-if="!allPagesLoaded") loading...
47
+        //-     .content(v-else-if="allPages['welcome']" v-html="allPages['welcome'].content")
36
 
48
 
37
-                section(v-if="allEventsLoaded && allEvents").shadow
38
-                    router-link(:to="`/events`")
39
-                        h3.t-up events
40
-                    router-link(:to="`/events/${Object.values(allEvents)[0].slug}`")
41
-                        img.index(src="https://i1.wp.com/www.craftinamerica.org/wp-content/uploads/2020/09/20200210_133120-e1599254267307.jpg")
42
-                        h2.t-up.t-cntr {{ Object.values(allEvents)[0].slug }}
43
-                    p episode excerpt, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nisl ligula, ullamcorper nec dapibus a, ullamcorper a elit. Integer mattis interdum mauris, sit amet feugiat dui consequat et. Curabitur cursus justo quis nunc euismod, nec ornare sem ornare. Mauris eget purus finibus, tempus tellus sed, maximus nisi. Fusce cursus placerat sodales...[&hellip;]
49
+        //- top section
50
+        //- section(v-if="allEpisodesLoaded").shadow
51
+        //-     router-link(:to="`/episodes`")
52
+        //-         h3.t-up episodes
53
+        //-     router-link(:to="`/episodes/${Object.values(allEpisodes)[0]}`")
54
+        //-         img.index(src="https://i1.wp.com/www.craftinamerica.org/wp-content/uploads/2020/09/20200210_133120-e1599254267307.jpg")
55
+        //-         h2.t-up.t-cntr {{ Object.values(allEpisodes)[0] }}
56
+        //-     p episode excerpt, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nisl ligula, ullamcorper nec dapibus a, ullamcorper a elit. Integer mattis interdum mauris, sit amet feugiat dui consequat et. Curabitur cursus justo quis nunc euismod, nec ornare sem ornare. Mauris eget purus finibus, tempus tellus sed, maximus nisi. Fusce cursus placerat sodales...[&hellip;]
44
 
57
 
45
-                section(v-if="allPostsLoaded && allPosts").shadow
46
-                    router-link(:to="`/posts`")
47
-                        h3.t-up shorts PLACEHOLDER
48
-                    router-link(:to="`/posts/${Object.values(allPosts)[0].slug}`")
49
-                        img.index(src="https://i1.wp.com/www.craftinamerica.org/wp-content/uploads/2020/09/20200210_133120-e1599254267307.jpg")
50
-                        h2.t-up.t-cntr {{ Object.values(allPosts)[0].slug }}
51
-                    p episode excerpt, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nisl ligula, ullamcorper nec dapibus a, ullamcorper a elit. Integer mattis interdum mauris, sit amet feugiat dui consequat et. Curabitur cursus justo quis nunc euismod, nec ornare sem ornare. Mauris eget purus finibus, tempus tellus sed, maximus nisi. Fusce cursus placerat sodales...[&hellip;]
58
+        //- section(v-if="allExhibitionsLoaded").shadow
59
+        //-     router-link(:to="`/exhibitions`")
60
+        //-         h3.t-up exhibitions
61
+        //-     router-link(:to="`/exhibitions/${Object.values(allExhibitions)[0]}`")
62
+        //-         img.index(src="https://i1.wp.com/www.craftinamerica.org/wp-content/uploads/2020/09/20200210_133120-e1599254267307.jpg")
63
+        //-         h2.t-up.t-cntr {{ Object.values(allExhibitions)[0] }}
64
+        //-     p episode excerpt, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nisl ligula, ullamcorper nec dapibus a, ullamcorper a elit. Integer mattis interdum mauris, sit amet feugiat dui consequat et. Curabitur cursus justo quis nunc euismod, nec ornare sem ornare. Mauris eget purus finibus, tempus tellus sed, maximus nisi. Fusce cursus placerat sodales...[&hellip;]
52
 
65
 
53
-            //- middle row
54
-            li.f-row.wrap.w-max
55
-                section(v-if="allArtistsLoaded && allArtists").shadow
56
-                    router-link(:to="`/artists`")
57
-                        h3.t-up artists
58
-                    router-link(:to="`/artists/${Object.values(allArtists)[0].slug}`")
59
-                        img.index(src="https://i1.wp.com/www.craftinamerica.org/wp-content/uploads/2020/09/20200210_133120-e1599254267307.jpg")
60
-                        h2.t-up.t-cntr {{ Object.values(allArtists)[0].slug }}
61
-                    p episode excerpt, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nisl ligula, ullamcorper nec dapibus a, ullamcorper a elit. Integer mattis interdum mauris, sit amet feugiat dui consequat et. Curabitur cursus justo quis nunc euismod, nec ornare sem ornare. Mauris eget purus finibus, tempus tellus sed, maximus nisi. Fusce cursus placerat sodales...[&hellip;]
66
+        //- section(v-if="allEventsLoaded").shadow
67
+        //-     router-link(:to="`/events`")
68
+        //-         h3.t-up events
69
+        //-     router-link(:to="`/events/${Object.values(allEvents)[0]}`")
70
+        //-         img.index(src="https://i1.wp.com/www.craftinamerica.org/wp-content/uploads/2020/09/20200210_133120-e1599254267307.jpg")
71
+        //-         h2.t-up.t-cntr {{ Object.values(allEvents)[0] }}
72
+        //-     p episode excerpt, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nisl ligula, ullamcorper nec dapibus a, ullamcorper a elit. Integer mattis interdum mauris, sit amet feugiat dui consequat et. Curabitur cursus justo quis nunc euismod, nec ornare sem ornare. Mauris eget purus finibus, tempus tellus sed, maximus nisi. Fusce cursus placerat sodales...[&hellip;]
62
 
73
 
63
-            //- footer row
64
-            li.f-row.wrap.w-max
65
-                footer.f-col
66
-                    p end of article icon
67
-                    img(src="../star.svg")
74
+        //- section(v-if="allPostsLoaded").shadow
75
+        //-     router-link(:to="`/posts`")
76
+        //-         h3.t-up shorts PLACEHOLDER
77
+        //-     router-link(:to="`/posts/${Object.values(allPosts)[0]}`")
78
+        //-         img.index(src="https://i1.wp.com/www.craftinamerica.org/wp-content/uploads/2020/09/20200210_133120-e1599254267307.jpg")
79
+        //-         h2.t-up.t-cntr {{ Object.values(allPosts)[0] }}
80
+        //-     p episode excerpt, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nisl ligula, ullamcorper nec dapibus a, ullamcorper a elit. Integer mattis interdum mauris, sit amet feugiat dui consequat et. Curabitur cursus justo quis nunc euismod, nec ornare sem ornare. Mauris eget purus finibus, tempus tellus sed, maximus nisi. Fusce cursus placerat sodales...[&hellip;]
81
+
82
+        //- //- middle row
83
+        //- section(v-if="allArtistsLoaded").shadow
84
+        //-     router-link(:to="`/artists`")
85
+        //-         h3.t-up artists
86
+        //-     router-link(:to="`/artists/${Object.values(allArtists)[0]}`")
87
+        //-         img.index(src="https://i1.wp.com/www.craftinamerica.org/wp-content/uploads/2020/09/20200210_133120-e1599254267307.jpg")
88
+        //-         h2.t-up.t-cntr {{ Object.values(allArtists)[0] }}
89
+        //-     p episode excerpt, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nisl ligula, ullamcorper nec dapibus a, ullamcorper a elit. Integer mattis interdum mauris, sit amet feugiat dui consequat et. Curabitur cursus justo quis nunc euismod, nec ornare sem ornare. Mauris eget purus finibus, tempus tellus sed, maximus nisi. Fusce cursus placerat sodales...[&hellip;]
68
 </template>
90
 </template>
69
 
91
 
70
 <script>
92
 <script>
103
 <style lang="postcss">
125
 <style lang="postcss">
104
 @import '../sss/variables.sss'
126
 @import '../sss/variables.sss'
105
 @import '../sss/theme.sss'
127
 @import '../sss/theme.sss'
106
-
107
 .page--index
128
 .page--index
108
-    article
109
-        ul > li
110
-            justify-content: space-around
129
+    > article
130
+        display: flex
131
+        justify-content: space-around
132
+        flex-direction: column
133
+        align-items: stretch
134
+        section
135
+            border: 1px yellow solid
136
+            ul
137
+                list-style: none
138
+@media (min-width: $medium)
139
+    .page--index > article > section
140
+        &:nth-of-type(2)
141
+            margin: 1em auto
142
+        ul
143
+            display: grid
144
+            grid-template-columns: 
145
+                50% 24% 24%
146
+            grid-template-rows: 
147
+                47% 47%
148
+            gap: 4% 1%
149
+            justify-items: strech
111
             align-items: stretch
150
             align-items: stretch
112
-            section
113
-                padding: 1em
114
-    footer
115
-        img
116
-            width: 30px
117
-            height: 30px
118
-            
151
+            height: auto
152
+            li
153
+                min-height: 20em
154
+                background-color: purple
155
+                &.wide:nth-of-type(1)
156
+                    grid-column-start: 1
157
+                    grid-row-start: 1
158
+                    grid-row-end: end
159
+                &:nth-of-type(2), &:nth-of-type(3)
160
+                    grid-row-start: 1
161
+                    grid-column-start: 2
162
+                &:nth-of-type(3)
163
+                    grid-column-start: 3
164
+                &:nth-of-type(4), &:nth-of-type(5)
165
+                    grid-column-start: 2
166
+                    grid-row-start: 2
167
+                &:nth-of-type(5)
168
+                    grid-column-start: 3
169
+            &.max
170
+                grid-template-columns: 
171
+                    auto
172
+                grid-template-rows: 
173
+                    auto
174
+            &.flipped
175
+                grid-template-columns: 
176
+                    24% 24% 50%
177
+                li
178
+                    &:nth-of-type(3)
179
+                        grid-column-start: 1
180
+                        grid-row-start: 2
181
+                    &.wide:nth-of-type(5)
182
+                        grid-column-start: 3
183
+                        grid-row-start: 1
184
+                        grid-row-end: end
185
+
119
 </style>
186
 </style>

Завантаження…
Відмінити
Зберегти