diff --git a/site/Gemfile b/site/Gemfile deleted file mode 100644 index a07a4ff7ec2..00000000000 --- a/site/Gemfile +++ /dev/null @@ -1,16 +0,0 @@ -source 'https://rubygems.org' - -group :jekyll_plugins do - gem 'jekyll', '~> 4' - gem 'jekyll-seo-tag', '~> 2.6', '>= 2.6.1' # Automatically create SEO tags - gem 'jekyll-sitemap', '~> 1.3', '>= 1.3.1' # Create a sitemap using the official Jekyll sitemap gem - gem 'jekyll-feed', '~> 0.12.1' # Create an Atom feed using the official Jekyll feed gem - gem 'jekyll-relative-links', '~> 0.6.1' # Used to auto generate md links to html links - gem 'jekyll-paginate', '~> 1.1' # pagination object for collections (e.g. posts) - gem 'html-proofer', '~> 3.16' # Link validation - gem "jekyll-github-metadata", github: "jekyll/github-metadata" # TODO fork repo and update github link reference - gem 'jekyll-optional-front-matter', '~> 0.3.2' # Parse Markdown files that do not have front-matter callouts - gem 'jekyll-titles-from-headings', '~> 0.5.3' # pull the page title from the first Markdown heading when none is specified.) - gem 'jekyll-readme-index', '~> 0.3.0' - gem 'jekyll-redirect-from', '~> 0.15.0' -end diff --git a/site/Gemfile.lock b/site/Gemfile.lock deleted file mode 100644 index a55f1ab63ba..00000000000 --- a/site/Gemfile.lock +++ /dev/null @@ -1,132 +0,0 @@ -GIT - remote: https://github.com/jekyll/github-metadata.git - revision: c0d0fa8057c02bb5de23af90b4b8c27e529350d7 - specs: - jekyll-github-metadata (2.13.0) - jekyll (>= 3.4, < 5.0) - octokit (~> 4.0, != 4.4.0) - -GEM - remote: https://rubygems.org/ - specs: - addressable (2.7.0) - public_suffix (>= 2.0.2, < 5.0) - colorator (1.1.0) - concurrent-ruby (1.1.5) - em-websocket (0.5.1) - eventmachine (>= 0.12.9) - http_parser.rb (~> 0.6.0) - ethon (0.12.0) - ffi (>= 1.3.0) - eventmachine (1.2.7) - faraday (1.0.1) - multipart-post (>= 1.2, < 3) - ffi (1.11.1) - forwardable-extended (2.6.0) - html-proofer (3.16.0) - addressable (~> 2.3) - mercenary (~> 0.3) - nokogumbo (~> 2.0) - parallel (~> 1.3) - rainbow (~> 3.0) - typhoeus (~> 1.3) - yell (~> 2.0) - http_parser.rb (0.6.0) - i18n (1.7.0) - concurrent-ruby (~> 1.0) - jekyll (4.0.0) - addressable (~> 2.4) - colorator (~> 1.0) - em-websocket (~> 0.5) - i18n (>= 0.9.5, < 2) - jekyll-sass-converter (~> 2.0) - jekyll-watch (~> 2.0) - kramdown (~> 2.1) - kramdown-parser-gfm (~> 1.0) - liquid (~> 4.0) - mercenary (~> 0.3.3) - pathutil (~> 0.9) - rouge (~> 3.0) - safe_yaml (~> 1.0) - terminal-table (~> 1.8) - jekyll-feed (0.12.1) - jekyll (>= 3.7, < 5.0) - jekyll-optional-front-matter (0.3.2) - jekyll (>= 3.0, < 5.0) - jekyll-paginate (1.1.0) - jekyll-readme-index (0.3.0) - jekyll (>= 3.0, < 5.0) - jekyll-redirect-from (0.15.0) - jekyll (>= 3.3, < 5.0) - jekyll-relative-links (0.6.1) - jekyll (>= 3.3, < 5.0) - jekyll-sass-converter (2.0.1) - sassc (> 2.0.1, < 3.0) - jekyll-seo-tag (2.6.1) - jekyll (>= 3.3, < 5.0) - jekyll-sitemap (1.3.1) - jekyll (>= 3.7, < 5.0) - jekyll-titles-from-headings (0.5.3) - jekyll (>= 3.3, < 5.0) - jekyll-watch (2.2.1) - listen (~> 3.0) - kramdown (2.3.0) - rexml - kramdown-parser-gfm (1.1.0) - kramdown (~> 2.0) - liquid (4.0.3) - listen (3.2.0) - rb-fsevent (~> 0.10, >= 0.10.3) - rb-inotify (~> 0.9, >= 0.9.10) - mercenary (0.3.6) - mini_portile2 (2.4.0) - multipart-post (2.1.1) - nokogiri (1.10.10) - mini_portile2 (~> 2.4.0) - nokogumbo (2.0.2) - nokogiri (~> 1.8, >= 1.8.4) - octokit (4.18.0) - faraday (>= 0.9) - sawyer (~> 0.8.0, >= 0.5.3) - parallel (1.19.2) - pathutil (0.16.2) - forwardable-extended (~> 2.6) - public_suffix (4.0.1) - rainbow (3.0.0) - rb-fsevent (0.10.3) - rb-inotify (0.10.0) - ffi (~> 1.0) - rexml (3.2.4) - rouge (3.12.0) - safe_yaml (1.0.5) - sassc (2.2.1) - ffi (~> 1.9) - sawyer (0.8.2) - addressable (>= 2.3.5) - faraday (> 0.8, < 2.0) - terminal-table (1.8.0) - unicode-display_width (~> 1.1, >= 1.1.1) - typhoeus (1.4.0) - ethon (>= 0.9.0) - unicode-display_width (1.6.0) - yell (2.2.2) - -PLATFORMS - ruby - -DEPENDENCIES - html-proofer (~> 3.16) - jekyll (~> 4) - jekyll-feed (~> 0.12.1) - jekyll-github-metadata! - jekyll-optional-front-matter (~> 0.3.2) - jekyll-paginate (~> 1.1) - jekyll-readme-index (~> 0.3.0) - jekyll-redirect-from (~> 0.15.0) - jekyll-relative-links (~> 0.6.1) - jekyll-seo-tag (~> 2.6, >= 2.6.1) - jekyll-sitemap (~> 1.3, >= 1.3.1) - jekyll-titles-from-headings (~> 0.5.3) - -BUNDLED WITH - 2.1.4 diff --git a/site/README.md b/site/README.md index af032ccfec4..337d613471c 100644 --- a/site/README.md +++ b/site/README.md @@ -1,11 +1,17 @@ -# site +# Website for Contour -This directory contains the Jekyll source for [projectcontour.io][0]. +##### Prerequisites -The site is deployed directly from the [`main`][1] branch, copies of the site's source in older tags and branches are non-canonical. +* [Hugo](https://github.com/gohugoio/hugo) + * macOS: `brew install hugo` + * Windows: `choco install hugo-extended -confirm` -Site specific contribution information can be found at [SITE_CONTRIBUTION.md][2]. +#### Build -[0]: https://projectcontour.io/ -[1]: https://github.com/projectcontour/contour/ -[2]: https://github.com/projectcontour/contour/blob/main/SITE_CONTRIBUTION.md +```bash +hugo server --disableFastRender +``` + +#### Serve + +Serve site at http://localhost:1313 diff --git a/site/_config.yml b/site/_config.yml deleted file mode 100644 index a11e4485d43..00000000000 --- a/site/_config.yml +++ /dev/null @@ -1,233 +0,0 @@ -# Site settings -title: Contour -email: -author: Contour Authors -description: High performance ingress controller for Kubernetes -url: https://projectcontour.io -logo: Contour.svg -twitter: - username: projectcontour - card: summary -vm_logo: vm-logo.png -cncf_logo: cncf-color.png -gh_repo: https://github.com/projectcontour/contour -highlighter: rouge -markdown: kramdown -kramdown: - syntax_highlighter: rouge -hero: - background-color: dark-blue -footer: - title: Ready to try Contour? - content: Read our getting started documentation. - cta_url: /getting-started/ - cta_text: Getting Started -footer_social_links: - Twitter: - fa_icon: fab fa-twitter - url: https://twitter.com/projectcontour - Slack: - fa_icon: fab fa-slack - url: https://kubernetes.slack.com/messages/contour - RSS: - fa_icon: fa fa-rss - url: /feed.xml - GitHub: - fa_icon: fab fa-github - url: https://github.com/projectcontour/contour -defaults: -- scope: - path: "" # an empty string here means all files in the project - type: "posts" - values: - layout: "posts" -- scope: - path: "" - values: - layout: "default" - toc: "h2, h3" # Default TOC levels, see _includes/footer.html. -- scope: - path: docs/main - values: - version: main - layout: "docs" -- scope: - path: docs/v1.2.1 - values: - version: v1.2.1 - layout: "docs" -- scope: - path: docs/v1.2.0 - values: - version: v1.2.0 - layout: "docs" -- scope: - path: docs/v1.1.0 - values: - version: v1.1.0 - layout: "docs" -- scope: - path: docs/v1.0.0 - values: - version: v1.0.0 - layout: "docs" -- scope: - path: docs/v1.0.1 - values: - version: v1.0.1 - layout: "docs" -- scope: - path: docs/v1.3.0 - values: - version: v1.3.0 - layout: "docs" -- scope: - path: docs/v1.4.0 - values: - version: v1.4.0 - layout: "docs" -- scope: - path: docs/v1.5.0 - values: - version: v1.5.0 - layout: "docs" -- scope: - path: docs/v1.5.1 - values: - version: v1.5.1 - layout: "docs" -- scope: - path: docs/v1.6.0 - values: - version: v1.6.0 - layout: "docs" -- scope: - path: docs/v1.6.1 - values: - version: v1.6.1 - layout: "docs" -- scope: - path: docs/v1.7.0 - values: - version: v1.7.0 - layout: "docs" -- scope: - path: docs/v1.8.0 - values: - version: v1.8.0 - layout: "docs" -- scope: - path: docs/v1.8.1 - values: - version: v1.8.1 - layout: "docs" -- scope: - path: docs/v1.8.2 - values: - version: v1.8.2 - layout: "docs" -- scope: - path: docs/v1.9.0 - values: - version: v1.9.0 - layout: "docs" -- scope: - path: docs/v1.10.0 - values: - version: v1.10.0 - layout: "docs" -- scope: - path: docs/v1.10.1 - values: - version: v1.10.1 - layout: "docs" -- scope: - path: docs/v1.11.0 - values: - version: v1.11.0 - layout: "docs" -repository: projectcontour/contour -collections: - guides: - output: true - resources: - output: true - docs_1_0: - output: true - permalink: /docs/1.0/:name - contributors: - output: false - features: - output: false - metrics: - output: false -versioning: true -latest: v1.11.0 -versions: -- main -- v1.11.0 -- v1.10.1 -- v1.10.0 -- v1.9.0 -- v1.8.2 -- v1.8.1 -- v1.8.0 -- v1.7.0 -- v1.6.1 -- v1.6.0 -- v1.5.1 -- v1.5.0 -- v1.4.0 -- v1.3.0 -- v1.2.1 -- v1.2.0 -- v1.1.0 -- v1.0.1 -- v1.0.0 -# Build settings -permalink: :title/ -sass: - sass_dir: css - style: :compressed -page_gen: -- data: shortlinks - template: redirect - name: key - dir: docs -# Use the following plug-ins -plugins: -- jekyll-sitemap # Create a sitemap using the official Jekyll sitemap gem -- jekyll-feed # Create an Atom feed using the official Jekyll feed gem -- jekyll-relative-links # Used to auto generate md links to html links -- jekyll-optional-front-matter # Parse Markdown files that do not have front-matter callouts -- jekyll-readme-index # use README.md as index.html -- jekyll-titles-from-headings # pull the page title from the first Markdown heading when none is specified. -- jekyll-paginate # pagination object for collections (e.g. posts) -- jekyll-github-metadata -- jekyll-redirect-from -- jekyll-seo-tag -# Include these subdirectories -include: -- CONTRIBUTING.md -- README.md -- _redirects -- examples -- examples/proxydemo -# Exclude these files from your production _site -exclude: -- Gemfile -- Gemfile.lock -- README-JEKYLL.md -- LICENSE -- CNAME -- Runbook.docx -- '*.sh' -- vendor -- bundler/bundle/ -- bundler/cache/ -- bundler/gems/ -- bundler/ruby/ -- node_modules -# Fail build on errors -liquid: - error_mode: strict diff --git a/site/_contributors/01-nick-young.md b/site/_contributors/01-nick-young.md deleted file mode 100644 index 68250229609..00000000000 --- a/site/_contributors/01-nick-young.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -first_name: Nick -last_name: Young -image: /img/contributors/nick-young.png -github_handle: youngnick ---- -Tech Lead / Maintainer diff --git a/site/_contributors/02-james-peach.md b/site/_contributors/02-james-peach.md deleted file mode 100644 index 2c9c98c6927..00000000000 --- a/site/_contributors/02-james-peach.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -first_name: James -last_name: Peach -image: /img/contributors/jpeach.png -github_handle: jpeach ---- -Maintainer diff --git a/site/_contributors/02-steve-kriss.md b/site/_contributors/02-steve-kriss.md deleted file mode 100644 index e1ac66ca312..00000000000 --- a/site/_contributors/02-steve-kriss.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -first_name: Steve -last_name: Kriss -image: /img/contributors/steve-kriss.png -github_handle: skriss ---- -Maintainer diff --git a/site/_contributors/02-steve-sloka.md b/site/_contributors/02-steve-sloka.md deleted file mode 100644 index 072e414788e..00000000000 --- a/site/_contributors/02-steve-sloka.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -first_name: Steve -last_name: Sloka -image: /img/contributors/steve-sloka.png -github_handle: stevesloka ---- -Maintainer diff --git a/site/_contributors/03-tong-liu.md b/site/_contributors/03-tong-liu.md deleted file mode 100644 index a76b41c1721..00000000000 --- a/site/_contributors/03-tong-liu.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -first_name: Tong -last_name: Liu -image: /img/contributors/tong-liu.png -github_handle: tong101 ---- -Engineering Manager diff --git a/site/_contributors/04-alex-xu.md b/site/_contributors/04-alex-xu.md deleted file mode 100644 index 498f096f4bf..00000000000 --- a/site/_contributors/04-alex-xu.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -first_name: Alex -last_name: Xu -image: /img/contributors/alex-xu.png -github_handle: xaleeks ---- -Product Manager diff --git a/site/_data/refdocs/config.json b/site/_data/refdocs/config.json deleted file mode 100644 index dcd5eb9de93..00000000000 --- a/site/_data/refdocs/config.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "hideMemberFields": [ - "TypeMeta" - ], - "hideTypePatterns": [ - "ParseError$", - "List$" - ], - "externalPackages": [ - { - "typeMatchPrefix": "^k8s\\.io/apimachinery/pkg/apis/meta/v1\\.Duration$", - "docsURLTemplate": "https://godoc.org/k8s.io/apimachinery/pkg/apis/meta/v1#Duration" - }, - { - "typeMatchPrefix": "^k8s\\.io/(api|apimachinery/pkg/apis)/", - "docsURLTemplate": "https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#{{lower .TypeIdentifier}}-{{arrIndex .PackageSegments -1}}-{{arrIndex .PackageSegments -2}}" - }, - { - "typeMatchPrefix": "^github\\.com/knative/pkg/apis/duck/", - "docsURLTemplate": "https://godoc.org/github.com/knative/pkg/apis/duck/{{arrIndex .PackageSegments -1}}#{{.TypeIdentifier}}" - } - ], - "typeDisplayNamePrefixOverrides": { - "k8s.io/api/": "Kubernetes ", - "k8s.io/apimachinery/pkg/apis/": "Kubernetes " - }, - "markdownDisabled": false -} diff --git a/site/_data/refdocs/members.tpl b/site/_data/refdocs/members.tpl deleted file mode 100644 index b66843e50b2..00000000000 --- a/site/_data/refdocs/members.tpl +++ /dev/null @@ -1,49 +0,0 @@ -{{ define "members" }} - -{{ range .Members }} -{{ if not (hiddenMember .)}} - - - {{ fieldName . }} -
- - {{ if linkForType .Type }} - - {{ typeDisplayName .Type }} - - {{ else }} - {{ typeDisplayName .Type }} - {{ end }} - - - - {{ if fieldEmbedded . }} -

