<commit_before>---
defines:
- &footer-section
  type: Layout.ResponsiveMargins
  styles:
    - Layout--footer
  slots:
    content:
      shortdef: 'Layout.Box(orientation: horizontal)'
      slots:
        contents:
        - shortdef: 'Banner.Dynamic(mode: full, halign: start, expand: false)'
        - type: ContentGroup.ContentGroup
          properties:
            valign: center
          slots:
            arrangement:
              type: Arrangement.SideBySide
              slots:
                card:
                  type: Card.Title
            selection:
              type: Selection.All
              slots:
                filter:
                  shortdef: 'Filter.Tagged(tag: EknStaticTag)'
                  slots:
                    sub-filter: Filter.Articles

- &home-page
  type: Layout.Scrolling
  slots:
    content:
      shortdef: Layout.DynamicBackground
      references:
        selection: all-videos
      slots:
        content:
          type: Layout.Box
          properties:
            orientation: vertical
          slots:
            contents:
            - shortdef: 'Banner.Dynamic(mode: full, halign: center, expand: true)'
            - shortdef: 'Layout.Box(orientation: vertical)'
              styles:
                - ContentGroup--outercontainer
              slots:
                contents:
                - type: Layout.ResponsiveMargins
                  slots:
                    content:
                      type: ContentGroup.ContentGroup
                      styles:
                        - ContentGroup--articles
                      properties:
                        halign: fill
                        paginate: true
                      slots:
                        arrangement:
                          type: Arrangement.List
                          slots:
                            card: 'Card.List(hexpand: true)'
                          properties:
                            row-spacing: 20
                        selection:
                          type: Selection.All
                          id: all-videos
                          slots:
                            filter:
                              type: Filter.Articles
                              slots:
                                sub-filter: 'Filter.Tagged(tag: EknStaticTag, invert: true)'
            - *footer-section

- &search-page
  type: Layout.Scrolling
  slots:
    content:
      shortdef: Layout.DynamicBackground
      references:
        selection: search-results
      slots:
        content:
          type: Layout.Box
          properties:
            orientation: vertical
          slots:
            contents:
            - shortdef: 'Banner.Search(halign: center)'
            - shortdef: 'Layout.Box(orientation: vertical)'
              styles:
                - ContentGroup--outercontainer
              slots:
                contents:
                - type: Layout.ResponsiveMargins
                  slots:
                    content:
                      type: ContentGroup.ContentGroup
                      styles:
                        - ContentGroup--articles
                      properties:
                        halign: fill
                        paginate: true
                      slots:
                        arrangement:
                          type: Arrangement.List
                          slots:
                            card: 'Card.List(hexpand: true)'
                          properties:
                            row-spacing: 20
                        selection:
                          type: Selection.Search
                          id: search-results
                          slots:
                            filter: Filter.Articles
                            order: 'Order.Alphabetical(ascending: true)'
                        no-results:
                          shortdef: 'ContentGroup.NoResultsMessage(halign: center, justify: center)'
            - *footer-section

- &article-page
  type: Layout.ArticleStack
  properties:
    do-sliding-animation: false
  slots:
    article: 'View.Document(show-titles: false, show-toc: false)'

root:
  shortdef: 'Controller.Course(theme: video_list)'
  slots:<commit_msg>preset: use variables in video_list<commit_after>---
vars:
  app-banner:
    type: Banner.Dynamic

  home-articles-arrangement: &main-arrangement
    type: Arrangement.List
    properties:
      row-spacing: 20
  home-articles-card: &main-card
    shortdef: 'Card.List(hexpand: true)'

  search-articles-arrangement: *main-arrangement
  search-articles-card: *main-card

  noresults-message-text:
    shortdef: 'ContentGroup.NoResultsMessage(halign: center, justify: center)'

defines:
- &footer-section
  type: Layout.ResponsiveMargins
  styles:
    - Layout--footer
  slots:
    content:
      shortdef: 'Layout.Box(orientation: horizontal)'
      slots:
        contents:
        - refvar: $app-banner
          properties:
            mode: full
            halign: start
            expand: false
        - type: ContentGroup.ContentGroup
          properties:
            valign: center
          slots:
            arrangement:
              type: Arrangement.SideBySide
              slots:
                card:
                  type: Card.Title
            selection:
              type: Selection.All
              slots:
                filter:
                  shortdef: 'Filter.Tagged(tag: EknStaticTag)'
                  slots:
                    sub-filter: Filter.Articles

- &home-page
  type: Layout.Scrolling
  slots:
    content:
      shortdef: Layout.DynamicBackground
      references:
        selection: all-videos
      slots:
        content:
          type: Layout.Box
          properties:
            orientation: vertical
          slots:
            contents:
            - refvar: $app-banner
              properties:
                mode: full
                halign: center
                expand: true
            - shortdef: 'Layout.Box(orientation: vertical)'
              styles:
                - ContentGroup--outercontainer
              slots:
                contents:
                - type: Layout.ResponsiveMargins
                  slots:
                    content:
                      type: ContentGroup.ContentGroup
                      styles:
                        - ContentGroup--articles
                      properties:
                        halign: fill
                        paginate: true
                      slots:
                        arrangement:
                          refvar: $home-articles-arrangement
                          slots:
                            card: $home-articles-card
                        selection:
                          type: Selection.All
                          id: all-videos
                          slots:
                            filter:
                              type: Filter.Articles
                              slots:
                                sub-filter: 'Filter.Tagged(tag: EknStaticTag, invert: true)'
            - *footer-section

- &search-page
  type: Layout.Scrolling
  slots:
    content:
      shortdef: Layout.DynamicBackground
      references:
        selection: search-results
      slots:
        content:
          type: Layout.Box
          properties:
            orientation: vertical
          slots:
            contents:
            - shortdef: 'Banner.Search(halign: center)'
            - shortdef: 'Layout.Box(orientation: vertical)'
              styles:
                - ContentGroup--outercontainer
              slots:
                contents:
                - type: Layout.ResponsiveMargins
                  slots:
                    content:
                      type: ContentGroup.ContentGroup
                      styles:
                        - ContentGroup--articles
                      properties:
                        halign: fill
                        paginate: true
                      slots:
                        arrangement:
                          refvar: $search-articles-arrangement
                          slots:
                            card: $search-articles-card
                        selection:
                          type: Selection.Search
                          id: search-results
                          slots:
                            filter: Filter.Articles
                            order: 'Order.Alphabetical(ascending: true)'
                        no-results: $noresults-message-text
            - *footer-section

- &article-page
  type: Layout.ArticleStack
  properties:
    do-sliding-animation: false
  slots:
    article: 'View.Document(show-titles: false, show-toc: false)'

root:
  shortdef: 'Controller.Course(theme: video_list)'
  slots:
{'fraction_non_alphanumeric': 0.06998532565752343, 'fraction_numerical': 0.0006772773450728074, 'mean_word_length': 1.0219078046554084, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2199150', 'n_tokens_mistral': 2084, 'n_tokens_neox': 2028, 'n_words': 433}