- (Members of {{ fieldName . }} are embedded into this type.) -

- {{ end}} - - {{ if isOptionalMember .}} - (Optional) - {{ end }} - - {{ safe (renderComments .CommentLines) }} - - {{ if and (eq (.Type.Name.Name) "ObjectMeta") }} - Refer to the Kubernetes API documentation for the fields of the - metadata field. - {{ end }} - - {{ if or (eq (fieldName .) "spec") }} -
-
- - {{ template "members" .Type }} -
- {{ end }} - - -{{ end }} -{{ end }} - -{{ end }} diff --git a/site/_data/refdocs/pkg.tpl b/site/_data/refdocs/pkg.tpl deleted file mode 100644 index 6619fca5e8e..00000000000 --- a/site/_data/refdocs/pkg.tpl +++ /dev/null @@ -1,48 +0,0 @@ -{{ define "packages" }} - -{{ with .packages}} -

Packages:

- -{{ end}} - -{{ range .packages }} -

- {{- packageDisplayName . -}} -

- - {{ with (index .GoPackages 0 )}} - {{ with .DocComments }} -

- {{ safe (renderComments .) }} -

- {{ end }} - {{ end }} - - Resource Types: - - - {{ range (visibleTypes (sortedTypes .Types))}} - {{ template "type" . }} - {{ end }} -
-{{ end }} - -

- Generated with gen-crd-api-reference-docs. -

- -{{ end }} diff --git a/site/_data/refdocs/type.tpl b/site/_data/refdocs/type.tpl deleted file mode 100644 index 7b49c1082eb..00000000000 --- a/site/_data/refdocs/type.tpl +++ /dev/null @@ -1,60 +0,0 @@ -{{ define "type" }} - -

- {{- .Name.Name }} - {{ if eq .Kind "Alias" }}({{.Underlying}} alias){{ end -}} -

-{{ with (typeReferences .) }} -

- (Appears on: - {{- $prev := "" -}} - {{- range . -}} - {{- if $prev -}}, {{ end -}} - {{ $prev = . }} - {{ typeDisplayName . }} - {{- end -}} - ) -

-{{ end }} - - -

- {{ safe (renderComments .CommentLines) }} -

- -{{ if .Members }} - - - - - - - - - {{ if isExportedType . }} - - - - - - - - - {{ end }} - {{ template "members" .}} - -
FieldDescription
- apiVersion -
- string
- - {{apiGroup .}} - -
- kind -
- string -
{{.Name.Name}}
-{{ end }} - -{{ end }} diff --git a/site/_features/envoy-inside.md b/site/_features/envoy-inside.md deleted file mode 100644 index 1886898a9cb..00000000000 --- a/site/_features/envoy-inside.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Envoy Inside -icon: case-study-1.svg -#subtitle: Subheading goes here -#links: -# This is my link: http://google.com ---- -Contour is built as the control plane for Envoy, the high performance L7 proxy and load balancer \ No newline at end of file diff --git a/site/_features/flexible-architecture.md b/site/_features/flexible-architecture.md deleted file mode 100644 index 86ce4bd2da4..00000000000 --- a/site/_features/flexible-architecture.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Flexible Architecture -icon: icon-dial.svg -#subtitle: Subheading goes here -#links: -# This is my link: http://google.com ---- -Contour can be deployed as either a Kubernetes deployment or daemonset \ No newline at end of file diff --git a/site/_features/tls-certificate-delegation.md b/site/_features/tls-certificate-delegation.md deleted file mode 100644 index e0144312148..00000000000 --- a/site/_features/tls-certificate-delegation.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: TLS Certificate Delegation -icon: icon-tree.svg -#subtitle: Subheading goes here -#links: -# This is my link: http://google.com ---- -Administrators can delegate wildcard certificate access securely \ No newline at end of file diff --git a/site/_includes/blog-community-footer.html b/site/_includes/blog-community-footer.html deleted file mode 100644 index 23e8e406de3..00000000000 --- a/site/_includes/blog-community-footer.html +++ /dev/null @@ -1,25 +0,0 @@ -

Join the Contour Community!

- - diff --git a/site/_includes/blog-post-card.html b/site/_includes/blog-post-card.html deleted file mode 100644 index 96b3e0d6ef3..00000000000 --- a/site/_includes/blog-post-card.html +++ /dev/null @@ -1,21 +0,0 @@ -
-
-
-
- {% if post.image %} - {{ post.title }} - {% else %} - {{ post.title }} - {% endif %} -
- -
-
-
\ No newline at end of file diff --git a/site/_includes/blog-posts-tag.html b/site/_includes/blog-posts-tag.html deleted file mode 100644 index 51a5234000f..00000000000 --- a/site/_includes/blog-posts-tag.html +++ /dev/null @@ -1,13 +0,0 @@ -
-{% for post in site.tags[page.tag] %} - {% include blog-post-card.html %} - {% if limit > 0 and forloop.index >= limit %} - {% break %} - {% endif %} - {% assign row = forloop.index | modulo: 3 %} - {% if row == 0 %} -
-
- {% endif %} -{% endfor %} -
\ No newline at end of file diff --git a/site/_includes/blog-posts.html b/site/_includes/blog-posts.html deleted file mode 100644 index 17c230bdb05..00000000000 --- a/site/_includes/blog-posts.html +++ /dev/null @@ -1,13 +0,0 @@ -
-{% for post in site.posts %} - {% include blog-post-card.html %} - {% if limit > 0 and forloop.index >= limit %} - {% break %} - {% endif %} - {% assign row = forloop.index | modulo: 3 %} -{% if row == 0 %} -
-
-{% endif %} -{% endfor %} -
\ No newline at end of file diff --git a/site/_includes/contributors.html b/site/_includes/contributors.html deleted file mode 100644 index e27593a2777..00000000000 --- a/site/_includes/contributors.html +++ /dev/null @@ -1,26 +0,0 @@ -
-
-

The {{ site.title }} Team

-
-
-
-
-

{{ site.title }} is released as open source software and provides community support through our GitHub project page. - If you encounter an issue or have a question, feel free to reach out on the GitHub issues page for {{ site.title }}.

- -

The Contour project team welcomes contributions from the community, please see our contributing documentation.

-
-
-
- {% for person in site.contributors %} -
-
- Person -
-
{{ person.first_name }} {{ person.last_name }}
- {{ person.content | markdownify }} -
-
-
-{% endfor %} -
diff --git a/site/_includes/features-alternating.html b/site/_includes/features-alternating.html deleted file mode 100644 index 40142f351a4..00000000000 --- a/site/_includes/features-alternating.html +++ /dev/null @@ -1,26 +0,0 @@ -{{feature_background}} -
- {% for feature in site.features %} -
- {% if feature.icon %} -
- {{ feature.title }} -
- {% endif %} -
-
- {% if feature.title != blank %} -
{{ feature.title }}
- {% endif %} -

{{ feature.content | markdownify }}

- {% for link in feature.links %} - {{ link[0] }} - {% endfor %} -
-
-
- {% if limit > 0 and forloop.index >= limit %} - {% break %} - {% endif %} - {% endfor %} -
diff --git a/site/_includes/features.html b/site/_includes/features.html deleted file mode 100644 index 4881833f9c0..00000000000 --- a/site/_includes/features.html +++ /dev/null @@ -1,20 +0,0 @@ -
-{% for feature in site.features %} -
-
- {% if feature.title != blank %} -
{{ feature.title }}
- {% endif %} - {% if feature.subtitle != blank %} -
{{ feature.subtitle }}
- {% endif %} -

{{ feature.content | markdownify }}

- {% for link in feature.links %} - {{ link[0] }} - {% endfor %} -
-
- {% if limit > 0 and forloop.index >= limit %} - {% break %} - {% endif %} -{% endfor %} diff --git a/site/_includes/footer.html b/site/_includes/footer.html deleted file mode 100644 index 2cf96a9a5a2..00000000000 --- a/site/_includes/footer.html +++ /dev/null @@ -1,72 +0,0 @@ -
-
-
-
-
{{ site.footer.title }}
-

{{ site.footer.content }}

-
-
-

{{ site.footer.cta_title }}

- {{ site.footer.cta_text }} -
-
-
-
- - - - - - - - - - - - - - - - - - - diff --git a/site/_includes/head-docs.html b/site/_includes/head-docs.html deleted file mode 100644 index 15230a96251..00000000000 --- a/site/_includes/head-docs.html +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - {% seo %} - diff --git a/site/_includes/head.html b/site/_includes/head.html deleted file mode 100644 index 8dd9b1e6378..00000000000 --- a/site/_includes/head.html +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - {{ site.title }} {{page.title}} - {% seo %} - diff --git a/site/_includes/metrics.html b/site/_includes/metrics.html deleted file mode 100644 index 50ce00d6f8d..00000000000 --- a/site/_includes/metrics.html +++ /dev/null @@ -1,21 +0,0 @@ - -{% for m in site.metrics %} - - - - - - - - - - - - - - - - - -{% endfor %} -
Name{{ m.name }}
Type{{ m.type | markdownify | remove: "

" | remove: "

" }}
Labels{{ m.labels | markdownify | remove: "

" | remove: "

" }}
Description{{ m.content | markdownify | remove: "

" | remove: "

" }}
diff --git a/site/_includes/nav.html b/site/_includes/nav.html deleted file mode 100644 index 97a7d3539e9..00000000000 --- a/site/_includes/nav.html +++ /dev/null @@ -1,26 +0,0 @@ - diff --git a/site/_includes/related-posts.html b/site/_includes/related-posts.html deleted file mode 100644 index 7f31680c417..00000000000 --- a/site/_includes/related-posts.html +++ /dev/null @@ -1,10 +0,0 @@ -
Related Content
-
- {% for category in site.categories limit:1 %} - - {% for post in category[1] limit:2 %} - {% include blog-post-card.html %} - - {% endfor %} - {% endfor %} -
\ No newline at end of file diff --git a/site/_includes/site-header.html b/site/_includes/site-header.html deleted file mode 100644 index eca3d271bdd..00000000000 --- a/site/_includes/site-header.html +++ /dev/null @@ -1,18 +0,0 @@ - diff --git a/site/_includes/version-warning.html b/site/_includes/version-warning.html deleted file mode 100644 index 423b8e9406b..00000000000 --- a/site/_includes/version-warning.html +++ /dev/null @@ -1,33 +0,0 @@ -{% if page.version != site.latest %} - {% assign latest_url = page.url | replace: page.version, site.latest | relative_url %} - {% assign target_page = site.pages | where: "url", latest_url | first %} - {% unless target_page %} - {% assign target_prefix = page.url | split: page.version | first %} - {% assign latest_url = target_prefix | append: site.latest | append: '/' | relative_url %} - {% endunless %} - - -{% endif %} \ No newline at end of file diff --git a/site/_includes/versions.html b/site/_includes/versions.html deleted file mode 100644 index afc939613f6..00000000000 --- a/site/_includes/versions.html +++ /dev/null @@ -1,29 +0,0 @@ -
- -
diff --git a/site/_layouts/default.html b/site/_layouts/default.html deleted file mode 100644 index b8143da3a73..00000000000 --- a/site/_layouts/default.html +++ /dev/null @@ -1,15 +0,0 @@ - - -{% include head.html %} - - -
-
- {% include site-header.html %} - {{ content }} - {% include footer.html %} -
-
- - - \ No newline at end of file diff --git a/site/_layouts/docs.html b/site/_layouts/docs.html deleted file mode 100644 index 55c337601dd..00000000000 --- a/site/_layouts/docs.html +++ /dev/null @@ -1,65 +0,0 @@ - - -{% include head-docs.html %} -{% if page.version != "main" %} - - -{% endif %} -{% if page.name != "README.md" %} -{{ site.title }} Docs - {{page.title}} -{% endif %} -{% if page.name == "README.md" %} -{{ site.title }} Docs - Overview -{% endif %} - - -
-
- {% include site-header.html %} -
-
-
-

Documentation

-
-
-
-
-
-
-
- {% include versions.html %} -
-
-
- - - -
-
-
- {% include nav.html %} -
-
- {% include version-warning.html %} -
- {{ content }} -
-
-
-
-
- {% include footer.html %} -
-
- - - - - diff --git a/site/_layouts/page.html b/site/_layouts/page.html deleted file mode 100644 index 62b5c482628..00000000000 --- a/site/_layouts/page.html +++ /dev/null @@ -1,28 +0,0 @@ - - -{% include head.html %} - - -
-
- {% include site-header.html %} -
-
-
-

{{ page.title }}

-
-
-
-
-
-
- {{ content }} -
-
-
- {% include footer.html %} -
-
- - - \ No newline at end of file diff --git a/site/_layouts/posts.html b/site/_layouts/posts.html deleted file mode 100644 index 90d9f3b06d2..00000000000 --- a/site/_layouts/posts.html +++ /dev/null @@ -1,57 +0,0 @@ - - -{% include head.html %} - - -
-
- {% include site-header.html %} -
-
-
-

{{ page.title }}

-
-
-
-
-
-
-
-
- {% if page.author_avatar %} -
- {{ page.author_name }} -
- {% endif %} - -
- {{ page.author_name }} -
-
- -
- {{ page.date | date: "%B %d, %Y" }} -
-
- -
- {{ content }} -
- {% include blog-community-footer.html %} -
-
-
-
- -
-
- {% include related-posts.html %} -
-
- - {% include footer.html %} -
-
- - - \ No newline at end of file diff --git a/site/_layouts/redirect.html b/site/_layouts/redirect.html deleted file mode 100644 index 9ff421b3183..00000000000 --- a/site/_layouts/redirect.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - {% if page.dir contains "/docs/" %} - - - Redirecting to docs... - - -Redirecting to {{ page.destination }}. If it doesn't load, click here. - - - {% endif %} diff --git a/site/_layouts/tag-index.html b/site/_layouts/tag-index.html deleted file mode 100644 index ac3eb3440f4..00000000000 --- a/site/_layouts/tag-index.html +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: default -type: standard -caption: 'Tag Index' -id: blog ---- -
-
-
-

{{ page.title }}

-
-
-
-
-
-
- {% include blog-posts-tag.html %} -
-
-
diff --git a/site/_metrics/contour_build_info.md b/site/_metrics/contour_build_info.md deleted file mode 100644 index 3d14fc74459..00000000000 --- a/site/_metrics/contour_build_info.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -name: 'contour_build_info' -type: '[GAUGE](https://prometheus.io/docs/concepts/metric_types/#gauge)' -labels: 'branch, revision, version' ---- - -Build information for Contour. Labels include the branch and git SHA that Contour was built from, and the Contour version. diff --git a/site/_metrics/contour_cachehandler_onupdate_duration_seconds.md b/site/_metrics/contour_cachehandler_onupdate_duration_seconds.md deleted file mode 100644 index d9f504e0625..00000000000 --- a/site/_metrics/contour_cachehandler_onupdate_duration_seconds.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -name: 'contour_cachehandler_onupdate_duration_seconds' -type: '[SUMMARY](https://prometheus.io/docs/concepts/metric_types/#summary)' -labels: '' ---- - -Histogram for the runtime of xDS cache regeneration. diff --git a/site/_metrics/contour_dagrebuild_timestamp.md b/site/_metrics/contour_dagrebuild_timestamp.md deleted file mode 100644 index 10a0d2bb336..00000000000 --- a/site/_metrics/contour_dagrebuild_timestamp.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -name: 'contour_dagrebuild_timestamp' -type: '[GAUGE](https://prometheus.io/docs/concepts/metric_types/#gauge)' -labels: '' ---- - -Timestamp of the last DAG rebuild. diff --git a/site/_metrics/contour_eventhandler_operation_total.md b/site/_metrics/contour_eventhandler_operation_total.md deleted file mode 100644 index 6969a9e3260..00000000000 --- a/site/_metrics/contour_eventhandler_operation_total.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -name: 'contour_eventhandler_operation_total' -type: '[COUNTER](https://prometheus.io/docs/concepts/metric_types/#counter)' -labels: 'kind, op' ---- - -Total number of Kubernetes object changes Contour has received by operation and object kind. diff --git a/site/_metrics/contour_httpproxy_invalid_total.md b/site/_metrics/contour_httpproxy_invalid_total.md deleted file mode 100644 index 14664d58af0..00000000000 --- a/site/_metrics/contour_httpproxy_invalid_total.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -name: 'contour_httpproxy_invalid_total' -type: '[GAUGE](https://prometheus.io/docs/concepts/metric_types/#gauge)' -labels: 'namespace, vhost' ---- - -Total number of invalid HTTPProxies. diff --git a/site/_metrics/contour_httpproxy_orphaned_total.md b/site/_metrics/contour_httpproxy_orphaned_total.md deleted file mode 100644 index 515a9f60510..00000000000 --- a/site/_metrics/contour_httpproxy_orphaned_total.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -name: 'contour_httpproxy_orphaned_total' -type: '[GAUGE](https://prometheus.io/docs/concepts/metric_types/#gauge)' -labels: 'namespace' ---- - -Total number of orphaned HTTPProxies which have no root delegating to them. diff --git a/site/_metrics/contour_httpproxy_root_total.md b/site/_metrics/contour_httpproxy_root_total.md deleted file mode 100644 index 63f85fce818..00000000000 --- a/site/_metrics/contour_httpproxy_root_total.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -name: 'contour_httpproxy_root_total' -type: '[GAUGE](https://prometheus.io/docs/concepts/metric_types/#gauge)' -labels: 'namespace' ---- - -Total number of root HTTPProxies. Note there will only be a single root HTTPProxy per vhost. diff --git a/site/_metrics/contour_httpproxy_total.md b/site/_metrics/contour_httpproxy_total.md deleted file mode 100644 index 07762d19f83..00000000000 --- a/site/_metrics/contour_httpproxy_total.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -name: 'contour_httpproxy_total' -type: '[GAUGE](https://prometheus.io/docs/concepts/metric_types/#gauge)' -labels: 'namespace' ---- - -Total number of HTTPProxies that exist regardless of status. diff --git a/site/_metrics/contour_httpproxy_valid_total.md b/site/_metrics/contour_httpproxy_valid_total.md deleted file mode 100644 index de937f77df9..00000000000 --- a/site/_metrics/contour_httpproxy_valid_total.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -name: 'contour_httpproxy_valid_total' -type: '[GAUGE](https://prometheus.io/docs/concepts/metric_types/#gauge)' -labels: 'namespace, vhost' ---- - -Total number of valid HTTPProxies. diff --git a/site/_plugins/tag_page_generator.rb b/site/_plugins/tag_page_generator.rb deleted file mode 100644 index 1b16aa2d124..00000000000 --- a/site/_plugins/tag_page_generator.rb +++ /dev/null @@ -1,32 +0,0 @@ -module Jekyll - - class TagPage < Page - def initialize(site, base, dir, tag) - @site = site - @base = base - @dir = dir - @name = 'index.html' - - self.process(@name) - self.read_yaml(File.join(base, '_layouts'), 'tag-index.html') - self.data['tag'] = tag - - tag_title_prefix = site.config['tag_title_prefix'] || 'Posts by ' - self.data['title'] = "#{tag_title_prefix}#{tag}" - end - end - - class TagPageGenerator < Generator - safe true - - def generate(site) - if site.layouts.key? 'tag-index' - dir = site.config['tag_dir'] || 'tags' - site.tags.keys.each do |tag| - site.pages << TagPage.new(site, site.source, File.join(dir, tag), tag) - end - end - end - end - - end \ No newline at end of file diff --git a/site/_plugins/youtube.rb b/site/_plugins/youtube.rb deleted file mode 100644 index 11ee988d956..00000000000 --- a/site/_plugins/youtube.rb +++ /dev/null @@ -1,123 +0,0 @@ -# Title: YouTube plugin for Jekyll -# Description: Liquid tag to generate a YouTube embed. -# Authors: -# - Joey Hoer (@joeyhoer | https://joeyhoer.com) -# -# Link: https://developers.google.com/youtube/player_parameters#Parameters -# -# Syntax: {% youtube [video_id] [width] [height] [query_param:value]... %} -# -# Examples: -# {% youtube dQw4w9WgXcQ %} -# {% youtube dQw4w9WgXcQ 600 rel:0 modestbranding:1 %} -# - -module Jekyll - class YouTube < Liquid::Tag - - ## Constants - - @@ATTRIBUTES = %w( - autoplay - cc_load_policy - color - controls - disablekb - enablejsapi - end - fs - hl - iv_load_policy - list - listType - loop - modestbranding - origin - playlist - playsinline - rel - showinfo - start - widget_referrer - ) - - @ytid = nil - @width = '' - @height = '' - - def initialize(tag_name, markup, tokens) - @content=markup - - @config = {} - - # Override configuration with values defined within _config.yml - if Jekyll.configuration({}).has_key?('youtube') - config = Jekyll.configuration({})['youtube'] - override_config(config) - end - - params = markup.split - - if params.shift =~ /(?:(?:https?:\/\/)?(?:www.)?(?:youtube.com\/(?:embed\/|watch\?v=)|youtu.be\/)?(\S+)(?:\?rel=\d)?)/i - @video_id = $1 - end - - @width = (params[0].to_i > 0) ? params.shift.to_i : 560 - @height = (params[0].to_i > 0) ? params.shift.to_i : (@width / 16.0 * 9).ceil - - if params.size > 0 - # Override configuration with parameters defined within Liquid tag - config = {} # Reset local config - params.each do |param| - param = param.gsub /\s+/, '' # Remove whitespaces - key, value = param.split(':',2) # Split first occurrence of ':' only - config["#{key}"] = value - end - override_config(config) - end - - super - end - - def override_config(config) - config.each{ |key,value| @config[key] = value } - end - - def render(context) - output = super - - if !@video_id - @video_id = "#{context[@content.strip]}" - end - - if @video_id - template_path = File.join(Dir.pwd, "_includes", "youtube.html") - if File.exist?(template_path) - site = context.registers[:site] - - partial = File.read(template_path) - template = Liquid::Template.parse(partial) - - template.render!(({"video_id" => @video_id, "width" => @width, "height" => @height, "query_string" => render_query_string()}).merge(site.site_payload)) - else - "" - end - else - puts "YouTube Embed: Error processing input, expected syntax {% youtube video_id [width] [height] [data-attr:value] %}" - end - end - - def render_query_string - result = [] - @config.each do |key,value| - if @@ATTRIBUTES.include?(key.to_s) - result << "#{key}=#{value}" - end - end - return (!(result.empty?) ? '?' : '') + result.join('&') - end - - end -end - -Liquid::Template.register_tag('youtube', Jekyll::YouTube) diff --git a/site/_resources/release-process.md b/site/_resources/release-process.md deleted file mode 100644 index e3cfd23ac2a..00000000000 --- a/site/_resources/release-process.md +++ /dev/null @@ -1,147 +0,0 @@ ---- -title: Contour Release Process -layout: page ---- - -This page documents the process for releasing a new version of Contour or [Contour Operator][1]. - -The release types are as follows. All are tagged from the same release branch. - -- Alpha releases. -- Beta releases. -- RC (Release Candidate) releases. -- Final releases. -- Patch releases. - -For minor releases, generally we will not do an Alpha/Beta/RC/Final flow, we will jump straight to cutting the final from main. - -## Alpha and beta releases - -The steps for an alpha or beta release are - -- Tag the head of main with the relevant release tag (in this case `alpha.1`), and push - -```sh -$ git tag -a v0.15.0-alpha.1 -m 'contour 1.2.0 alpha 1' -$ git push --tags -``` - -Once the tag is present on main, Github Actions will build the tag and push it to Docker Hub for you. -Then, you are done until we are ready to branch for an rc or final release. - -## Update Docs Site - -The documentation site (projectcontour.io) has versioned documentation. - -The required changes can be automatically performed by the `hack/release/prepare-release.go` tool. -For example: - -```sh -$ go run ./hack/release/prepare-release.go v9.9.9 -``` - -This can be pushed straight back to main. - -The tool performs the following steps, which can also be followed to update the site to create the new release: - -- In: `site/_data` - - Make new yml file for version (e.g. v1-1-0-toc.yaml) - - Add yml file to site/_data/toc-mapping.yml -- Copy `main` directory to the new version (e.g. v1.1.0) -- In: `site/_config.yml` - - Update `defaults` and add new version - - Update `collections` to add new version - - Update `versions` to add new version - - Update `latest` to change previous version to new version - -## Update compatibility matrices - -If there has been an Envoy version upgrade, check that the [Envoy Support Matrix](https://projectcontour.io/resources/envoy/) has been updated. - -If there has been a Kubernetes client-go upgrade, check that the [Kubernetes Support Matrix](https://projectcontour.io/resources/kubernetes/) has been updated. - -## Upgrade instructions - -Add upgrade instructions to the [Upgrading](https://projectcontour.io/resources/upgrading/) page. - -## Branch for release - -As contours main branch is under active development, rc and final releases are made from a branch. -Create a release branch locally, like so - -```sh -$ git checkout -b release-1.7 -``` - -Push the release branch to the upstream repository: - -```sh -$ git push --set-upstream release-1.7 -``` - -If you are doing a patch release on an existing branch, skip this step and just checkout the branch instead. - -This branch is used for all the almost-done release types, rc and final. -Each one of these release types is just a different tag on the release branch. - -## Final release - -These two steps can be automatically performed by the `hack/release/make-release-tag.sh` tool. -For example: - -```sh -$ ./hack/release/make-release-tag.sh v1.2.1 v1.3.1 -``` - -### Updating the example YAMLs - -Your final job before doing the last release is to ensure that all the YAMLs in `examples/contour/` are updated. -The Docker tag should be updated from the previous stable release to this new one. - -### Tag release from release branch - -Tag the head of your release branch with the release tag, and push - -```sh -$ git tag -a v1.2.0 -m 'contour 1.2.0' -$ git push --tags -``` - -## Patch release - -### Cherry-pick required commits into the release branch - -Get any required changes into the release branch by whatever means you choose. - -### Tag patch release from release branch - -Tag the head of your release branch with the release tag, and push - -```sh -$ git tag -a v1.2.1 -m 'contour 1.2.1' -$ git push --tags -``` - -## Finishing up - -If you've made a production release (that is, a final release or a patch release), you have a couple of things left to do. - -### Updating site details - -The quickstart url, https://projectcontour.io/quickstart/contour.yaml redirects to the current stable release. -This is controlled by the `[[redirects]]` section in `netlify.toml`. If the definition of `:latest` has changed, update the quickstart redirector to match. - -### Do the Github release and write release notes - -Now you have a tag pushed to Github, go to the release tab on github, select the tag and write up your release notes. -For patch releases, include the previous release notes below the new ones. - -_Note: Filter on the Github label "release note" and Github milestone which should include any PRs which should be called out in the release notes._ - -### Toot your horn - -- Post a note to the #contour channel on k8s slack, also update the /topic with the current release number -- Post a note to the #project-contour channel on the vmware slack, also update the /topic with the current release number -- Send an update to the [cncf-contour-users mailing list](https://lists.cncf.io/g/cncf-contour-users/) - -[1]: https://github.com/projectcontour/contour-operator diff --git a/site/_scss/_styles.scss b/site/_scss/_styles.scss deleted file mode 100644 index 398c4a88be8..00000000000 --- a/site/_scss/_styles.scss +++ /dev/null @@ -1,34 +0,0 @@ -@import "./site/settings/variables"; - -// 3rd party -@import "./bootstrap-4.1.3/bootstrap.scss"; - -// Common -@import "./site/common/fonts"; -@import "./site/common/core"; -@import "./site/common/type"; - -// Layouts -@import "./site/layouts/container"; -@import "./site/layouts/docsearch"; - -// Objects -@import "./site/objects/header"; -@import "./site/objects/footer"; -@import "./site/objects/section"; -@import "./site/objects/home-hero"; -@import "./site/objects/card"; -@import "./site/objects/alternating-cards"; -@import "./site/objects/button"; -@import "./site/objects/thumbnail-grid"; -@import "./site/objects/post"; -@import "./site/objects/toc"; -@import "./site/objects/deprecated"; -@import "./site/objects/anchor"; - -// Utilities -@import "./site/utilities/image"; -@import "./site/utilities/type"; - -// Code highlighting theme, from https://github.com/jwarby/jekyll-pygments-themes -@import "./site/utilities/highlighter"; diff --git a/site/_scss/bootstrap-4.1.3/_alert.scss b/site/_scss/bootstrap-4.1.3/_alert.scss deleted file mode 100755 index dd43e2376a1..00000000000 --- a/site/_scss/bootstrap-4.1.3/_alert.scss +++ /dev/null @@ -1,51 +0,0 @@ -// -// Base styles -// - -.alert { - position: relative; - padding: $alert-padding-y $alert-padding-x; - margin-bottom: $alert-margin-bottom; - border: $alert-border-width solid transparent; - @include border-radius($alert-border-radius); -} - -// Headings for larger alerts -.alert-heading { - // Specified to prevent conflicts of changing $headings-color - color: inherit; -} - -// Provide class for links that match alerts -.alert-link { - font-weight: $alert-link-font-weight; -} - - -// Dismissible alerts -// -// Expand the right padding and account for the close button's positioning. - -.alert-dismissible { - padding-right: ($close-font-size + $alert-padding-x * 2); - - // Adjust close link position - .close { - position: absolute; - top: 0; - right: 0; - padding: $alert-padding-y $alert-padding-x; - color: inherit; - } -} - - -// Alternate styles -// -// Generate contextual modifier classes for colorizing the alert. - -@each $color, $value in $theme-colors { - .alert-#{$color} { - @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level)); - } -} diff --git a/site/_scss/bootstrap-4.1.3/_badge.scss b/site/_scss/bootstrap-4.1.3/_badge.scss deleted file mode 100755 index b87a1b00495..00000000000 --- a/site/_scss/bootstrap-4.1.3/_badge.scss +++ /dev/null @@ -1,47 +0,0 @@ -// Base class -// -// Requires one of the contextual, color modifier classes for `color` and -// `background-color`. - -.badge { - display: inline-block; - padding: $badge-padding-y $badge-padding-x; - font-size: $badge-font-size; - font-weight: $badge-font-weight; - line-height: 1; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - @include border-radius($badge-border-radius); - - // Empty badges collapse automatically - &:empty { - display: none; - } -} - -// Quick fix for badges in buttons -.btn .badge { - position: relative; - top: -1px; -} - -// Pill badges -// -// Make them extra rounded with a modifier to replace v3's badges. - -.badge-pill { - padding-right: $badge-pill-padding-x; - padding-left: $badge-pill-padding-x; - @include border-radius($badge-pill-border-radius); -} - -// Colors -// -// Contextual variations (linked badges get darker on :hover). - -@each $color, $value in $theme-colors { - .badge-#{$color} { - @include badge-variant($value); - } -} diff --git a/site/_scss/bootstrap-4.1.3/_breadcrumb.scss b/site/_scss/bootstrap-4.1.3/_breadcrumb.scss deleted file mode 100755 index be309506903..00000000000 --- a/site/_scss/bootstrap-4.1.3/_breadcrumb.scss +++ /dev/null @@ -1,41 +0,0 @@ -.breadcrumb { - display: flex; - flex-wrap: wrap; - padding: $breadcrumb-padding-y $breadcrumb-padding-x; - margin-bottom: $breadcrumb-margin-bottom; - list-style: none; - background-color: $breadcrumb-bg; - @include border-radius($breadcrumb-border-radius); -} - -.breadcrumb-item { - // The separator between breadcrumbs (by default, a forward-slash: "/") - + .breadcrumb-item { - padding-left: $breadcrumb-item-padding; - - &::before { - display: inline-block; // Suppress underlining of the separator in modern browsers - padding-right: $breadcrumb-item-padding; - color: $breadcrumb-divider-color; - content: $breadcrumb-divider; - } - } - - // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built - // without `