diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/.github/workflows/build_deploy.yml b/.github/workflows/build_deploy.yml index 5a26aae..28c7f78 100644 --- a/.github/workflows/build_deploy.yml +++ b/.github/workflows/build_deploy.yml @@ -20,22 +20,357 @@ concurrency: cancel-in-progress: false jobs: - build: + # + # For each document category (administrative, standard, etc.), + # build using `metanorma site generate`. + # + # At the very end, integrate them all with Jekyll. + # + # NOTE: Try to parallelize the build process as much as possible. + # This is currently done by building the admin and standard docs in + # parallel. + # + build-pending-publication: + name: Build pending-publication docs + needs: build-site + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: 'recursive' + fetch-depth: 1 + - name: Calculate cache key + id: cache-key + run: | + echo "cache-key=$(scripts/metacachekey metanorma metanorma-pending-publication.yml)" >> $GITHUB_OUTPUT + - name: Restore cache + id: cache + uses: actions/cache@v4 + with: + path: _site/pending-publication + key: ${{ steps.cache-key.outputs.cache-key }} + - name: Use Ruby + if: steps.cache.outputs.cache-hit != 'true' + uses: ruby/setup-ruby@v1 + with: + bundler-cache: true + - name: Build site + if: steps.cache.outputs.cache-hit != 'true' + run: | + make build-pending-publication + - name: Save artifacts + uses: actions/upload-artifact@v4 + with: + name: pending-publication-docs + path: _site/pending-publication + + build-public-review: + name: Build public-review docs + needs: build-site + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: 'recursive' + fetch-depth: 1 + - name: Calculate cache key + id: cache-key + run: | + echo "cache-key=$(scripts/metacachekey metanorma metanorma-public-review.yml)" >> $GITHUB_OUTPUT + - name: Restore cache + id: cache + uses: actions/cache@v4 + with: + path: _site/public-review + key: ${{ steps.cache-key.outputs.cache-key }} + - name: Use Ruby + if: steps.cache.outputs.cache-hit != 'true' + uses: ruby/setup-ruby@v1 + with: + bundler-cache: true + - name: Build site + if: steps.cache.outputs.cache-hit != 'true' + run: | + make build-public-review + - name: Save artifacts + uses: actions/upload-artifact@v4 + with: + name: public-review-docs + path: _site/public-review + + build-administrative: + name: Build administrative docs + needs: build-site + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: 'recursive' + fetch-depth: 1 + - name: Calculate cache key + id: cache-key + run: | + echo "cache-key=$(scripts/metacachekey metanorma metanorma-administrative.yml)" >> $GITHUB_OUTPUT + - name: Restore cache + id: cache + uses: actions/cache@v4 + with: + path: _site/administrative + key: ${{ steps.cache-key.outputs.cache-key }} + - name: Use Ruby + if: steps.cache.outputs.cache-hit != 'true' + uses: ruby/setup-ruby@v1 + with: + bundler-cache: true + - name: Build site + if: steps.cache.outputs.cache-hit != 'true' + run: | + make build-administrative + - name: Save artifacts + uses: actions/upload-artifact@v4 + with: + name: administrative-docs + path: _site/administrative + + build-specification: + name: Build specification docs + needs: build-site + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: 'recursive' + fetch-depth: 1 + - name: Calculate cache key + id: cache-key + run: | + echo "cache-key=$(scripts/metacachekey metanorma metanorma-specification.yml)" >> $GITHUB_OUTPUT + - name: Restore cache + id: cache + uses: actions/cache@v4 + with: + # 'specifications' instead of 'specification' to match link in index.adoc + path: _site/specifications + key: ${{ steps.cache-key.outputs.cache-key }} + - name: Use Ruby + if: steps.cache.outputs.cache-hit != 'true' + uses: ruby/setup-ruby@v1 + with: + bundler-cache: true + - name: Build site + if: steps.cache.outputs.cache-hit != 'true' + run: | + make build-specification + - name: Save artifacts + uses: actions/upload-artifact@v4 + with: + name: specification-docs + # 'specifications' instead of 'specification' to match link in index.adoc + path: _site/specifications + + build-report: + name: Build report docs + needs: build-site + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: 'recursive' + fetch-depth: 1 + - name: Calculate cache key + id: cache-key + run: | + echo "cache-key=$(scripts/metacachekey metanorma metanorma-report.yml)" >> $GITHUB_OUTPUT + - name: Restore cache + id: cache + uses: actions/cache@v4 + with: + # 'reports' instead of 'report' to match link in index.adoc + path: _site/reports + key: ${{ steps.cache-key.outputs.cache-key }} + - name: Use Ruby + if: steps.cache.outputs.cache-hit != 'true' + uses: ruby/setup-ruby@v1 + with: + bundler-cache: true + - name: Build site + if: steps.cache.outputs.cache-hit != 'true' + run: | + make build-report + - name: Save artifacts + uses: actions/upload-artifact@v4 + with: + name: report-docs + # 'reports' instead of 'report' to match link in index.adoc + path: _site/reports + + build-directive: + name: Build directive docs + needs: build-site + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: 'recursive' + fetch-depth: 1 + - name: Calculate cache key + id: cache-key + run: | + echo "cache-key=$(scripts/metacachekey metanorma metanorma-directive.yml)" >> $GITHUB_OUTPUT + - name: Restore cache + id: cache + uses: actions/cache@v4 + with: + # 'directives' instead of 'directive' to match link in index.adoc + path: _site/directives + key: ${{ steps.cache-key.outputs.cache-key }} + - name: Use Ruby + if: steps.cache.outputs.cache-hit != 'true' + uses: ruby/setup-ruby@v1 + with: + bundler-cache: true + - name: Build site + if: steps.cache.outputs.cache-hit != 'true' + run: | + make build-directive + - name: Save artifacts + uses: actions/upload-artifact@v4 + with: + name: directive-docs + # 'directives' instead of 'directive' to match link in index.adoc + path: _site/directives + + build-standard: + name: Build standard docs + needs: build-site + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: 'recursive' + fetch-depth: 1 + - name: Calculate cache key + id: cache-key + run: | + echo "cache-key=$(scripts/metacachekey metanorma metanorma-standard.yml)" >> $GITHUB_OUTPUT + - name: Restore cache + id: cache + uses: actions/cache@v4 + with: + # 'standards' instead of 'standard' to match link in index.adoc + path: _site/standards + key: ${{ steps.cache-key.outputs.cache-key }} + - name: Use Ruby + if: steps.cache.outputs.cache-hit != 'true' + uses: ruby/setup-ruby@v1 + with: + bundler-cache: true + - name: Build site + if: steps.cache.outputs.cache-hit != 'true' + run: | + make build-standard + - name: Save artifacts + uses: actions/upload-artifact@v4 + with: + name: standard-docs + # 'standards' instead of 'standard' to match link in index.adoc + path: _site/standards + + build-site: name: Build site runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: submodules: 'recursive' + fetch-depth: 1 + - name: Calculate cache key + id: cache-key + run: | + echo "cache-key=$(scripts/metacachekey jekyll _config.yml)" >> $GITHUB_OUTPUT + - name: Restore cache + id: cache + uses: actions/cache@v4 + with: + path: _site + key: ${{ steps.cache-key.outputs.cache-key }} - name: Use Ruby + if: steps.cache.outputs.cache-hit != 'true' uses: ruby/setup-ruby@v1 with: - ruby-version: '2.6' bundler-cache: true - bundler: '2.2.31' + env: + JEKYLL: 1 - name: Build site + if: steps.cache.outputs.cache-hit != 'true' run: | make _site + - name: Save artifacts + uses: actions/upload-artifact@v4 + with: + name: jekyll-site + path: _site + + upload-artifact: + name: Upload pages artifact + needs: + - build-site + - build-administrative + - build-directive + - build-pending-publication + - build-public-review + - build-report + - build-specification + - build-standard + runs-on: ubuntu-latest + steps: + # NOTE: Order is important. + # Downloading _site/ first ensures metanorma-generated docs are not + # overwritten. + - name: Download Jekyll artifacts + uses: actions/download-artifact@v4 + with: + name: jekyll-site + path: _site + - name: Download Directive docs artifacts + uses: actions/download-artifact@v4 + with: + name: directive-docs + # 'directives' instead of 'directive' to match link in index.adoc + path: _site/directives + - name: Download Report docs artifacts + uses: actions/download-artifact@v4 + with: + name: report-docs + # 'reports' instead of 'report' to match link in index.adoc + path: _site/reports + - name: Download Specification docs artifacts + uses: actions/download-artifact@v4 + with: + name: specification-docs + # 'specifications' instead of 'specification' to match link in index.adoc + path: _site/specifications + - name: Download Public Review docs artifacts + uses: actions/download-artifact@v4 + with: + name: public-review-docs + path: _site/public-review + - name: Download Pending Publication docs artifacts + uses: actions/download-artifact@v4 + with: + name: pending-publication-doc + path: _site/pending-publication + - name: Download Standard docs artifacts + uses: actions/download-artifact@v4 + with: + name: standard-docs + # 'standards' instead of 'standard' to match link in index.adoc + path: _site/standards + - name: Download Administrative docs artifacts + uses: actions/download-artifact@v4 + with: + name: administrative-docs + path: _site/administrative - name: Upload artifact # Automatically uploads an artifact from the './_site' directory by default uses: actions/upload-pages-artifact@v3 @@ -46,7 +381,8 @@ jobs: url: ${{ steps.deployment.outputs.page_url }} if: ${{ github.ref == 'refs/heads/master' }} runs-on: ubuntu-latest - needs: build + # needs: [build-admin, build-standards] + needs: upload-artifact steps: - name: Deploy to GitHub Pages id: deployment diff --git a/.gitignore b/.gitignore index 5556074..2364712 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,13 @@ +# Direnv +.direnv/ + +# Relaton +relaton +iev + +# Metanorma / jekyll +*.err.html +*.abort _site .sass-cache .jekyll-cache/ @@ -12,3 +22,6 @@ bib/ bibcoll/ csd/ .vscode/ + +# This is not a Gem, so lock file should be checked in. +# Gemfile.lock diff --git a/.gitmodules b/.gitmodules index dc631e4..245243b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,162 @@ -[submodule "_input/csd"] - path = _input/csd - url = https://github.com/CalConnect/published-csd +[submodule "cc-admin-documents"] + path = src-documents/cc-admin-documents + url = https://github.com/CalConnect/cc-admin-documents +[submodule "src-documents/cc-presentation-framework"] + path = src-documents/cc-presentation-framework + url = https://github.com/CalConnect/cc-presentation-framework.git +[submodule "src-documents/cc-calspam-bcp"] + path = src-documents/cc-calspam-bcp + url = https://github.com/CalConnect/cc-calspam-bcp.git +[submodule "src-documents/cc-directive-standardization-publication"] + path = src-documents/cc-directive-standardization-publication + url = https://github.com/CalConnect/cc-directive-standardization-publication.git +[submodule "src-documents/cc-directive-document-requirements"] + path = src-documents/cc-directive-document-requirements + url = https://github.com/CalConnect/cc-directive-document-requirements.git +[submodule "src-documents/cc-directive-patent-policy"] + path = src-documents/cc-directive-patent-policy + url = https://github.com/CalConnect/cc-directive-patent-policy.git +[submodule "src-documents/cc-iso-psdo-agreement"] + path = src-documents/cc-iso-psdo-agreement + url = https://github.com/CalConnect/cc-iso-psdo-agreement.git +[submodule "src-documents/cc-vobject-i18n"] + path = src-documents/cc-vobject-i18n + url = https://github.com/CalConnect/cc-vobject-i18n.git +[submodule "src-documents/cc-vobject-vformat"] + path = src-documents/cc-vobject-vformat + url = https://github.com/CalConnect/cc-vobject-vformat.git +[submodule "src-documents/cc-dst-recommendations"] + path = src-documents/cc-dst-recommendations + url = https://github.com/CalConnect/cc-dst-recommendations.git +[submodule "src-documents/cc-citation-models"] + path = src-documents/cc-citation-models + url = https://github.com/CalConnect/cc-citation-models.git +[submodule "src-documents/cc-ical-relations"] + path = src-documents/cc-ical-relations + url = https://github.com/CalConnect/cc-ical-relations.git +[submodule "src-documents/cc-icalendar-series"] + path = src-documents/cc-icalendar-series + url = https://github.com/CalConnect/cc-icalendar-series.git +[submodule "src-documents/cc-subscription-upgrade"] + path = src-documents/cc-subscription-upgrade + url = https://github.com/CalConnect/cc-subscription-upgrade.git +[submodule "src-documents/cc-vpoll"] + path = src-documents/cc-vpoll + url = https://github.com/CalConnect/cc-vpoll.git +[submodule "src-documents/cc-transcription-systems"] + path = src-documents/cc-transcription-systems + url = https://github.com/CalConnect/cc-transcription-systems.git +[submodule "src-documents/cc-wto-tbt-principles"] + path = src-documents/cc-wto-tbt-principles + url = https://github.com/CalConnect/cc-wto-tbt-principles.git +[submodule "src-documents/cc-standard-doc"] + path = src-documents/cc-standard-doc + url = https://github.com/CalConnect/cc-standard-doc.git +[submodule "src-documents/cc-lightweight-doc"] + path = src-documents/cc-lightweight-doc + url = https://github.com/CalConnect/cc-lightweight-doc.git +[submodule "src-documents/cc-directive-ipr-policy"] + path = src-documents/cc-directive-ipr-policy + url = https://github.com/CalConnect/cc-directive-ipr-policy.git +[submodule "src-documents/cc-directive-ipr-guidelines"] + path = src-documents/cc-directive-ipr-guidelines + url = https://github.com/CalConnect/cc-directive-ipr-guidelines.git +[submodule "src-documents/cc-digital-addresses"] + path = src-documents/cc-digital-addresses + url = https://github.com/CalConnect/cc-digital-addresses.git +[submodule "src-documents/cc-general-recurrence"] + path = src-documents/cc-general-recurrence + url = https://github.com/CalConnect/cc-general-recurrence.git +[submodule "src-documents/cc-datetime-explicit"] + path = src-documents/cc-datetime-explicit + url = https://github.com/CalConnect/cc-datetime-explicit.git +[submodule "src-documents/cc-calendar-systems"] + path = src-documents/cc-calendar-systems + url = https://github.com/CalConnect/cc-calendar-systems.git +[submodule "src-documents/cc-itip-participants"] + path = src-documents/cc-itip-participants + url = https://github.com/CalConnect/cc-itip-participants.git +[submodule "src-documents/cc-vpatch"] + path = src-documents/cc-vpatch + url = https://github.com/CalConnect/cc-vpatch.git +[submodule "src-documents/cc-vpath"] + path = src-documents/cc-vpath + url = https://github.com/CalConnect/cc-vpath.git +[submodule "src-documents/cc-vobject-integrity"] + path = src-documents/cc-vobject-integrity + url = https://github.com/CalConnect/cc-vobject-integrity.git +[submodule "src-documents/cc-calendar-vocab"] + path = src-documents/cc-calendar-vocab + url = https://github.com/CalConnect/cc-calendar-vocab.git +[submodule "src-documents/cc-dav-push"] + path = src-documents/cc-dav-push + url = https://github.com/CalConnect/cc-dav-push.git +[submodule "src-documents/cc-event-uri"] + path = src-documents/cc-event-uri + url = https://github.com/CalConnect/cc-event-uri.git +[submodule "src-documents/cc-caldav-audit"] + path = src-documents/cc-caldav-audit + url = https://github.com/CalConnect/cc-caldav-audit.git +[submodule "src-documents/cc-cal-resource-vcard"] + path = src-documents/cc-cal-resource-vcard + url = https://github.com/CalConnect/cc-cal-resource-vcard.git +[submodule "src-documents/cc-caldav-attachments"] + path = src-documents/cc-caldav-attachments + url = https://github.com/CalConnect/cc-caldav-attachments.git +[submodule "src-documents/cc-caldav-sync"] + path = src-documents/cc-caldav-sync + url = https://github.com/CalConnect/cc-caldav-sync.git +[submodule "src-documents/cc-calendar-dev-resources"] + path = src-documents/cc-calendar-dev-resources + url = https://github.com/CalConnect/cc-calendar-dev-resources.git +[submodule "src-documents/cc-collection-query"] + path = src-documents/cc-collection-query + url = https://github.com/CalConnect/cc-collection-query.git +[submodule "src-documents/cc-event-publishing-extensions"] + path = src-documents/cc-event-publishing-extensions + url = https://github.com/CalConnect/cc-event-publishing-extensions.git +[submodule "src-documents/cc-iTip-rewrite"] + path = src-documents/cc-iTip-rewrite + url = https://github.com/CalConnect/cc-iTip-rewrite.git +[submodule "src-documents/cc-ical-tasks"] + path = src-documents/cc-ical-tasks + url = https://github.com/CalConnect/cc-ical-tasks.git +[submodule "src-documents/cc-icalendar-patch"] + path = src-documents/cc-icalendar-patch + url = https://github.com/CalConnect/cc-icalendar-patch.git +[submodule "src-documents/cc-icalendar-vinstance"] + path = src-documents/cc-icalendar-vinstance + url = https://github.com/CalConnect/cc-icalendar-vinstance.git +[submodule "src-documents/cc-ischedule"] + path = src-documents/cc-ischedule + url = https://github.com/CalConnect/cc-ischedule.git +[submodule "src-documents/cc-jscalendar"] + path = src-documents/cc-jscalendar + url = https://github.com/CalConnect/cc-jscalendar.git +[submodule "src-documents/cc-jscontact"] + path = src-documents/cc-jscontact + url = https://github.com/CalConnect/cc-jscontact.git +[submodule "src-documents/cc-server-info"] + path = src-documents/cc-server-info + url = https://github.com/CalConnect/cc-server-info.git +[submodule "src-documents/cc-serverside-subscriptions"] + path = src-documents/cc-serverside-subscriptions + url = https://github.com/CalConnect/cc-serverside-subscriptions.git +[submodule "src-documents/cc-streaming-cal-contacts-data"] + path = src-documents/cc-streaming-cal-contacts-data + url = https://github.com/CalConnect/cc-streaming-cal-contacts-data.git +[submodule "src-documents/cc-useful-alarm-extensions"] + path = src-documents/cc-useful-alarm-extensions + url = https://github.com/CalConnect/cc-useful-alarm-extensions.git +[submodule "src-documents/cc-valarm-extensions"] + path = src-documents/cc-valarm-extensions + url = https://github.com/CalConnect/cc-valarm-extensions.git +[submodule "src-documents/cc-vcard-objectclass"] + path = src-documents/cc-vcard-objectclass + url = https://github.com/CalConnect/cc-vcard-objectclass.git +[submodule "src-documents/cc-vcard-schedulable"] + path = src-documents/cc-vcard-schedulable + url = https://github.com/CalConnect/cc-vcard-schedulable.git +[submodule "src-documents/cc-documents-register"] + path = src-documents/cc-documents-register + url = https://github.com/CalConnect/cc-documents-register.git diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 0000000..9f00cc1 --- /dev/null +++ b/.tool-versions @@ -0,0 +1 @@ +ruby 3.3.7 diff --git a/Gemfile b/Gemfile index 557de91..58b0afe 100644 --- a/Gemfile +++ b/Gemfile @@ -1,39 +1,38 @@ source "https://rubygems.org" -gem "metanorma-cli" - -# __________________ JEKYLL BELOW __________________ - -# Hello! This is where you manage which Jekyll version is used to run. -# When you want to use a different version, change it below, save the -# file and run `bundle install`. Run Jekyll with `bundle exec`, like so: -# -# bundle exec jekyll serve -# -# This will help ensure the proper Jekyll version is running. -# Happy Jekylling! -gem "jekyll", "~> 3.8" - -# This is the default theme for new Jekyll sites. You may change this to anything you like. -gem "minima", "~> 2.0" - -# If you want to use GitHub Pages, remove the "gem "jekyll"" above and -# uncomment the line below. To upgrade, run `bundle update github-pages`. -# gem "github-pages", group: :jekyll_plugins - -# If you have any plugins, put them here! -group :jekyll_plugins do - gem "jekyll-feed", "~> 0.6" - gem "jekyll-asciidoc" - # gem "jekyll-paginate-v2" -end +if ! ENV['JEKYLL'].nil? && ! ENV['JEKYLL'].empty? + # Hello! This is where you manage which Jekyll version is used to run. + # When you want to use a different version, change it below, save the + # file and run `bundle install`. Run Jekyll with `bundle exec`, like so: + # + # bundle exec jekyll serve + # + # This will help ensure the proper Jekyll version is running. + # Happy Jekylling! + gem "jekyll", "~> 4.4" + + # This is the default theme for new Jekyll sites. You may change this to anything you like. + gem "minima", "~> 2.5.2" + + # If you want to use GitHub Pages, remove the "gem "jekyll"" above and + # uncomment the line below. To upgrade, run `bundle update github-pages`. + # gem "github-pages", group: :jekyll_plugins + + # If you have any plugins, put them here! + group :jekyll_plugins do + gem "jekyll-feed", "~> 0.17.0" + gem "jekyll-asciidoc" + # gem "jekyll-paginate-v2" + end -# Windows does not include zoneinfo files, so bundle the tzinfo-data gem -gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby] + # Windows does not include zoneinfo files, so bundle the tzinfo-data gem + gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby] -# Performance-booster for watching directories on Windows -gem "wdm", "~> 0.1.0" if Gem.win_platform? + # Performance-booster for watching directories on Windows + gem "wdm", "~> 0.1.0" if Gem.win_platform? -gem "metanorma", "1.0.3" -gem "metanorma-csd" -gem "relaton-iso-bib", "0.9.2" +else + + gem "metanorma-cli", "~> 1.11.5" + +end diff --git a/Makefile b/Makefile index bc62df1..bec5440 100644 --- a/Makefile +++ b/Makefile @@ -1,19 +1,3 @@ -CSD_INPUT_DIR := _input/csd -CSD_OUTPUT_DIR := csd -CSD_SRC := $(wildcard $(CSD_INPUT_DIR)/*.xml) -BIB_OUTPUT_DIR := relaton -BIB_YAML_OUTPUT_DIR := relaton/yaml -BIB_XML_OUTPUT_DIR := relaton/xml -BIB_COLL_OUTPUT_DIR := relaton/collections -CSD_BASENAMES := $(basename $(CSD_SRC)) -CSD_OUTPUT_DIRS := $(patsubst $(CSD_INPUT_DIR)/%,$(CSD_OUTPUT_DIR)/%,$(CSD_BASENAMES)) -CSD_OUTPUT_XML := $(addsuffix .xml,$(CSD_OUTPUT_DIRS)) -CSD_OUTPUT_HTML := $(patsubst %.xml,%.html,$(CSD_OUTPUT_XML)) -CSD_OUTPUT_PDF := $(patsubst %.xml,%.pdf,$(CSD_OUTPUT_XML)) -CSD_OUTPUT_DOC := $(patsubst %.xml,%.doc,$(CSD_OUTPUT_XML)) -CSD_OUTPUT_RXL := $(patsubst %.xml,%.rxl,$(CSD_OUTPUT_XML)) -BIB_XML_CSD_OUTPUT := $(patsubst $(CSD_OUTPUT_DIR)/%,$(BIB_XML_OUTPUT_DIR)/%,$(CSD_OUTPUT_RXL)) -BIB_YAML_CSD_OUTPUT := $(patsubst $(CSD_OUTPUT_DIR)/%,$(BIB_YAML_OUTPUT_DIR)/%,$(patsubst %.rxl,%.yaml,$(CSD_OUTPUT_RXL))) SHELL := /bin/bash @@ -23,125 +7,103 @@ else PREFIX_CMD := echo "Running locally..."; bundle exec endif -SED_INFO := $(shell sed --version >/dev/null 2>&1; echo $$?) -ifeq ($(SED_INFO),1) - # macOS - SED_COMMAND := sed -i "" -else - # Linux - SED_COMMAND := sed -i -- -endif +.PHONY: all +all: prep _site -NAME_ORG := "CalConnect" -CSD_REGISTRY_NAME := "CalConnect Document Registry" -RXL_COL_OUTPUT := $(BIB_COLL_OUTPUT_DIR)/csd.rxl $(BIB_COLL_OUTPUT_DIR)/admin.rxl $(BIB_COLL_OUTPUT_DIR)/external.rxl -MN_ARTIFACTS := .tmp.xml *_images -RELATON_INDEX_OUTPUT := $(BIB_OUTPUT_DIR)/index.rxl $(BIB_OUTPUT_DIR)/index.yaml +.PHONY: clean +clean: + rm -rf _site + +JEKYLL_BUNDLE = JEKYLL=1 bundle + +# This is used to generate `make` targets for each doc type. +DOC_TYPES := \ + administrative \ + standard \ + public-review \ + pending-publication \ + report \ + directive \ + specification \ + + + +# This is used to generate `metanorma.source.files` for each doc type, +# which is the same as `DOC_TYPES` except for `public-review` and +# `pending-publication`. +REPOPULATING_DOC_TYPES := \ + administrative \ + standard \ + report \ + directive \ + specification \ -all: _documents $(CSD_OUTPUT_HTML) $(RELATON_INDEX_OUTPUT) -clean: - rm -rf _site _documents - rm -rf $(MN_ARTIFACTS) - rm -rf _input/*.rxl _input/csd.yaml - rm -rf $(BIB_OUTPUT_DIR) -build-csd: $(CSD_OUTPUT_HTML) +# Selectively define the output directory based on the doc type. +# Here, the doc type `standard` will output to `standards`, and all others will +# be left as is. +define site_output +$(if $(filter standard,$(1)),standards,$(if $(filter report,$(1)),reports,$(if $(filter specification,$(1)),specifications,$(if $(filter directive,$(1)),directives,$(1))))) +endef -clean-csd: - rm -rf $(CSD_OUTPUT_DIR) +define DOC_TYPE_TASKS +.PHONY: repopulate-metanorma-yaml-$(doc_type) +repopulate-metanorma-yaml-$(doc_type): + DOC_TYPE=$(doc_type) DOC_CLASS=cc scripts/repopulate-metanorma-yaml src-documents metanorma-$(doc_type).yml -_site: all - bundle exec jekyll build +.PHONY: build-$(doc_type) +build-$(doc_type): + $(PREFIX_CMD) metanorma site generate -o _site/$(call site_output,$(doc_type)) -c metanorma-$(doc_type).yml +endef -distclean: clean clean-csd +$(foreach doc_type,$(DOC_TYPES),$(eval $(DOC_TYPE_TASKS))) -# Make collection YAML files into adoc files -_documents: _input/csd.yaml $(BIB_YAML_OUTPUT_DIR) - mkdir -p $@; \ - for filename in $(BIB_YAML_OUTPUT_DIR)/*.yaml; do \ - FN=$${filename##*/}; \ - $(MAKE) $@/$${FN//yaml/adoc}; \ - done +.PHONY: repopulate-metanorma-yamls +repopulate-metanorma-yamls: $(addprefix repopulate-metanorma-yaml-,$(REPOPULATING_DOC_TYPES)) -_documents/%.adoc: $(BIB_YAML_OUTPUT_DIR)/%.yaml - cp $< $@ && \ - echo "---" >> $@; +.PHONY: build-all-parallel +build-all-parallel: _site build-parallel +.PHONY: build-parallel +build-parallel: + make build-standard & \ + make build-administrative & \ + make build-public-review & \ + make build-pending-publication & \ + make build-report & \ + make build-specification & \ + make build-directive & \ + wait + +.PHONY: build +build: $(addprefix build-,$(DOC_TYPES)) + +.PHONY: prep +prep: prep-jekyll prep-metanorma + +.PHONY: prep-metanorma +prep-metanorma: + bundle install + +.PHONY: prep-jekyll +prep-jekyll: + $(JEKYLL_BUNDLE) install + +.PHONY: jekyll +jekyll: + $(JEKYLL_BUNDLE) exec jekyll build + +_site: jekyll + +.PHONY: serve serve: - bundle exec jekyll serve - -$(BIB_OUTPUT_DIR): - mkdir -p $@ - -$(BIB_COLL_OUTPUT_DIR): - mkdir -p $@ - -# Here we concatenate all RXL files generated by metanorma -# This allows us to generate the RXL links within the RXL collection -_input/csd.rxl: $(CSD_OUTPUT_DIR) $(CSD_OUTPUT_RXL) - ${PREFIX_CMD} relaton concatenate \ - -t $(CSD_REGISTRY_NAME) \ - -g $(NAME_ORG) \ - $(CSD_OUTPUT_DIR) $@; \ - $(SED_COMMAND) 's+$(CSD_INPUT_DIR)+csd+g' $@ - -_input/%.rxl: _input/%.yaml - ${PREFIX_CMD} relaton yaml2xml $< - -_input/csd.yaml: _input/csd.rxl - ${PREFIX_CMD} relaton xml2yaml $< - -$(BIB_OUTPUT_DIR)/index.rxl: $(BIB_XML_OUTPUT_DIR) - ${PREFIX_CMD} relaton concatenate \ - -t $(CSD_REGISTRY_NAME) \ - -g $(NAME_ORG) \ - $(BIB_XML_OUTPUT_DIR) $@ - -$(BIB_XML_OUTPUT_DIR): $(RXL_COL_OUTPUT) - mkdir -p $@; \ - for coll in $^; do \ - ${PREFIX_CMD} relaton split \ - $$coll \ - $(BIB_XML_OUTPUT_DIR); \ - done - -$(BIB_OUTPUT_DIR)/index.yaml: $(BIB_YAML_OUTPUT_DIR) - ${PREFIX_CMD} relaton concatenate \ - -t $(CSD_REGISTRY_NAME) \ - -g $(NAME_ORG) \ - $(BIB_YAML_OUTPUT_DIR) $@ - -$(BIB_YAML_OUTPUT_DIR): $(RXL_COL_OUTPUT) - mkdir -p $@; \ - for coll in $^; do \ - ${PREFIX_CMD} relaton split \ - $$coll \ - $(BIB_YAML_OUTPUT_DIR) \ - -x yaml -n; \ - done - -$(BIB_COLL_OUTPUT_DIR)/%.rxl: _input/%.rxl | $(BIB_COLL_OUTPUT_DIR) - cp $< $@; - -$(BIB_COLL_OUTPUT_DIR)/%.yaml: _input/%.yaml | $(BIB_COLL_OUTPUT_DIR) - cp $< $@; - -$(CSD_OUTPUT_DIR): - mkdir -p $@ - -$(CSD_OUTPUT_DIR)/%.html $(CSD_OUTPUT_DIR)/%.pdf $(CSD_OUTPUT_DIR)/%.doc $(CSD_OUTPUT_DIR)/%.rxl $(CSD_OUTPUT_DIR)/%.xml: - cp $(CSD_INPUT_DIR)/$(notdir $*).xml $(CSD_OUTPUT_DIR) && \ - cd $(CSD_OUTPUT_DIR) && \ - ${PREFIX_CMD} metanorma -t csd -x html,doc,xml,rxl $*.xml - -# This empty target is necessary so that make detects changes in _input/*.yaml -_input/%.yaml: + $(JEKYLL_BUNDLE) exec jekyll serve +.PHONY: update-init update-init: git submodule update --init +.PHONY: update-modules update-modules: - git submodule foreach git pull origin master - -.PHONY: bundle all open serve clean clean-csd build-csd update update-modules + git submodule foreach git pull origin main diff --git a/README.adoc b/README.adoc index fcf99a1..7f131dc 100644 --- a/README.adoc +++ b/README.adoc @@ -43,49 +43,27 @@ make all make _site ---- -== Structure (and how it works) +== Structure === General -There are two types of input entries to this site: +Run the following command to update the list of CC documents in the site: -. CSD document entries +```sh +make repopulate-metanorma-yamls -. Relaton entries (pure bibliographic entries) +# Behind the scene, -All input is placed under the `_input/` directory. +DOC_TYPE=standard \ +DOC_CLASS=cc \ + scripts/repopulate-metanorma-yaml src-documents metanorma-standard.yml +DOC_TYPE=administrative \ +DOC_CLASS=cc \ + scripts/repopulate-metanorma-yaml src-documents metanorma-administrative.yml -=== Input: CSD document entries - -This repository accepts CSD document entries in CSD XML format, all stored under the `_input/csd/` directory, -and gets generated into the `csd/` directory. - -NOTE: The CSD XML format is described https://github.com/metanorma/metanorma-cc[here^]. - -Every CSD XML document is embedded with metadata information in Relaton format, including title, identifier(s), author(s) and date information. - -. Every CSD XML document under `_input/csd/` is copied to the output directory `csd/`. - -. A Relaton XML is generated of the same base filename, using the `metanorma -R foo.rxl foo.xml` command from the https://github.com/metanorma/metanorma-cli[`metanorma-cli` gem^]. For example, for a CSD XML file `csd/csd-patent-policy.xml`, the created Relaton XML file is `csd/csd-pateht-policy.rxl`. - -. Every CSD XML document under `csd/` is also used to generate the proper output formats using the `metanorma` command, including PDF, HTML and Word. All of these output files are placed in the same directory, `csd/`. - -. All of the Relaton XML entries from the `csd/` directory is provided in the `bib/` directory, with individual Relaton XML (`.rxl`) and Relaton YAML (`.yaml`) files. This relies on usage of the `relaton` commands from the https://github.com/riboseinc/relaton-cli/[`relaton-cli` gem]. - -** In addition, the `relaton concatenate` command detects the existence of related output files for the CSD entry, such as the PDF, HTML, Word files, and links them into their corresponding entry in `csd/foo.rxl`. - -. All bibliographic information for these CSD files are also provided in the `bib/` directory (as described in the next section). - - -=== Input: Bibliographic entries - -Bibliographic entries in Relaton format are entered in: - -* `_input/external.yaml` for externally managed (i.e. non CSD) files -* `_input/admin.yaml` for administrative files - -All bibliographic information is generated into the `bib/` directory. +# ... and so on, for other doc types, if any +``` NOTE: Relaton is a bibliographic model developed for ISO 690, the International Standard for citations. Relaton currently supports Relaton-XML (`.xml` or `.rxl`) and Relaton-YAML (`.yaml`) formats. More details about Relaton can be found https://github.com/relaton/relaton-models[here^]. @@ -140,23 +118,6 @@ The `_input/%.yaml` document is read. The `relaton yaml2xml` command from the ht * converts the Relaton YAML collection into a Relaton XML collection called `_input/%.rxl` -NOTE: While `_input/admin.yaml` and `_input/external.yaml` are static input files, the `_input/csd.yaml` (and `_input/csd.rxl`) files are dynamically built from documents in the `_input/csd` directory. - - -=== Combining document and pure bibliographic entries - -All `csd/*.rxl` files are copied into `bib/` so that all Relaton XML files are in the same directory. - -The `relaton concatenate` command is used to: - -* Combine the `csd/*.rxl` entries into `_input/csd.xml`, including all CSD-extracted bibliographic entries in the Relaton XML collection - -The `relaton xml2yaml` command is used to: - -* Convert the `_input/csd.rxl` entries into `_input/csd.yaml`, and also split the bibliographic entries into `bib/*.yaml` - - - === Sorting of entries Sorting of the entries is by reverse sort order of the `revdate` attribute of documents. @@ -166,20 +127,16 @@ Sorting of the entries is by reverse sort order of the `revdate` attribute of do === Rendering of HTML -https://jekyllrb.com[Jekyll^] is used to compile the HTML site from the Relaton files in `bib/` and `csd/` directories. +https://jekyllrb.com[Jekyll^] is used to compile the HTML site, +and https://github.com/metanorma/metanorma-cli[metanorma-cli^] +is used to compile CC documents via Metanorma YAML files. In particular, our `Makefile` builds a new directory `_documents` from the data from `bib/`, as a Jekyll collection: -* Jekyll collections don't support YAML files (files that end with `.yaml`). The `Makefile` converts them into -AsciiDoc files (`.adoc`) by changing the file extension and adding the `---` at the end of each file. - * The Jekyll collection, called `documents`, is used in the following pages: -** `_pages/administrative.adoc` -** `_pages/standards.adoc` ** `_pages/public-review.adoc` -** `_pages/administrative.adoc` * In `_config.yml`, it specifies that the `document` collection uses the layout `document` which allows rendering a separate page per document. @@ -188,12 +145,12 @@ AsciiDoc files (`.adoc`) by changing the file extension and adding the `---` at === Install -You will need to have Ruby 2.3+ installed. +You will need to have Ruby 3.3+ installed. [source,sh] ---- -bundle make update-init +make prep ---- @@ -205,17 +162,10 @@ make update-init -- [source,sh] ---- -pushd ~/published-csd/ -cp ../csd-doc/my-csd-xml.xml . -git add my-csd-xml.xml -git commit -m 'Add my-csd-xml.xml' -git push -popd - pushd ~/standards.calconnect.org -make update-module -git add _input/csd -git commit -m 'Update to use latest CSD documents' +make update-modules +git add src-documents +git commit -m 'chore: Update to use latest CC documents' git push ---- diff --git a/_config.yml b/_config.yml index bc5415e..9994462 100644 --- a/_config.yml +++ b/_config.yml @@ -60,6 +60,8 @@ exclude: - vendor/gems/ - vendor/ruby/ - "*.raw.rxl" + - src-documents/ + - scripts/ pagination: collection: 'posts' diff --git a/_includes/footer.html b/_includes/footer.html index 8c65737..3873d3b 100755 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -8,17 +8,14 @@
  • Home
  • diff --git a/_includes/header.html b/_includes/header.html index 078763c..a4fb5c7 100755 --- a/_includes/header.html +++ b/_includes/header.html @@ -15,8 +15,12 @@ menu diff --git a/_input/admin.yaml b/_input/admin.yaml deleted file mode 100644 index 11371db..0000000 --- a/_input/admin.yaml +++ /dev/null @@ -1,2127 +0,0 @@ ---- -root: - title: 'CalConnect Document Registry: Administrative Documents' - items: - - id: CC/Adm0401-2004 - title: - - type: title-main - content: July 2004 CalConnect Interoperability Test Rules and Test Scenarios - V1.0 (CD 0401) - language: en - script: Latn - format: text/plain - - type: main - content: July 2004 CalConnect Interoperability Test Rules and Test Scenarios - V1.0 (CD 0401) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0401%20July%202004%20CalConnect%20Interoperability%20Test%20Rules%20and%20Test%20Scenarios%20V1.0.pdf - type: standard - docid: - id: CC/Adm 0401:2004 - type: CC - version: - revision_date: 2004-07-30 - revdate: 2004-07-30 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm0402-2004 - title: - - type: title-main - content: July 2004 CalConnect Interoperability Test Results Spreadsheet V1.0 - (CD 0402) - language: en - script: Latn - format: text/plain - - type: main - content: July 2004 CalConnect Interoperability Test Results Spreadsheet V1.0 - (CD 0402) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0402%20July%202004%20CalConnect%20Interoperability%20Test%20Results%20Spreadsheet%20V1.0.pdf - type: standard - docid: - id: CC/Adm 0402:2004 - type: CC - version: - revision_date: 2004-07-30 - revdate: 2004-07-30 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm0403-2004 - title: - - type: title-main - content: July 2004 CalConnect Interoperability Test Report V1.0 (CD 0403) - language: en - script: Latn - format: text/plain - - type: main - content: July 2004 CalConnect Interoperability Test Report V1.0 (CD 0403) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0403%20July%202004%20CalConnect%20Interoperability%20Test%20Report%20V1.0.pdf - type: standard - docid: - id: CC/Adm 0403:2004 - type: CC - version: - revision_date: 2004-07-30 - revdate: 2004-07-30 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm0404-2004 - title: - - type: title-main - content: Report on Roundtable I (CD 0404) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable I (CD 0404) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable1rpt.pdf - type: standard - docid: - id: CC/Adm 0404:2004 - type: CC - version: - revision_date: 2004-09-25 - revdate: 2004-09-25 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm0501-2005 - title: - - type: title-main - content: January 2005 CalConnect Interoperability Test Scenarios V1.0 (CD 0501) - language: en - script: Latn - format: text/plain - - type: main - content: January 2005 CalConnect Interoperability Test Scenarios V1.0 (CD 0501) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0501%20January%202005%20CalConnect%20Interoperability%20Test%20Scenarios%20V1.0.pdf - type: standard - docid: - id: CC/Adm 0501:2005 - type: CC - version: - revision_date: 2005-01-12 - revdate: 2005-01-12 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm0502-2005 - title: - - type: title-main - content: January 2005 CalConnect Interoperability Test Report V1.0 (CD 0502) - language: en - script: Latn - format: text/plain - - type: main - content: January 2005 CalConnect Interoperability Test Report V1.0 (CD 0502) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0502%20January%202005%20CalConnect%20Interoperability%20Test%20Report%20V1.0.pdf - type: standard - docid: - id: CC/Adm 0502:2005 - type: CC - version: - revision_date: 2005-01-12 - revdate: 2005-01-12 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm0503-2005 - title: - - type: title-main - content: June 2005 CalConnect Interoperability Test Scenarios V1.0 (CD 0503) - language: en - script: Latn - format: text/plain - - type: main - content: June 2005 CalConnect Interoperability Test Scenarios V1.0 (CD 0503) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0503%20June%202005%20CalConnect%20Interoperability%20Test%20Scenarios%20V1.0.pdf - type: standard - docid: - id: CC/Adm 0503:2005 - type: CC - version: - revision_date: 2005-06-18 - revdate: 2005-06-18 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm0504-2005 - title: - - type: title-main - content: June 2005 CalConnect Interoperability Test Report V1.0 (CD 0504) - language: en - script: Latn - format: text/plain - - type: main - content: June 2005 CalConnect Interoperability Test Report V1.0 (CD 0504) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0504%20June%202005%20CalConnect%20Interoperability%20Test%20Report%20V1.0.pdf - type: standard - docid: - id: CC/Adm 0504:2005 - type: CC - version: - revision_date: 2005-06-18 - revdate: 2005-06-18 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm0505-2005 - title: - - type: title-main - content: Results from First Recurrence Questionnaire V1.0 (CD 0505) - language: en - script: Latn - format: text/plain - - type: main - content: Results from First Recurrence Questionnaire V1.0 (CD 0505) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0505%20Results%20from%20First%20Recurrence%20Questionnaire%20V1.0.pdf - type: standard - docid: - id: CC/Adm 0505:2005 - type: CC - version: - revision_date: 2005-07-21 - revdate: 2005-07-21 - editorialgroup: - technical_committee: - name: RECURR - doctype: administrative - - id: CC/Adm0506-2005 - title: - - type: title-main - content: September 2005 CalConnect Interoperability Test Report V1.0 (CD 0506) - language: en - script: Latn - format: text/plain - - type: main - content: September 2005 CalConnect Interoperability Test Report V1.0 (CD 0506) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0506%20September%202005%20CalConnect%20Interoperability%20Test%20Report%20V1.0.pdf - type: standard - docid: - id: CC/Adm 0506:2005 - type: CC - version: - revision_date: 2005-09-14 - revdate: 2005-09-14 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm0508-2005 - title: - - type: title-main - content: Overview of The Calendaring and Scheduling Consortium V1.0 (CD 0508) - language: en - script: Latn - format: text/plain - - type: main - content: Overview of The Calendaring and Scheduling Consortium V1.0 (CD 0508) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0508%20Overview%20of%20The%20Calendaring%20and%20Scheduling%20Consortium%20V1.0.pdf - type: standard - docid: - id: CC/Adm 0508:2005 - type: CC - version: - revision_date: 2005-10-11 - revdate: 2005-10-11 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm0509-2005 - title: - - type: title-main - content: Educause 2005 Overview of The Calendaring and Scheduling Consortium - V1.0 (CD 0509) - language: en - script: Latn - format: text/plain - - type: main - content: Educause 2005 Overview of The Calendaring and Scheduling Consortium - V1.0 (CD 0509) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0509%20Educause%202005%20Overview%20of%20The%20Calendaring%20and%20Scheduling%20Consortium%20V1.0.pdf - type: standard - docid: - id: CC/Adm 0509:2005 - type: CC - version: - revision_date: 2005-09-26 - revdate: 2005-09-26 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm0510-2005 - title: - - type: title-main - content: Report on TIMEZONE Questionnaire Results V1.0 (CD 0510) - language: en - script: Latn - format: text/plain - - type: main - content: Report on TIMEZONE Questionnaire Results V1.0 (CD 0510) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0510%20Report%20on%20TIMEZONE%20Questionnaire%20Results%20V1.0.pdf - type: standard - docid: - id: CC/Adm 0510:2005 - type: CC - version: - revision_date: 2005-10-03 - revdate: 2005-10-03 - editorialgroup: - technical_committee: - name: TIMEZONE - doctype: administrative - - id: CC/Adm0511-2005 - title: - - type: title-main - content: Report on Roundtable II (CD 0511) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable II (CD 0511) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable2rpt.pdf - type: standard - docid: - id: CC/Adm 0511:2005 - type: CC - version: - revision_date: 2005-01-13 - revdate: 2005-01-13 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm0512-2005 - title: - - type: title-main - content: Report on Roundtable III (CD 0512) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable III (CD 0512) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable3rpt.pdf - type: standard - docid: - id: CC/Adm 0512:2005 - type: CC - version: - revision_date: 2005-06-03 - revdate: 2005-06-03 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm0513-2005 - title: - - type: title-main - content: Report on Roundtable IV (CD 0513) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable IV (CD 0513) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable4rpt.pdf - type: standard - docid: - id: CC/Adm 0513:2005 - type: CC - version: - revision_date: 2005-09-15 - revdate: 2005-09-15 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm0603-2006 - title: - - type: title-main - content: January 2006 CalConnect Interoperability Test Report V1.0 (CD 0603) - language: en - script: Latn - format: text/plain - - type: main - content: January 2006 CalConnect Interoperability Test Report V1.0 (CD 0603) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0603%20January%202006%20CalConnect%20Interoperability%20Test%20Report%20V1.0.pdf - type: standard - docid: - id: CC/Adm 0603:2006 - type: CC - version: - revision_date: 2006-02-09 - revdate: 2006-02-09 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm0605-2006 - title: - - type: title-main - content: OMA DS Briefing April 2006 V1.0 (CD 0605) - language: en - script: Latn - format: text/plain - - type: main - content: OMA DS Briefing April 2006 V1.0 (CD 0605) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0605%20OMA%20DS%20Briefing%20April%202006%20V1.0.pdf - type: standard - docid: - id: CC/Adm 0605:2006 - type: CC - version: - revision_date: 2006-04-05 - revdate: 2006-04-05 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm0607-2006 - title: - - type: title-main - content: May 2006 CalConnect Interoperability Test Report V1.1 (CD 0607) - language: en - script: Latn - format: text/plain - - type: main - content: May 2006 CalConnect Interoperability Test Report V1.1 (CD 0607) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0607%20May%202006%20CalConnect%20Interoperability%20Test%20Report%20V1.1.pdf - type: standard - docid: - id: CC/Adm 0607:2006 - type: CC - version: - revision_date: 2006-06-12 - revdate: 2006-06-12 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm0608-2006 - title: - - type: title-main - content: The Open Group Federated Freebusy Challenge Demo V1.0 (CD 0608) - language: en - script: Latn - format: text/plain - - type: main - content: The Open Group Federated Freebusy Challenge Demo V1.0 (CD 0608) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0608%20The%20Open%20Group%20Federated%20Freebusy%20Challenge%20Demo%20V1.0.pdf - type: standard - docid: - id: CC/Adm 0608:2006 - type: CC - version: - revision_date: 2006-07-17 - revdate: 2006-07-17 - editorialgroup: - technical_committee: - name: FREEBUSY - doctype: administrative - - id: CC/Adm0609-2006 - title: - - type: title-main - content: Report on Mobile Calendaring Questionnaire V2 Results V1.0 (CD 0609) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Mobile Calendaring Questionnaire V2 Results V1.0 (CD 0609) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0609%20Report%20on%20Mobile%20Calendaring%20Questionnaire%20V2%20Results%20V1.0.pdf - type: standard - docid: - id: CC/Adm 0609:2006 - type: CC - version: - revision_date: 2006-07-24 - revdate: 2006-07-24 - editorialgroup: - technical_committee: - name: MOBILE - doctype: administrative - - id: CC/Adm0610-2006 - title: - - type: title-main - content: Calendaring and Scheduling Glossary of Terms V1.0 (Obsoleted by CD1102) - (CD 0610) - language: en - script: Latn - format: text/plain - - type: main - content: Calendaring and Scheduling Glossary of Terms V1.0 (Obsoleted by CD1102) - (CD 0610) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0610%20Calendaring%20and%20Scheduling%20Glossary%20of%20Terms%20V1.0.pdf - type: standard - docid: - id: CC/Adm 0610:2006 - type: CC - version: - revision_date: 2006-10-24 - revdate: 2006-10-24 - editorialgroup: - technical_committee: - name: USECASE - doctype: administrative - - id: CC/Adm0612-2006 - title: - - type: title-main - content: September 2006 CalConnect Interoperability Test Report V1.2 (CD 0612) - language: en - script: Latn - format: text/plain - - type: main - content: September 2006 CalConnect Interoperability Test Report V1.2 (CD 0612) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0612%20September%202006%20CalConnect%20Interoperability%20Test%20Report%20V1.2.pdf - type: standard - docid: - id: CC/Adm 0612:2006 - type: CC - version: - revision_date: 2006-12-06 - revdate: 2006-12-06 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm0613-2006 - title: - - type: title-main - content: Report on Roundtable V (CD 0613) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable V (CD 0613) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable5rpt.pdf - type: standard - docid: - id: CC/Adm 0613:2006 - type: CC - version: - revision_date: 2006-01-12 - revdate: 2006-01-12 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm0614-2006 - title: - - type: title-main - content: Report on Roundtable VI (CD 0614) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable VI (CD 0614) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable6rpt.pdf - type: standard - docid: - id: CC/Adm 0614:2006 - type: CC - version: - revision_date: 2006-05-23 - revdate: 2006-05-23 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm0615-2006 - title: - - type: title-main - content: Report on Roundtable VII (CD 0615) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable VII (CD 0615) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable7rpt.pdf - type: standard - docid: - id: CC/Adm 0615:2006 - type: CC - version: - revision_date: 2006-09-29 - revdate: 2006-09-29 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm0710-2007 - title: - - type: title-main - content: September 2007 CalConnect Interoperability Test Report V2.0 (CD 0710) - language: en - script: Latn - format: text/plain - - type: main - content: September 2007 CalConnect Interoperability Test Report V2.0 (CD 0710) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0710%20September%202007%20CalConnect%20Interoperability%20Test%20Report%20V2.0.pdf - type: standard - docid: - id: CC/Adm 0710:2007 - type: CC - version: - revision_date: 2007-12-14 - revdate: 2007-12-14 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm0711-2007 - title: - - type: title-main - content: Report on Roundtable VIII (CD 0711) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable VIII (CD 0711) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable8rpt.pdf - type: standard - docid: - id: CC/Adm 0711:2007 - type: CC - version: - revision_date: 2007-02-02 - revdate: 2007-02-02 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm0712-2007 - title: - - type: title-main - content: Report on Roundtable IX (CD 0712) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable IX (CD 0712) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable9rpt.pdf - type: standard - docid: - id: CC/Adm 0712:2007 - type: CC - version: - revision_date: 2007-05-11 - revdate: 2007-05-11 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm0713-2007 - title: - - type: title-main - content: Report on Roundtable X (CD 0713) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable X (CD 0713) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable10rpt.pdf - type: standard - docid: - id: CC/Adm 0713:2007 - type: CC - version: - revision_date: 2007-09-21 - revdate: 2007-09-21 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm0714-2007 - title: - - type: title-main - content: "VCARD WKSP\tReport on CalConnect vCard Workshop September 18 2007 - (CD 0714)" - language: en - script: Latn - format: text/plain - - type: main - content: "VCARD WKSP\tReport on CalConnect vCard Workshop September 18 2007 - (CD 0714)" - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/vcardworkshopreport.pdf - type: standard - docid: - id: CC/Adm 0714:2007 - type: CC - version: - revision_date: 2007-09-18 - revdate: 2007-09-18 - editorialgroup: - technical_committee: - name: - doctype: administrative - - id: CC/Adm0801-2008 - title: - - type: title-main - content: CalConnect Technical Preview Roundtable XI V1.0 (CD 0801) - language: en - script: Latn - format: text/plain - - type: main - content: CalConnect Technical Preview Roundtable XI V1.0 (CD 0801) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0801%20CalConnect%20Technical%20Preview%20Roundtable%20XI%20V1.0.pdf - type: standard - docid: - id: CC/Adm 0801:2008 - type: CC - version: - revision_date: 2008-02-06 - revdate: 2008-02-06 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm0802-2008 - title: - - type: title-main - content: February 2008 CalConnect Interoperability Test Report V2.0 (CD 0802) - language: en - script: Latn - format: text/plain - - type: main - content: February 2008 CalConnect Interoperability Test Report V2.0 (CD 0802) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0802%20February%202008%20CalConnect%20Interoperability%20Test%20Report%20V2.0.pdf - type: standard - docid: - id: CC/Adm 0802:2008 - type: CC - version: - revision_date: 2008-04-09 - revdate: 2008-04-09 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm0803-2008 - title: - - type: title-main - content: February 2008 CalConnect Mobile Interoperability Test Report V2.0 (CD - 0803) - language: en - script: Latn - format: text/plain - - type: main - content: February 2008 CalConnect Mobile Interoperability Test Report V2.0 (CD - 0803) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0803%20February%202008%20CalConnect%20Mobile%20Interoperability%20Test%20Report%20V2.0.pdf - type: standard - docid: - id: CC/Adm 0803:2008 - type: CC - version: - revision_date: 2008-04-09 - revdate: 2008-04-09 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm0804-2008 - title: - - type: title-main - content: June 2008 CalConnect Interoperability Test Report V1.3 (CD 0804) - language: en - script: Latn - format: text/plain - - type: main - content: June 2008 CalConnect Interoperability Test Report V1.3 (CD 0804) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0804%20June%202008%20CalConnect%20Interoperability%20Test%20Report%20V1.3.pdf - type: standard - docid: - id: CC/Adm 0804:2008 - type: CC - version: - revision_date: 2008-08-31 - revdate: 2008-08-31 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm0806-2008 - title: - - type: title-main - content: CalConnect Technical Preview Roundtable XIII V1.0 (CD 0806) - language: en - script: Latn - format: text/plain - - type: main - content: CalConnect Technical Preview Roundtable XIII V1.0 (CD 0806) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0806%20CalConnect%20Technical%20Preview%20Roundtable%20XIII%20V1.0.pdf - type: standard - docid: - id: CC/Adm 0806:2008 - type: CC - version: - revision_date: 2008-10-08 - revdate: 2008-10-08 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm0807-2008 - title: - - type: title-main - content: October 2008 CalConnect Interoperability Test Report V1.1 (CD 0807) - language: en - script: Latn - format: text/plain - - type: main - content: October 2008 CalConnect Interoperability Test Report V1.1 (CD 0807) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0807%20October%202008%20CalConnect%20Interoperability%20Test%20Report%20V1.1.pdf - type: standard - docid: - id: CC/Adm 0807:2008 - type: CC - version: - revision_date: 2008-10-08 - revdate: 2008-10-08 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm0808-2009 - title: - - type: title-main - content: November 2008 CalConnect Mobile Interoperability Test Report V2.0 (CD - 0808) - language: en - script: Latn - format: text/plain - - type: main - content: November 2008 CalConnect Mobile Interoperability Test Report V2.0 (CD - 0808) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0808%20November%202008%20CalConnect%20Mobile%20Interoperability%20Test%20Report%20V2.0.pdf - type: standard - docid: - id: CC/Adm 0808:2009 - type: CC - version: - revision_date: 2009-02-19 - revdate: 2009-02-19 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm0809-2008 - title: - - type: title-main - content: Report on Roundtable XI (CD 0809) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable XI (CD 0809) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable11rpt.pdf - type: standard - docid: - id: CC/Adm 0809:2008 - type: CC - version: - revision_date: 2008-02-08 - revdate: 2008-02-08 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm0810-2008 - title: - - type: title-main - content: Report on Roundtable XII (CD 0810) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable XII (CD 0810) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable12rpt.pdf - type: standard - docid: - id: CC/Adm 0810:2008 - type: CC - version: - revision_date: 2008-06-06 - revdate: 2008-06-06 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm0811-2008 - title: - - type: title-main - content: Report on Roundtable XIII (CD 0811) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable XIII (CD 0811) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable13rpt.pdf - type: standard - docid: - id: CC/Adm 0811:2008 - type: CC - version: - revision_date: 2008-10-10 - revdate: 2008-10-10 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm0812-2008 - title: - - type: title-main - content: Meet CalConnect 2008 (CD 0812) - language: en - script: Latn - format: text/plain - - type: main - content: Meet CalConnect 2008 (CD 0812) - language: en - script: Latn - format: text/plain - type: standard - docid: - id: CC/Adm 0812:2008 - type: CC - version: - revision_date: 2008-11-07 - revdate: 2008-11-07 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm0901-2009 - title: - - type: title-main - content: Report on Roundtable XIV (CD 0901) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable XIV (CD 0901) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable14rpt.pdf - type: standard - docid: - id: CC/Adm 0901:2009 - type: CC - version: - revision_date: 2009-02-06 - revdate: 2009-02-06 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm0902-2009 - title: - - type: title-main - content: February 2009 CalConnect Interoperability Test Report V2.0 (CD 0902) - language: en - script: Latn - format: text/plain - - type: main - content: February 2009 CalConnect Interoperability Test Report V2.0 (CD 0902) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0902%20February%202009%20CalConnect%20Interoperability%20Test%20Report%20V2.0.pdf - type: standard - docid: - id: CC/Adm 0902:2009 - type: CC - version: - revision_date: 2009-04-14 - revdate: 2009-04-14 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm0908-2009 - title: - - type: title-main - content: Report on Roundtable XV (CD 0908) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable XV (CD 0908) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable15rpt.pdf - type: standard - docid: - id: CC/Adm 0908:2009 - type: CC - version: - revision_date: 2009-06-11 - revdate: 2009-06-11 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm0909-2009 - title: - - type: title-main - content: June 2009 CalConnect Interoperability Test Report V2.0 (CD 0909) - language: en - script: Latn - format: text/plain - - type: main - content: June 2009 CalConnect Interoperability Test Report V2.0 (CD 0909) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0909%20June%202009%20CalConnect%20Interoperability%20Test%20Report%20V2.0.pdf - type: standard - docid: - id: CC/Adm 0909:2009 - type: CC - version: - revision_date: 2009-08-30 - revdate: 2009-08-30 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm0910-2009 - title: - - type: title-main - content: Report on Roundtable XVI (CD 0910) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable XVI (CD 0910) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable16rpt.pdf - type: standard - docid: - id: CC/Adm 0910:2009 - type: CC - version: - revision_date: 2009-10-19 - revdate: 2009-10-19 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm0911-2009 - title: - - type: title-main - content: October 2009 CalConnect Interoperability Test Report V2.0 (CD 0911) - language: en - script: Latn - format: text/plain - - type: main - content: October 2009 CalConnect Interoperability Test Report V2.0 (CD 0911) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD0911%20October%202009%20CalConnect%20Interoperability%20Test%20Report%20V2.0.pdf - type: standard - docid: - id: CC/Adm 0911:2009 - type: CC - version: - revision_date: 2009-11-24 - revdate: 2009-11-24 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm1001-2010 - title: - - type: title-main - content: Report on Roundtable XVII (CD 1001) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable XVII (CD 1001) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable17rpt.pdf - type: standard - docid: - id: CC/Adm 1001:2010 - type: CC - version: - revision_date: 2010-02-10 - revdate: 2010-02-10 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm1002-2010 - title: - - type: title-main - content: February 2010 CalConnect Interoperability Test Report V1.1 (CD 1002) - language: en - script: Latn - format: text/plain - - type: main - content: February 2010 CalConnect Interoperability Test Report V1.1 (CD 1002) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD1002%20February%202010%20CalConnect%20Interoperability%20Test%20Report%20V1.1.pdf - type: standard - docid: - id: CC/Adm 1002:2010 - type: CC - version: - revision_date: 2010-03-25 - revdate: 2010-03-25 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm1005-2010 - title: - - type: title-main - content: Report on Roundtable XVIII (CD 1005) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable XVIII (CD 1005) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable18rpt.pdf - type: standard - docid: - id: CC/Adm 1005:2010 - type: CC - version: - revision_date: 2010-06-02 - revdate: 2010-06-02 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm1009-2010 - title: - - type: title-main - content: May 2010 CalConnect Interoperability Test Event Report V1.0 (CD 1009) - language: en - script: Latn - format: text/plain - - type: main - content: May 2010 CalConnect Interoperability Test Event Report V1.0 (CD 1009) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD1009%20May%202010%20CalConnect%20Interoperability%20Test%20Event%20Report%20V1.0.pdf - type: standard - docid: - id: CC/Adm 1009:2010 - type: CC - version: - revision_date: 2010-07-19 - revdate: 2010-07-19 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm1010-2010 - title: - - type: title-main - content: TC MOBILE Interoperability Test Event Report V1.0 (CD 1010) - language: en - script: Latn - format: text/plain - - type: main - content: TC MOBILE Interoperability Test Event Report V1.0 (CD 1010) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD1010%20TC%20MOBILE%20Interoperability%20Test%20Event%20Report%20V1.0.pdf - type: standard - docid: - id: CC/Adm 1010:2010 - type: CC - version: - revision_date: 2010-09-10 - revdate: 2010-09-10 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm1013-2010 - title: - - type: title-main - content: Report on Roundtable XIX (CD 1013) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable XIX (CD 1013) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable19rpt.pdf - type: standard - docid: - id: CC/Adm 1013:2010 - type: CC - version: - revision_date: 2010-10-20 - revdate: 2010-10-20 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm1014-2011 - title: - - type: title-main - content: October 2010 CalConnect Interoperability Test Event Report V1.0 (CD - 1014) - language: en - script: Latn - format: text/plain - - type: main - content: October 2010 CalConnect Interoperability Test Event Report V1.0 (CD - 1014) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/CD1014%20October%202010%20CalConnect%20Interoperability%20Test%20Event%20Report%20V1.0.pdf - type: standard - docid: - id: CC/Adm 1014:2011 - type: CC - version: - revision_date: 2011-01-11 - revdate: 2011-01-11 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm1103-2011 - title: - - type: title-main - content: Report on Roundtable XX (CD 1103) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable XX (CD 1103) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable20rpt.pdf - type: standard - docid: - id: CC/Adm 1103:2011 - type: CC - version: - revision_date: 2011-03-16 - revdate: 2011-03-16 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm1105-2011 - title: - - type: title-main - content: Report on Roundtable XXI (CD 1105) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable XXI (CD 1105) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable21rpt.pdf - type: standard - docid: - id: CC/Adm 1105:2011 - type: CC - version: - revision_date: 2011-06-20 - revdate: 2011-06-20 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm1106-2011 - title: - - type: title-main - content: Report on Roundtable XXII (CD 1106) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable XXII (CD 1106) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable22rpt.pdf - type: standard - docid: - id: CC/Adm 1106:2011 - type: CC - version: - revision_date: 2011-11-07 - revdate: 2011-11-07 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm1201-2012 - title: - - type: title-main - content: Report on Roundtable XXIII (CD 1201) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable XXIII (CD 1201) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable23rpt.pdf - type: standard - docid: - id: CC/Adm 1201:2012 - type: CC - version: - revision_date: 2012-02-15 - revdate: 2012-02-15 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm1203-2012 - title: - - type: title-main - content: Report on Roundtable XXIV (CD 1203) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable XXIV (CD 1203) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable24rpt.pdf - type: standard - docid: - id: CC/Adm 1203:2012 - type: CC - version: - revision_date: 2012-06-01 - revdate: 2012-06-01 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm1204-2012 - title: - - type: title-main - content: Report on Roundtable XXV (CD 1204) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable XXV (CD 1204) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable25rpt.pdf - type: standard - docid: - id: CC/Adm 1204:2012 - type: CC - version: - revision_date: 2012-10-18 - revdate: 2012-10-18 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm1302-2013 - title: - - type: title-main - content: Report on Roundtable XXVI (CD 1302) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable XXVI (CD 1302) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable26rpt.pdf - type: standard - docid: - id: CC/Adm 1302:2013 - type: CC - version: - revision_date: 2013-02-20 - revdate: 2013-02-20 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm1303-2013 - title: - - type: title-main - content: Report on Interoperability Test Event XXVI (CD 1303) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Interoperability Test Event XXVI (CD 1303) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/ioptestevent26rpt.pdf - type: standard - docid: - id: CC/Adm 1303:2013 - type: CC - version: - revision_date: 2013-02-20 - revdate: 2013-02-20 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm1304-2013 - title: - - type: title-main - content: Report on Roundtable XXVII (CD 1304) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable XXVII (CD 1304) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable27rpt.pdf - type: standard - docid: - id: CC/Adm 1304:2013 - type: CC - version: - revision_date: 2013-07-08 - revdate: 2013-07-08 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm1305-2013 - title: - - type: title-main - content: Report on Interoperability Test Event XXVII (CD 1305) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Interoperability Test Event XXVII (CD 1305) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/ioptestevent27rpt.pdf - type: standard - docid: - id: CC/Adm 1305:2013 - type: CC - version: - revision_date: 2013-07-10 - revdate: 2013-07-10 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm1306-2013 - title: - - type: title-main - content: Report on Roundtable XXVIII (CD 1306) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable XXVIII (CD 1306) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable28rpt.pdf - type: standard - docid: - id: CC/Adm 1306:2013 - type: CC - version: - revision_date: 2013-10-10 - revdate: 2013-10-10 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm1307-2013 - title: - - type: title-main - content: Report on Interoperability Test Event XXVIII (CD 1307) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Interoperability Test Event XXVIII (CD 1307) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/ioptestevent28rpt.pdf - type: standard - docid: - id: CC/Adm 1307:2013 - type: CC - version: - revision_date: 2013-10-24 - revdate: 2013-10-24 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm1401-2014 - title: - - type: title-main - content: Report on Roundtable XXIX (CD 1401) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Roundtable XXIX (CD 1401) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/roundtable29rpt.pdf - type: standard - docid: - id: CC/Adm 1401:2014 - type: CC - version: - revision_date: 2014-02-26 - revdate: 2014-02-26 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm1402-2014 - title: - - type: title-main - content: Report on Interoperability Test Event XXIX (CD 1402) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Interoperability Test Event XXIX (CD 1402) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/ioptestevent29rpt.pdf - type: standard - docid: - id: CC/Adm 1402:2014 - type: CC - version: - revision_date: 2014-02-28 - revdate: 2014-02-28 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm1403-2014 - title: - - type: title-main - content: Workshop on the Veterans Administration Scheduling System Challenge - (CD 1403) - language: en - script: Latn - format: text/plain - - type: main - content: Workshop on the Veterans Administration Scheduling System Challenge - (CD 1403) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/vachallengeworkshopreport.pdf - type: standard - docid: - id: CC/Adm 1403:2014 - type: CC - version: - revision_date: 2014-05-20 - revdate: 2014-05-20 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm1404-2014 - title: - - type: title-main - content: Report on Interoperability Test Event at CalConnect XXX (CD 1404) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Interoperability Test Event at CalConnect XXX (CD 1404) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/ioptestevent30rpt.pdf - type: standard - docid: - id: CC/Adm 1404:2014 - type: CC - version: - revision_date: 2014-06-09 - revdate: 2014-06-09 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm1405-2014 - title: - - type: title-main - content: Report on CalConnect Conference XXX (CD 1405) - language: en - script: Latn - format: text/plain - - type: main - content: Report on CalConnect Conference XXX (CD 1405) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/conference30rpt.pdf - type: standard - docid: - id: CC/Adm 1405:2014 - type: CC - version: - revision_date: 2014-06-09 - revdate: 2014-06-09 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm1406-2014 - title: - - type: title-main - content: Report on CalConnect Conference XXXI (CD 1406) - language: en - script: Latn - format: text/plain - - type: main - content: Report on CalConnect Conference XXXI (CD 1406) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/conference31rpt.pdf - type: standard - docid: - id: CC/Adm 1406:2014 - type: CC - version: - revision_date: 2014-10-16 - revdate: 2014-10-16 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm1407-2014 - title: - - type: title-main - content: Report on Interoperability Test Event at CalConnect XXXI (CD 1407) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Interoperability Test Event at CalConnect XXXI (CD 1407) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/ioptestevent31rpt.pdf - type: standard - docid: - id: CC/Adm 1407:2014 - type: CC - version: - revision_date: 2014-10-31 - revdate: 2014-10-31 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm1501-2015 - title: - - type: title-main - content: Report on CalConnect Conference XXXII (CD 1501) - language: en - script: Latn - format: text/plain - - type: main - content: Report on CalConnect Conference XXXII (CD 1501) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/conference32rpt.pdf - type: standard - docid: - id: CC/Adm 1501:2015 - type: CC - version: - revision_date: 2015-02-18 - revdate: 2015-02-18 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm1502-2015 - title: - - type: title-main - content: Report on Interoperability Test Event XXXII (CD 1502) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Interoperability Test Event XXXII (CD 1502) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/ioptestevent32rpt.pdf - type: standard - docid: - id: CC/Adm 1502:2015 - type: CC - version: - revision_date: 2015-02-18 - revdate: 2015-02-18 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm1503-2015 - title: - - type: title-main - content: Report on CalConnect Conference XXXIII (CD 1503) - language: en - script: Latn - format: text/plain - - type: main - content: Report on CalConnect Conference XXXIII (CD 1503) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/conference33rpt.pdf - type: standard - docid: - id: CC/Adm 1503:2015 - type: CC - version: - revision_date: 2015-06-22 - revdate: 2015-06-22 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm1504-2015 - title: - - type: title-main - content: Report on Interoperability Test Event XXXIII (CD 1504) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Interoperability Test Event XXXIII (CD 1504) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/ioptestevent33rpt.pdf - type: standard - docid: - id: CC/Adm 1504:2015 - type: CC - version: - revision_date: 2015-06-23 - revdate: 2015-06-23 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm1505-2015 - title: - - type: title-main - content: Report on Interoperability Test Event XXXIV (CD 1505) - language: en - script: Latn - format: text/plain - - type: main - content: Report on Interoperability Test Event XXXIV (CD 1505) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/ioptestevent34rpt.pdf - type: standard - docid: - id: CC/Adm 1505:2015 - type: CC - version: - revision_date: 2015-06-19 - revdate: 2015-06-19 - editorialgroup: - technical_committee: - name: IOPTEST - doctype: administrative - - id: CC/Adm1506-2015 - title: - - type: title-main - content: Report on CalConnect Conference XXXIV (CD 1506) - language: en - script: Latn - format: text/plain - - type: main - content: Report on CalConnect Conference XXXIV (CD 1506) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/conference34rpt.pdf - type: standard - docid: - id: CC/Adm 1506:2015 - type: CC - version: - revision_date: 2015-10-23 - revdate: 2015-10-23 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - - id: CC/Adm1601-2016 - title: - - type: title-main - content: Report on CalConnect Conference XXXV (CD 1601) - language: en - script: Latn - format: text/plain - - type: main - content: Report on CalConnect Conference XXXV (CD 1601) - language: en - script: Latn - format: text/plain - link: - type: pdf - content: pubdocs/conference35rpt.pdf - type: standard - docid: - id: CC/Adm 1601:2016 - type: CC - version: - revision_date: 2016-02-03 - revdate: 2016-02-03 - editorialgroup: - technical_committee: - name: CALCONNECT - doctype: administrative - doctype: - author: 'CalConnect : The Calendaring and Scheduling Consortium' diff --git a/_input/csd b/_input/csd deleted file mode 160000 index 8e07b01..0000000 --- a/_input/csd +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 8e07b011e8e356545da9bf1601d13a1ff5165ab6 diff --git a/_pages/administrative.adoc b/_pages/administrative.adoc deleted file mode 100644 index 29ffa84..0000000 --- a/_pages/administrative.adoc +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: page -title: Administrative documents -parent: "/" ---- -:page-liquid: - -== Administrative documents - -{% assign sorted = site.documents | where:"doctype","administrative" | sort: 'revdate' | reverse %} -++++ -{% for document in sorted %} -{% assign depth = "4" %} -{% include document.html %} -{% endfor %} -++++ diff --git a/_pages/index.adoc b/_pages/index.adoc index 40ec90e..6f41837 100644 --- a/_pages/index.adoc +++ b/_pages/index.adoc @@ -24,7 +24,7 @@ are provided on this site. Documents in this registry are provided in the following formats: * accessible formats, such as in HTML, inasmuch possible (`.html`); -* https://www.metanorma.com/software/metanorma-csd/[Metanorma-CSD XML standardization document] format (`.xml`); +* https://www.metanorma.com/software/metanorma-cc/[Metanorma-CC XML standardization document] format (`.xml`); * PDF (`.pdf`) and Word (`.doc`) formats are also available for Metanorma-generated documents; NOTE: Older documents may only be provided in PDF format. @@ -38,8 +38,16 @@ Bibliographic details for every document can be downloaded in the Relaton XML fo * link:/public-review[CalConnect Standards under public review] +* link:/pending-publication[CalConnect Standards pending publication] + * link:/administrative[CalConnect Administrative documents] +* link:/directive[CalConnect Directive documents] + +* link:/report[CalConnect Reports] + +* link:/specification[CalConnect Specifications] + == Disclaimer diff --git a/_pages/standards.adoc b/_pages/standards.adoc deleted file mode 100644 index fcbb2ec..0000000 --- a/_pages/standards.adoc +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: page -title: Standards -parent: "/" ---- -:page-liquid: -{% assign sorted = site.documents | where_exp:"item","item.doctype != 'administrative'" | sort: "revdate" | reverse %} -++++ -{% for document in sorted %} -{% assign depth = "4" %} -{% include document.html %} -{% endfor %} -++++ diff --git a/_relaton_templates/_document.liquid b/_relaton_templates/_document.liquid new file mode 100644 index 0000000..91ec878 --- /dev/null +++ b/_relaton_templates/_document.liquid @@ -0,0 +1,100 @@ +{%- if document.items.size > 0 -%} +
    +{%- else -%} +
    +{%- endif -%} + +
    +
    +

    + {% if document.html == "" %} + {{ document.docid.id }} + {% else %} + {{ document.docid.id }} + {% endif %} +

    +
    + +
    +
    + {{ document.ext.doctype.type }} +
    +
    + + {% if document.edition.content %} +
    + Edition: {{ document.edition.content }} +
    + {% endif %} +
    + +
    +
    + {% if document.html == blank or document.html == nil %} + {{ document.title }} + {% else %} + {{ document.title }} + {% endif %} +
    +
    + +
    +
    + {% if document.docstatus.stage.abbreviation %} + {{ document.docstatus.stage.abbreviation }} + {% endif %} + {% if document.docstatus.substage %} + {{ document.docstatus.stage.value }}.{{ document.docstatus.substage.value }} + {% else %} + {{ document.docstatus.stage.value }} + {% endif %} +
    +
    + {% unless document.docstatus.stage.value == "published" %} +
    + {% else %} +
    + {% endunless %} + {{ document.revdate }} +
    +
    +
    + +
    + +
    + +
    + {% unless document.uri == blank or document.uri == nil %} +
    + URI +
    + {% endunless %} + {% unless document.html == blank or document.html == nil %} +
    + HTML +
    + {% endunless %} + {% unless document.pdf == blank or document.pdf == nil %} +
    + PDF +
    + {% endunless %} + {% unless document.doc == blank or document.doc == nil %} +
    + Word +
    + {% endunless %} + {% unless document.xml == blank or document.xml == nil %} +
    + XML +
    + {% endunless %} +
    +
    + +{%- if document.items.size > 0 -%} + {%- include 'document' for document.items -%} +{%- endif -%} diff --git a/_relaton_templates/_footer.liquid b/_relaton_templates/_footer.liquid new file mode 100644 index 0000000..cce1da5 --- /dev/null +++ b/_relaton_templates/_footer.liquid @@ -0,0 +1,34 @@ + diff --git a/_relaton_templates/_head.liquid b/_relaton_templates/_head.liquid new file mode 100644 index 0000000..8b73988 --- /dev/null +++ b/_relaton_templates/_head.liquid @@ -0,0 +1,17 @@ + + + + CalConnect Document Registry{% if title %}{{ title | escape | prepend: ": " }}{% endif %} + + + + + + + + + + + diff --git a/_relaton_templates/_header.liquid b/_relaton_templates/_header.liquid new file mode 100644 index 0000000..10c0e5a --- /dev/null +++ b/_relaton_templates/_header.liquid @@ -0,0 +1,30 @@ + diff --git a/_relaton_templates/_index.liquid b/_relaton_templates/_index.liquid new file mode 100644 index 0000000..7aee3c4 --- /dev/null +++ b/_relaton_templates/_index.liquid @@ -0,0 +1,22 @@ + + + + {% render 'head' %} + + + {% render 'header' %} +
    +
    + {% if title %} +

    {{ title }}

    + {% endif %} + {% render 'document' for documents %} +
    +
    + + {% render 'footer' %} + + {% render 'script' %} + + + diff --git a/_relaton_templates/_script.liquid b/_relaton_templates/_script.liquid new file mode 100644 index 0000000..79850cb --- /dev/null +++ b/_relaton_templates/_script.liquid @@ -0,0 +1,15 @@ + + + + + + + + + diff --git a/_sass/_main.scss b/_sass/_main.scss new file mode 100644 index 0000000..7699000 --- /dev/null +++ b/_sass/_main.scss @@ -0,0 +1,265 @@ +@charset "utf-8"; + +body { + font-family:'Ek Mukta',Arial,Helvetica,sans-serif;font-weight:300; + display: flex; + min-height: 100vh; + flex-direction: column; + font-size: 1.1rem; +} + +main { + flex: 1 0 auto; +} + + +h2, h3, h4, h5, h6 { + font-weight: bold; +} + +h2 { + border-bottom: 1px solid lightgrey +} + +h1, h2, h3, h4, h5, h6 { + -webkit-font-smoothing: antialiased; + font-family: 'Hind', sans-serif; +} +.icon-block { + padding: 0 15px; +} +.icon-block .material-icons { + font-size: inherit; +} +.shadow-demo { + background-color: #26a69a; + width: 100px; + height: 100px; + margin: 20px auto; +} +h1.page-title { + font-weight: 500; + font-size: 2.3em; + text-align: center; + color: #29b6f6; +} +.col.grid-example { + border: 1px solid #eee; + margin: 7px 0; + text-align: center; + line-height: 50px; + font-size: 28px; + background-color: tomato; + color: white; + padding: 0; +} +.collection .collection-item.avatar { + padding-right: 30px; +} +.last-post { + padding: 10px 0 15px; +} +.last-post .collection .collection-item.avatar>.date-post { + position: absolute; + width: 54px; + height: 54px; + overflow: hidden; + left: 10px; + display: inline-block; + padding: 16px 0; + vertical-align: middle; + background: #ad1457; + color: #fff; + text-align: center; +} +.txt-center { + text-align: center; +} +.post-header h1.post-title { + color: #29b6f6; + font-size: 2.8em; + font-weight: 800; +} +.post-header time { + color: #cacaca; + font-size: 0.9em; +} +p.rss-subscribe { + margin: 0; +} + + +.document { + padding-top: 5px; + border-bottom: 1px solid #0e1a85; +} + +.document:after { + content: ""; + display: table; + clear: both; +} + +.doc-line { + padding-top: 1em; +} + +.doc-line:after { + content: ""; + display: table; + clear: both; +} + +.doc-line .doc-identifier, .doc-line .doc-type-wrap { + float: left; +} + +.doc-published, .doc-updated, .doc-identifier, +.doc-stage, .doc-type, h2, h3 { + display: inline-block; +} + +.doc-type-wrap { + padding-top: 15px; + margin-left: 1em; +} + +.doc-type { + padding: 4px 8px; + border-radius: 5px; + font-size: 0.85em; + line-height: 1em; + margin-right: 10px; + color: white; + text-transform: uppercase; +} + +$doctype-colors-list:( + standard: #0AC442, + directive: #540D6E, + guide: #D183C9, + specification: #65AFFF, + report: #3A405A, + amendment: #F26430, + corrigendum: #C84630, + administrative: #BFAE48, + advisory: #BD9391 +); + +@each $key,$val in $doctype-colors-list{ + .doc-type.#{$key} { + background-color: #{$val}; + } +} + +$docstage-colors-list:( + proposal: #39A0ED, + working-draft: #2D7393, + committee-draft: #2A6B7C, + draft-standard: #1C7F7A, + final-draft: #53C170, + published: #069E2D, + withdrawn: #004E64, + cancelled: #2E382E, +); + +@each $key,$val in $docstage-colors-list{ + .doc-info.#{$key} { + color: #{$val}; + } +} + +.doc-stage { + text-transform: uppercase; + font-size: 1em; + line-height: 1em; + +} + +.doc-info { + padding-top: 0; + padding-bottom: 10px; + font-size: 0.9em; + line-height: 1em; + float: left; +} + +.doc-dates { + padding-top: 5px; + display: inline-block; + margin-left: 0.5em; +} + +.doc-abstract { + float: left; +} + +.doc-access, .doc-bib { + display: block; + float: right; +} + +.doc-access > div { + float: left; + margin: 5px 10px; +} + +.doc-bib > div { + float: left; + margin: 5px 10px; +} + +/* + 4.4 Copyright +*/ +.copyright { + padding: 1em; + font-size: 0.9em; + text-align: left; +} + +.copyright .name, +.copyright .address { + color: #485094; +} + + + +/* Lists */ +main { + ul { + margin-left: 1.2em; + } + + ol { + margin-left: 1.2em; + } + + ul > li { + list-style: none; + } + + ul > li:before { + content: "—"; + display: inline-block; + width: 1em; + margin-left: -1.2em; + } + + li p { + display: inline; + } + + li:first-child { + margin-top: 1em; + } +} + +/* + 3.7 Notes +*/ +.admonitionblock.note { + background-color: #fff495; + color: #47430c; + padding: 0 1em; +} diff --git a/_sass/_metanorma-index.scss b/_sass/_metanorma-index.scss new file mode 100644 index 0000000..5006a76 --- /dev/null +++ b/_sass/_metanorma-index.scss @@ -0,0 +1,250 @@ +@charset "UTF-8"; +@use 'sass:color'; + +/* + 1. HTML & Body +*/ +body { + margin: 0; + margin-left: auto; + margin-right: auto; + max-width: 100%; + color: #1d1d1d; + font-weight: 300; + font-size: 15px; + line-height: 1.4em; + background-color: #ffffff; +} + +/* + 3.2 Links +*/ +main { + a, a:visited { + text-decoration: none; + color: #485094; + } + + a:hover { + color: color.adjust(#485094, $lightness: 15%); + } +} + +/* + 3.3 Lists +*/ +ul { + margin-left: 1.2em; +} + +ol { + margin-left: 1.2em; +} + +ul > li { + list-style: none; +} + +li p { + display: inline; +} + +/* + 3.4 Rules +*/ +.rule { + width: 100%; + height: 1px; + background-color: #0e1a85; + margin: 2em 0; +} + +h2 p { + display: inline; +} + +/* + Paragraphs +*/ +p { + margin-top: 1em; + margin-bottom: 1em; +} + +@page { + margin: 2cm 1cm 2cm 1cm; +} + +@media print { + h1 { + page-break-before: always; + } + .container { + padding-left: 0; + } + nav { + position: relative; + width: auto; + font-size: 0.9em; + overflow: auto; + padding: 0; + margin-right: 0; + background-color: white; + } +} + + +.document { + padding-top: 5px; + border-bottom: 1px solid #0e1a85; +} + +.document:after { + content: ""; + display: table; + clear: both; +} + +.doc-line { + padding-top: 2em; +} + +.doc-line:after { + content: ""; + display: table; + clear: both; +} + +.doc-line { + .doc-identifier, .doc-type-wrap { + float: left; + } + .doc-edition, .doc-type-wrap { + padding-top: 0.75rem; + } +} + +.doc-published, +.doc-updated, +.doc-identifier, +.doc-stage, +.doc-type, h2, h3 { + display: inline-block; +} + +.doc-type-wrap { + margin-left: 1em; +} + +.doc-type { + padding: 4px 8px; + border-radius: 5px; + font-size: 0.85em; + line-height: 1em; + margin-right: 10px; + color: white; + text-transform: uppercase; +} + +$doctype-colors-list:( + standard: #0AC442, + governance: #540D6E, + guide: #D183C9, + specification: #65AFFF, + report: #3A405A, + amendment: #F26430, + corrigendum: #C84630, + administrative: #BFAE48, + advisory: #33658A +); + +@each $key,$val in $doctype-colors-list{ + .doc-type.#{$key} { + background-color: #{$val}; + } +} + +$docstage-colors-list:( + proposal: #39A0ED, + // working-draft: #1BB5A5, + working-draft: #2D7393, + // committee-draft: #0DAB76, + committee-draft: #2A6B7C, + draft-standard: #1C7F7A, + final-draft: #53C170, + // published: #139A43, + published: #069E2D, + withdrawn: #004E64, + cancelled: #2E382E, +); + +@each $key,$val in $docstage-colors-list{ + .doc-info.#{$key} { + color: #{$val}; + } +} + +.doc-stage { + text-transform: uppercase; + font-size: 1em; + line-height: 1em; +} + +.doc-info { + padding-top: 0; + padding-bottom: 10px; + font-size: 0.9em; + line-height: 1em; + float: left; +} + +.doc-dates { + padding-top: 5px; + display: inline-block; + margin-left: 0.5em; +} + +.doc-abstract { + float: left; +} + +.doc-access, .doc-bib { + display: block; + float: right; +} + +.doc-access > div { + float: left; + margin: 5px 10px; +} + +.doc-bib > div { + float: left; + margin: 5px 10px; +} + +/* +.doc-updated:before { + content: "(revised: " +} + +.doc-updated:after { + content: ")"; +}*/ + + +.doc-stage:before { + content: "STAGE: " +} + + +@media only screen and (max-width: 900px) { + .doc-dates, .doc-type, .doc-stage { + margin-bottom: 5px; + } + + .document { + overflow: hidden; + padding-bottom: 10px; + } +} diff --git a/_sass/main.scss b/_sass/main.scss index 65b865e..a6802bf 100755 --- a/_sass/main.scss +++ b/_sass/main.scss @@ -1,266 +1,44 @@ -@charset "utf-8"; - -body { - font-family:'Ek Mukta',Arial,Helvetica,sans-serif;font-weight:300; - display: flex; - min-height: 100vh; - flex-direction: column; - font-size: 1.1rem; -} - -main { - flex: 1 0 auto; -} - - -h2, h3, h4, h5, h6 { - font-weight: bold; -} - -h2 { - border-bottom: 1px solid lightgrey -} - -h1, h2, h3, h4, h5, h6 { - -webkit-font-smoothing: antialiased; - font-family: 'Hind', sans-serif; -} -.icon-block { - padding: 0 15px; -} -.icon-block .material-icons { - font-size: inherit; -} -.shadow-demo { - background-color: #26a69a; - width: 100px; - height: 100px; - margin: 20px auto; -} -h1.page-title { - font-weight: 500; - font-size: 2.3em; - text-align: center; - color: #29b6f6; -} -.col.grid-example { - border: 1px solid #eee; - margin: 7px 0; - text-align: center; - line-height: 50px; - font-size: 28px; - background-color: tomato; - color: white; - padding: 0; -} -.collection .collection-item.avatar { - padding-right: 30px; -} -.last-post { - padding: 10px 0 15px; -} -.last-post .collection .collection-item.avatar>.date-post { - position: absolute; - width: 54px; - height: 54px; - overflow: hidden; - left: 10px; - display: inline-block; - padding: 16px 0; - vertical-align: middle; - background: #ad1457; - color: #fff; - text-align: center; -} -.txt-center { - text-align: center; -} -.post-header h1.post-title { - color: #29b6f6; - font-size: 2.8em; - font-weight: 800; -} -.post-header time { - color: #cacaca; - font-size: 0.9em; -} -p.rss-subscribe { - margin: 0; -} - - -.document { - padding-top: 5px; - border-bottom: 1px solid #0e1a85; -} - -.document:after { - content: ""; - display: table; - clear: both; -} - -.doc-line { - padding-top: 1em; -} - -.doc-line:after { - content: ""; - display: table; - clear: both; -} - -.doc-line .doc-identifier, .doc-line .doc-type-wrap { - float: left; -} - -.doc-published, .doc-updated, .doc-identifier, -.doc-stage, .doc-type, h2, h3 { - display: inline-block; -} - -.doc-type-wrap { - padding-top: 15px; - margin-left: 1em; -} - -.doc-type { - padding: 4px 8px; - border-radius: 5px; - font-size: 0.85em; - line-height: 1em; - margin-right: 10px; - color: white; - text-transform: uppercase; -} - -$doctype-colors-list:( - standard: #0AC442, - directive: #540D6E, - guide: #D183C9, - specification: #65AFFF, - report: #3A405A, - amendment: #F26430, - corrigendum: #C84630, - administrative: #BFAE48, - advisory: #BD9391 -); - -@each $key,$val in $doctype-colors-list{ - .doc-type.#{$key} { - background-color: #{$val}; - } -} - -$docstage-colors-list:( - proposal: #39A0ED, - working-draft: #2D7393, - committee-draft: #2A6B7C, - draft-standard: #1C7F7A, - final-draft: #53C170, - published: #069E2D, - withdrawn: #004E64, - cancelled: #2E382E, -); - -@each $key,$val in $docstage-colors-list{ - .doc-info.#{$key} { - color: #{$val}; - } -} - -.doc-stage { - text-transform: uppercase; - font-size: 1em; - line-height: 1em; - -} - -.doc-info { - padding-top: 0; - padding-bottom: 10px; - font-size: 0.9em; - line-height: 1em; - float: left; -} - -.doc-dates { - padding-top: 5px; - display: inline-block; - margin-left: 0.5em; -} - -.doc-abstract { - float: left; -} - -.doc-access, .doc-bib { - display: block; - float: right; -} - -.doc-access > div { - float: left; - margin: 5px 10px; -} - -.doc-bib > div { - float: left; - margin: 5px 10px; -} - -/* - 4.4 Copyright -*/ -.copyright { - padding: 1em; - font-size: 0.9em; - text-align: left; -} - -.copyright .name, -.copyright .address { - color: #485094; -} - - - -/* Lists */ -main { - ul { - margin-left: 1.2em; - } - - ol { - margin-left: 1.2em; - } - - ul > li { - list-style: none; - } - - ul > li:before { - content: "—"; - display: inline-block; - width: 1em; - margin-left: -1.2em; - } - - li p { - display: inline; - } - - li:first-child { - margin-top: 1em; - } -} - -/* - 3.7 Notes -*/ -.admonitionblock.note { - background-color: #fff495; - color: #47430c; - padding: 0 1em; -} - +@charset "UTF-8"; + +// Mixins +@use "components/mixins"; +@use "components/color"; + +// Variables; +@use "components/variables"; + +// Reset +@use "components/normalize"; + +// components +@use "components/global"; +@use "components/badges"; +@use "components/icons-material-design"; +@use "components/grid"; +@use "components/navbar"; +@use "components/roboto"; +@use "components/typography"; +@use "components/transitions"; +@use "components/cards"; +@use "components/toast"; +@use "components/tabs"; +@use "components/tooltip"; +@use "components/buttons"; +@use "components/dropdown"; +@use "components/waves"; +@use "components/modal"; +@use "components/collapsible"; +@use "components/chips"; +@use "components/materialbox"; +@use "components/forms/forms"; +@use "components/table_of_contents"; +@use "components/sideNav"; +@use "components/preloader"; +@use "components/slider"; +@use "components/carousel"; +@use "components/tapTarget"; +@use "components/pulse"; +@use "components/date_picker/default"; +@use "components/date_picker/default.date" as default2; +@use "components/date_picker/default.time" as default3; +@use "components/topbar" diff --git a/_sass/materialize/components/_badges.scss b/_sass/materialize/components/_badges.scss index 1c9f951..f69db1f 100755 --- a/_sass/materialize/components/_badges.scss +++ b/_sass/materialize/components/_badges.scss @@ -1,3 +1,6 @@ +@use "color"; +@use "variables"; + // Badges span.badge { min-width: 3rem; @@ -5,9 +8,9 @@ span.badge { margin-left: 14px; text-align: center; font-size: 1rem; - line-height: $badge-height; - height: $badge-height; - color: color('grey', 'darken-1'); + line-height: variables.$badge-height; + height: variables.$badge-height; + color: color.color('grey', 'darken-1'); float: right; box-sizing: border-box; @@ -15,7 +18,7 @@ span.badge { font-weight: 300; font-size: 0.8rem; color: #fff; - background-color: $badge-bg-color; + background-color: variables.$badge-bg-color; border-radius: 2px; } &.new:after { @@ -30,17 +33,17 @@ nav ul a span.badge { display: inline-block; float: none; margin-left: 4px; - line-height: $badge-height; - height: $badge-height; + line-height: variables.$badge-height; + height: variables.$badge-height; } // Line height centering .collection-item span.badge { - margin-top: calc(#{$collection-line-height / 2} - #{$badge-height / 2}); + margin-top: calc(variables.$collection-line-height / 2 - variables.$badge-height / 2); } .collapsible span.badge { - margin-top: calc(#{$collapsible-line-height / 2} - #{$badge-height / 2}); + margin-top: calc(variables.$collapsible-line-height / 2 - variables.$badge-height / 2); } .side-nav span.badge { - margin-top: calc(#{$sidenav-line-height / 2} - #{$badge-height / 2}); + margin-top: calc(variables.$sidenav-line-height / 2 - variables.$badge-height / 2); } diff --git a/_sass/materialize/components/_buttons.scss b/_sass/materialize/components/_buttons.scss index 62b6255..eff90f9 100755 --- a/_sass/materialize/components/_buttons.scss +++ b/_sass/materialize/components/_buttons.scss @@ -1,12 +1,16 @@ +@use "sass:color"; +@use "variables"; +@use "global"; + // shared styles .btn, .btn-flat { - border: $button-border; - border-radius: $button-radius; + border: variables.$button-border; + border-radius: variables.$button-radius; display: inline-block; - height: $button-height; - line-height: $button-height; - padding: $button-padding; + height: variables.$button-height; + line-height: variables.$button-height; + padding: variables.$button-padding; text-transform: uppercase; vertical-align: middle; // Gets rid of tap active state @@ -27,14 +31,14 @@ .btn-large[disabled], .btn-flat[disabled] { pointer-events: none; - background-color: $button-disabled-background !important; + background-color: variables.$button-disabled-background !important; box-shadow: none; - color: $button-disabled-color !important; + color: variables.$button-disabled-color !important; cursor: default; &:hover { - background-color: $button-disabled-background !important; - color: $button-disabled-color !important; + background-color: variables.$button-disabled-background !important; + color: variables.$button-disabled-color !important; } } @@ -43,11 +47,11 @@ .btn-floating, .btn-large, .btn-flat { - font-size: $button-font-size; + font-size: variables.$button-font-size; outline: 0; i { - font-size: $button-icon-font-size; + font-size: variables.$button-icon-font-size; line-height: inherit; } } @@ -56,15 +60,15 @@ .btn, .btn-floating { &:focus { - background-color: darken($button-raised-background, 10%); + background-color: color.adjust(variables.$button-raised-background, $lightness: -10%); } } // Raised Button .btn { text-decoration: none; - color: $button-raised-color; - background-color: $button-raised-background; + color: variables.$button-raised-color; + background-color: variables.$button-raised-background; text-align: center; letter-spacing: .5px; @extend .z-depth-1; @@ -72,7 +76,7 @@ cursor: pointer; &:hover { - background-color: $button-raised-background-hover; + background-color: variables.$button-raised-background-hover; @extend .z-depth-1-half; } } @@ -80,7 +84,7 @@ // Floating button .btn-floating { &:hover { - background-color: $button-floating-background-hover; + background-color: variables.$button-floating-background-hover; @extend .z-depth-1-half; } @@ -90,13 +94,15 @@ &.btn-large { &.halfway-fab { - bottom: -$button-floating-large-size / 2; + // NOTE: This expression can't be used in a calculation. (Sass::CompileError) + // bottom: calc(-(variables.$button-floating-large-size) / 2); + bottom: calc(-1 * variables.$button-floating-large-size / 2); } - width: $button-floating-large-size; - height: $button-floating-large-size; + width: variables.$button-floating-large-size; + height: variables.$button-floating-large-size; i { - line-height: $button-floating-large-size; + line-height: variables.$button-floating-large-size; } } @@ -108,20 +114,22 @@ position: absolute; right: 24px; - bottom: -$button-floating-size / 2; + // NOTE: This expression can't be used in a calculation. (Sass::CompileError) + // bottom: calc(-(variables.$button-floating-size) / 2); + bottom: calc(-1 * variables.$button-floating-size / 2); } display: inline-block; - color: $button-floating-color; + color: variables.$button-floating-color; position: relative; overflow: hidden; z-index: 1; - width: $button-floating-size; - height: $button-floating-size; - line-height: $button-floating-size; + width: variables.$button-floating-size; + height: variables.$button-floating-size; + line-height: variables.$button-floating-size; padding: 0; - background-color: $button-floating-background; - border-radius: $button-floating-radius; + background-color: variables.$button-floating-background; + border-radius: variables.$button-floating-radius; @extend .z-depth-1; transition: .3s; cursor: pointer; @@ -131,15 +139,15 @@ width: inherit; display: inline-block; text-align: center; - color: $button-floating-color; - font-size: $button-large-icon-font-size; - line-height: $button-floating-size; + color: variables.$button-floating-color; + font-size: variables.$button-large-icon-font-size; + line-height: variables.$button-floating-size; } } // button fix button.btn-floating { - border: $button-border; + border: variables.$button-border; } // Fixed Action Button @@ -177,7 +185,7 @@ button.btn-floating { } padding: 0; - height: $button-floating-large-size; + height: variables.$button-floating-large-size; ul { display: flex; @@ -201,7 +209,7 @@ button.btn-floating { background-color: transparent; box-shadow: none; color: #fff; - line-height: $button-floating-large-size; + line-height: variables.$button-floating-large-size; z-index: 1; i { @@ -242,10 +250,10 @@ button.btn-floating { top: 0; left: 0; z-index: -1; - width: $button-floating-size; - height: $button-floating-size; - background-color: $button-floating-background; - border-radius: $button-floating-radius; + width: variables.$button-floating-size; + height: variables.$button-floating-size; + background-color: variables.$button-floating-background; + border-radius: variables.$button-floating-radius; transform: scale(0); } } @@ -254,7 +262,7 @@ button.btn-floating { .btn-flat { box-shadow: none; background-color: transparent; - color: $button-flat-color; + color: variables.$button-flat-color; cursor: pointer; transition: background-color .2s; @@ -269,7 +277,7 @@ button.btn-floating { &.disabled { background-color: transparent !important; - color: $button-flat-disabled-color !important; + color: variables.$button-flat-disabled-color !important; cursor: default; } } @@ -277,11 +285,11 @@ button.btn-floating { // Large button .btn-large { @extend .btn; - height: $button-large-height; - line-height: $button-large-height; + height: variables.$button-large-height; + line-height: variables.$button-large-height; i { - font-size: $button-large-icon-font-size; + font-size: variables.$button-large-icon-font-size; } } diff --git a/_sass/materialize/components/_cards.scss b/_sass/materialize/components/_cards.scss index 11f9cae..7fd7ab0 100755 --- a/_sass/materialize/components/_cards.scss +++ b/_sass/materialize/components/_cards.scss @@ -1,18 +1,20 @@ +@use "variables"; +@use "global"; .card-panel { transition: box-shadow .25s; - padding: $card-padding; - margin: $element-top-margin 0 $element-bottom-margin 0; + padding: variables.$card-padding; + margin: variables.$element-top-margin 0 variables.$element-bottom-margin 0; border-radius: 2px; @extend .z-depth-1; - background-color: $card-bg-color; + background-color: variables.$card-bg-color; } .card { position: relative; - margin: $element-top-margin 0 $element-bottom-margin 0; - background-color: $card-bg-color; + margin: variables.$element-top-margin 0 variables.$element-bottom-margin 0; + background-color: variables.$card-bg-color; transition: box-shadow .25s; border-radius: 2px; @extend .z-depth-1; @@ -129,17 +131,17 @@ } .card-title { - color: $card-bg-color; + color: variables.$card-bg-color; position: absolute; bottom: 0; left: 0; max-width: 100%; - padding: $card-padding; + padding: variables.$card-padding; } } .card-content { - padding: $card-padding; + padding: variables.$card-padding; border-radius: 0 0 2px 2px; p { @@ -164,22 +166,22 @@ position: relative; background-color: inherit; border-top: 1px solid rgba(160,160,160,.2); - padding: 16px $card-padding; + padding: 16px variables.$card-padding; a:not(.btn):not(.btn-large):not(.btn-floating) { - color: $card-link-color; - margin-right: $card-padding; + color: variables.$card-link-color; + margin-right: variables.$card-padding; transition: color .3s ease; text-transform: uppercase; - &:hover { color: $card-link-color-light; } + &:hover { color: variables.$card-link-color-light; } } } .card-reveal { - padding: $card-padding; + padding: variables.$card-padding; position: absolute; - background-color: $card-bg-color; + background-color: variables.$card-bg-color; width: 100%; overflow-y: auto; left: 0; diff --git a/_sass/materialize/components/_carousel.scss b/_sass/materialize/components/_carousel.scss index 0b867f9..4406c47 100755 --- a/_sass/materialize/components/_carousel.scss +++ b/_sass/materialize/components/_carousel.scss @@ -1,3 +1,5 @@ +@use "variables"; + .carousel { &.carousel-slider { top: 0; @@ -18,7 +20,7 @@ .carousel-item { width: 100%; height: 100%; - min-height: $carousel-height; + min-height: variables.$carousel-height; position: absolute; top: 0; left: 0; @@ -38,15 +40,15 @@ overflow: hidden; position: relative; width: 100%; - height: $carousel-height; + height: variables.$carousel-height; perspective: 500px; transform-style: preserve-3d; transform-origin: 0% 50%; .carousel-item { display: none; - width: $carousel-item-width; - height: $carousel-item-height; + width: variables.$carousel-item-width; + height: variables.$carousel-item-height; position: absolute; top: 0; left: 0; diff --git a/_sass/materialize/components/_chips.scss b/_sass/materialize/components/_chips.scss index 353c12c..482d800 100755 --- a/_sass/materialize/components/_chips.scss +++ b/_sass/materialize/components/_chips.scss @@ -1,3 +1,5 @@ +@use "variables"; + .chip { display: inline-block; height: 32px; @@ -7,9 +9,9 @@ line-height: 32px; padding: 0 12px; border-radius: 16px; - background-color: $chip-bg-color; - margin-bottom: $chip-margin; - margin-right: $chip-margin; + background-color: variables.$chip-bg-color; + margin-bottom: variables.$chip-margin; + margin-right: variables.$chip-margin; > img { float: left; @@ -30,16 +32,16 @@ .chips { border: none; - border-bottom: 1px solid $chip-border-color; + border-bottom: 1px solid variables.$chip-border-color; box-shadow: none; - margin: $input-margin; + margin: variables.$input-margin; min-height: 45px; outline: none; transition: all .3s; &.focus { - border-bottom: 1px solid $chip-selected-color; - box-shadow: 0 1px 0 0 $chip-selected-color; + border-bottom: 1px solid variables.$chip-selected-color; + box-shadow: 0 1px 0 0 variables.$chip-selected-color; } &:hover { @@ -47,7 +49,7 @@ } .chip.selected { - background-color: $chip-selected-color; + background-color: variables.$chip-selected-color; color: #fff; } @@ -56,8 +58,8 @@ border: 0; color: rgba(0,0,0,.6); display: inline-block; - font-size: $input-font-size; - height: $input-height; + font-size: variables.$input-font-size; + height: variables.$input-height; line-height: 32px; outline: 0; margin: 0; diff --git a/_sass/materialize/components/_collapsible.scss b/_sass/materialize/components/_collapsible.scss index 8138426..e675dd6 100755 --- a/_sass/materialize/components/_collapsible.scss +++ b/_sass/materialize/components/_collapsible.scss @@ -1,8 +1,11 @@ +@use "variables"; +@use "global"; + .collapsible { - border-top: 1px solid $collapsible-border-color; - border-right: 1px solid $collapsible-border-color; - border-left: 1px solid $collapsible-border-color; - margin: $element-top-margin 0 $element-bottom-margin 0; + border-top: 1px solid variables.$collapsible-border-color; + border-right: 1px solid variables.$collapsible-border-color; + border-left: 1px solid variables.$collapsible-border-color; + margin: variables.$element-top-margin 0 variables.$element-bottom-margin 0; @extend .z-depth-1; } @@ -12,8 +15,8 @@ -webkit-tap-highlight-color: transparent; line-height: 1.5; padding: 1rem; - background-color: $collapsible-header-color; - border-bottom: 1px solid $collapsible-border-color; + background-color: variables.$collapsible-header-color; + border-bottom: 1px solid variables.$collapsible-border-color; i { width: 2rem; @@ -26,7 +29,7 @@ .collapsible-body { display: none; - border-bottom: 1px solid $collapsible-border-color; + border-bottom: 1px solid variables.$collapsible-border-color; box-sizing: border-box; padding: 2rem; } @@ -47,7 +50,7 @@ border: none; line-height: inherit; height: inherit; - padding: 0 $sidenav-padding; + padding: 0 variables.$sidenav-padding; &:hover { background-color: rgba(0,0,0,.05); } i { line-height: inherit; } @@ -55,11 +58,11 @@ .collapsible-body { border: 0; - background-color: $collapsible-header-color; + background-color: variables.$collapsible-header-color; li a { - padding: 0 (7.5px + $sidenav-padding) - 0 (15px + $sidenav-padding); + padding: 0 (7.5px + variables.$sidenav-padding) + 0 (15px + variables.$sidenav-padding); } } diff --git a/_sass/materialize/components/_color.scss b/_sass/materialize/components/_color.scss index 5ac9bbb..2c02981 100755 --- a/_sass/materialize/components/_color.scss +++ b/_sass/materialize/components/_color.scss @@ -1,3 +1,4 @@ +@use "sass:map"; // Utility Color Classes //.success { @@ -406,10 +407,10 @@ $colors: ( // to avoid to repeating map-get($colors, ...) @function color($color, $type) { - @if map-has-key($colors, $color) { - $curr_color: map-get($colors, $color); - @if map-has-key($curr_color, $type) { - @return map-get($curr_color, $type); + @if map.has-key($colors, $color) { + $curr_color: map.get($colors, $color); + @if map.has-key($curr_color, $type) { + @return map.get($curr_color, $type); } } @warn "Unknown `#{$color}` - `#{$type}` in $colors."; diff --git a/_sass/materialize/components/_dropdown.scss b/_sass/materialize/components/_dropdown.scss index fa6c85b..db366e8 100755 --- a/_sass/materialize/components/_dropdown.scss +++ b/_sass/materialize/components/_dropdown.scss @@ -1,6 +1,10 @@ +@use "sass:color"; +@use "variables"; +@use "global"; + .dropdown-content { @extend .z-depth-1; - background-color: $dropdown-bg-color; + background-color: variables.$dropdown-bg-color; margin: 0; display: none; min-width: 100px; @@ -13,20 +17,20 @@ li { clear: both; - color: $off-black; + color: variables.$off-black; cursor: pointer; - min-height: $dropdown-item-height; + min-height: variables.$dropdown-item-height; line-height: 1.5rem; width: 100%; text-align: left; text-transform: none; &:hover, &.active, &.selected { - background-color: $dropdown-hover-bg-color; + background-color: variables.$dropdown-hover-bg-color; } &.active.selected { - background-color: darken($dropdown-hover-bg-color, 5%); + background-color: color.adjust(variables.$dropdown-hover-bg-color, $lightness: -5%); } &.divider { @@ -36,10 +40,10 @@ & > a, & > span { font-size: 16px; - color: $dropdown-color; + color: variables.$dropdown-color; display: block; line-height: 22px; - padding: (($dropdown-item-height - 22) / 2) 16px; + padding: calc((variables.$dropdown-item-height - 22px) / 2) 16px; } & > span > label { @@ -65,4 +69,3 @@ left: 0; height: 18px; } - diff --git a/_sass/materialize/components/_global.scss b/_sass/materialize/components/_global.scss index f5feda5..cbc35f3 100755 --- a/_sass/materialize/components/_global.scss +++ b/_sass/materialize/components/_global.scss @@ -1,3 +1,8 @@ +@use "sass:color"; +@use "color" as components-color; +@use "variables"; +@use "typography"; + //Default styles html { @@ -29,7 +34,7 @@ ul { } a { - color: $link-color; + color: variables.$link-color; text-decoration: none; // Gets rid of tap active state @@ -86,7 +91,7 @@ a { .divider { height: 1px; overflow: hidden; - background-color: color("grey", "lighten-2"); + background-color: components-color.color("grey", "lighten-2"); } @@ -95,7 +100,7 @@ a { blockquote { margin: 20px 0; padding-left: 1.5rem; - border-left: 5px solid $primary-color; + border-left: 5px solid variables.$primary-color; } // Icon Styles @@ -154,7 +159,7 @@ video.responsive-video { &.active a { color: #fff; } - &.active { background-color: $primary-color; } + &.active { background-color: variables.$primary-color; } &.disabled a { cursor: default; @@ -172,7 +177,7 @@ video.responsive-video { float: none; } } -@media #{$medium-and-down} { +@media #{variables.$medium-and-down} { .pagination { width: 100%; @@ -276,69 +281,69 @@ ul.staggered-list li { /********************* Media Query Classes **********************/ -.hide-on-small-only, .hide-on-small-and-down { - @media #{$small-and-down} { +@media #{variables.$small-and-down} { + .hide-on-small-only, .hide-on-small-and-down { display: none !important; } } -.hide-on-med-and-down { - @media #{$medium-and-down} { +@media #{variables.$medium-and-down} { + .hide-on-med-and-down { display: none !important; } } -.hide-on-med-and-up { - @media #{$medium-and-up} { +@media #{variables.$medium-and-up} { + .hide-on-med-and-up { display: none !important; } } -.hide-on-med-only { - @media only screen and (min-width: $small-screen) and (max-width: $medium-screen) { +@media only screen and (min-width: variables.$small-screen) and (max-width: variables.$medium-screen) { + .hide-on-med-only { display: none !important; } } -.hide-on-large-only { - @media #{$large-and-up} { +@media #{variables.$large-and-up} { + .hide-on-large-only { display: none !important; } } -.show-on-large { - @media #{$large-and-up} { +@media #{variables.$large-and-up} { + .show-on-large { display: block !important; } } -.show-on-medium { - @media only screen and (min-width: $small-screen) and (max-width: $medium-screen) { +@media only screen and (min-width: variables.$small-screen) and (max-width: variables.$medium-screen) { + .show-on-medium { display: block !important; } } -.show-on-small { - @media #{$small-and-down} { +@media #{variables.$small-and-down} { + .show-on-small { display: block !important; } } -.show-on-medium-and-up { - @media #{$medium-and-up} { +@media #{variables.$medium-and-up} { + .show-on-medium-and-up { display: block !important; } } -.show-on-medium-and-down { - @media #{$medium-and-down} { +@media #{variables.$medium-and-down} { + .show-on-medium-and-down { display: block !important; } } // Center text on mobile -.center-on-small-only { - @media #{$small-and-down} { +@media #{variables.$small-and-down} { + .center-on-small-only { text-align: center; } } // Footer .page-footer { - color: $footer-font-color; - background-color: $footer-bg-color; + color: variables.$footer-font-color; + background-color: variables.$footer-bg-color; padding: 0; margin: 2em 0 0 0; @@ -350,7 +355,7 @@ ul.staggered-list li { margin: 0; display: flex; - @media #{$medium-and-down} { + @media #{variables.$medium-and-down} { display: block; } } @@ -360,12 +365,12 @@ ul.staggered-list li { padding-left: 6.3px; width: 100%; - @media #{$medium-and-down} { + @media #{variables.$medium-and-down} { display: none; } } - @media #{$medium-and-down} { + @media #{variables.$medium-and-down} { width: 100%; } @@ -376,7 +381,7 @@ ul.staggered-list li { width: 20%; a { - color: color('grey', 'lighten-4'); + color: components-color.color('grey', 'lighten-4'); font-size: 14px; font-family: 'Ek Mukta',Arial,Helvetica,sans-serif; } @@ -390,13 +395,13 @@ ul.staggered-list li { display: flex; align-items: center; padding: 10px 0px; - color: $footer-copyright-font-color; - background-color: $footer-copyright-bg-color; + color: variables.$footer-copyright-font-color; + background-color: variables.$footer-copyright-bg-color; font-size: 0.8em; @extend .light; a { - color: $footer-copyright-font-color; + color: variables.$footer-copyright-font-color; text-decoration: underline; // &:last-of-type { @@ -417,12 +422,12 @@ table { &.bordered > thead > tr, &.bordered > tbody > tr { - border-bottom: 1px solid $table-border-color; + border-bottom: 1px solid variables.$table-border-color; } &.striped > tbody { > tr:nth-child(odd) { - background-color: $table-striped-color; + background-color: variables.$table-striped-color; } > tr > td { @@ -433,7 +438,7 @@ table { &.highlight > tbody > tr { transition: background-color .25s ease; &:hover { - background-color: $table-striped-color; + background-color: variables.$table-striped-color; } } @@ -446,7 +451,7 @@ table { } thead { - border-bottom: 1px solid $table-border-color; + border-bottom: 1px solid variables.$table-border-color; } td, th{ @@ -458,7 +463,7 @@ td, th{ } // Responsive Table -@media #{$medium-and-down} { +@media #{variables.$medium-and-down} { table.responsive-table { width: 100%; @@ -517,14 +522,14 @@ td, th{ /* sort out borders */ thead { border: 0; - border-right: 1px solid $table-border-color; + border-right: 1px solid variables.$table-border-color; } &.bordered { th { border-bottom: 0; border-left: 0; } td { border-left: 0; border-right: 0; border-bottom: 0; } tr { border: 0; } - tbody tr { border-right: 1px solid $table-border-color; } + tbody tr { border-right: 1px solid variables.$table-border-color; } } } @@ -534,18 +539,18 @@ td, th{ // Collections .collection { - margin: $element-top-margin 0 $element-bottom-margin 0; - border: 1px solid $collection-border-color; + margin: variables.$element-top-margin 0 variables.$element-bottom-margin 0; + border: 1px solid variables.$collection-border-color; border-radius: 2px; overflow: hidden; position: relative; .collection-item { - background-color: $collection-bg-color; - line-height: $collection-line-height; + background-color: variables.$collection-bg-color; + line-height: variables.$collection-line-height; padding: 10px 20px; margin: 0; - border-bottom: 1px solid $collection-border-color; + border-bottom: 1px solid variables.$collection-border-color; // Avatar Collection &.avatar { @@ -595,8 +600,8 @@ td, th{ } &.active { - background-color: $collection-active-bg-color; - color: $collection-active-color; + background-color: variables.$collection-active-bg-color; + color: variables.$collection-active-color; .secondary-content { color: #fff; @@ -606,18 +611,18 @@ td, th{ a.collection-item{ display: block; transition: .25s; - color: $collection-link-color; + color: variables.$collection-link-color; &:not(.active) { &:hover { - background-color: $collection-hover-bg-color; + background-color: variables.$collection-hover-bg-color; } } } &.with-header { .collection-header { - background-color: $collection-bg-color; - border-bottom: 1px solid $collection-border-color; + background-color: variables.$collection-bg-color; + border-bottom: 1px solid variables.$collection-border-color; padding: 10px 20px; } .collection-item { @@ -632,7 +637,7 @@ td, th{ // Made less specific to allow easier overriding .secondary-content { float: right; - color: $secondary-color; + color: variables.$secondary-color; } .collapsible .collection { margin: 0; @@ -663,20 +668,20 @@ td, th{ height: 4px; display: block; width: 100%; - background-color: lighten($progress-bar-color, 40%); + background-color: color.adjust(variables.$progress-bar-color, $lightness: 40%); border-radius: 2px; - margin: $element-top-margin 0 $element-bottom-margin 0; + margin: variables.$element-top-margin 0 variables.$element-bottom-margin 0; overflow: hidden; .determinate { position: absolute; top: 0; left: 0; bottom: 0; - background-color: $progress-bar-color; + background-color: variables.$progress-bar-color; transition: width .3s linear; } .indeterminate { - background-color: $progress-bar-color; + background-color: variables.$progress-bar-color; &:before { content: ''; position: absolute; @@ -801,7 +806,7 @@ td, th{ text-decoration: none; font-family: 'Ek Mukta',Arial,Helvetica,sans-serif; font-size: 14px; - color: color('grey', 'lighten-7'); + color: components-color.color('grey', 'lighten-7'); ul { margin-left: 1.5em; @@ -820,7 +825,7 @@ td, th{ &.active, &:hover { - background-color: color('grey', 'lighten-4'); + background-color: components-color.color('grey', 'lighten-4'); cursor: pointer; } } @@ -840,7 +845,7 @@ td, th{ } } - @media #{$medium-and-down} { + @media #{variables.$medium-and-down} { margin-top: 10px; } } @@ -851,9 +856,9 @@ td, th{ margin-top: 28px; padding-top: 14px; line-height: 20px; - border-top: 1px solid color('deep-purple', 'lighten-1'); + border-top: 1px solid components-color.color('deep-purple', 'lighten-1'); - @media #{$medium-and-down} { + @media #{variables.$medium-and-down} { display: block; } } @@ -867,7 +872,7 @@ td, th{ padding: 0px 10px; margin-bottom: 20px; list-style: none; - background-color: color('grey', 'lighten-4'); + background-color: components-color.color('grey', 'lighten-4'); border-radius: 4px; margin-top: 22px; @@ -876,19 +881,19 @@ td, th{ display: inline-block; &.active { - color: color('grey', 'lighten-8'); + color: components-color.color('grey', 'lighten-8'); font-family: 'Ek Mukta',Arial,Helvetica,sans-serif; font-size: 14px; } &+li:before { padding: 0 5px; - color: color('grey', 'lighten-9'); + color: components-color.color('grey', 'lighten-9'); content: "/\00a0"; } a { - color: color('grey', 'lighten-7'); + color: components-color.color('grey', 'lighten-7'); text-decoration: none; font-size: 14px; font-family: 'Ek Mukta',Arial,Helvetica,sans-serif; @@ -935,13 +940,13 @@ td, th{ a { color: #ffffff; text-decoration: none; - background-color: $primary-color; + background-color: variables.$primary-color; display: block; padding: 2px 2px 2px 40px; position: relative; &:hover { - background-color: $primary-color-dark; + background-color: variables.$primary-color-dark; } i { @@ -958,7 +963,7 @@ td, th{ &.expanded { a { - background-color: $primary-color-dark; + background-color: variables.$primary-color-dark; } .data-expander-child { diff --git a/_sass/materialize/components/_grid.scss b/_sass/materialize/components/_grid.scss index b0c7e0a..18389d7 100755 --- a/_sass/materialize/components/_grid.scss +++ b/_sass/materialize/components/_grid.scss @@ -1,3 +1,6 @@ +@use "sass:string"; +@use "variables"; + .container { margin: 0 auto; max-width: 1140px; @@ -15,15 +18,15 @@ flex: 1; } - @media #{$medium-and-down} { + @media #{variables.$medium-and-down} { display: block; } } } .container .row { - margin-left: (-1 * $gutter-width / 2); - margin-right: (-1 * $gutter-width / 2); + margin-left: calc(-1 * variables.$gutter-width / 2); + margin-right: calc(-1 * variables.$gutter-width / 2); } .section { @@ -76,7 +79,7 @@ .col { float: left; box-sizing: border-box; - padding: 0 $gutter-width / 2; + padding: 0 calc(variables.$gutter-width / 2); min-height: 1px; &[class*="push-"], @@ -85,8 +88,8 @@ } $i: 1; - @while $i <= $num-cols { - $perc: unquote((100 / ($num-cols / $i)) + "%"); + @while $i <= variables.$num-cols { + $perc: string.unquote(calc(100 / (variables.$num-cols / $i)) + "%"); &.s#{$i} { width: $perc; @include reset-offset; @@ -95,17 +98,17 @@ } $i: 1; - @while $i <= $num-cols { - $perc: unquote((100 / ($num-cols / $i)) + "%"); + @while $i <= variables.$num-cols { + $perc: string.unquote(calc(100 / (variables.$num-cols / $i)) + "%"); @include grid-classes("s", $i, $perc); $i: $i + 1; } - @media #{$medium-and-up} { + @media #{variables.$medium-and-up} { $i: 1; - @while $i <= $num-cols { - $perc: unquote((100 / ($num-cols / $i)) + "%"); + @while $i <= variables.$num-cols { + $perc: string.unquote(calc(100 / (variables.$num-cols / $i)) + "%"); &.m#{$i} { width: $perc; @include reset-offset; @@ -114,18 +117,18 @@ } $i: 1; - @while $i <= $num-cols { - $perc: unquote((100 / ($num-cols / $i)) + "%"); + @while $i <= variables.$num-cols { + $perc: string.unquote(calc(100 / (variables.$num-cols / $i)) + "%"); @include grid-classes("m", $i, $perc); $i: $i + 1; } } - @media #{$large-and-up} { + @media #{variables.$large-and-up} { $i: 1; - @while $i <= $num-cols { - $perc: unquote((100 / ($num-cols / $i)) + "%"); + @while $i <= variables.$num-cols { + $perc: string.unquote(calc(100 / (variables.$num-cols / $i)) + "%"); &.l#{$i} { width: $perc; @include reset-offset; @@ -134,18 +137,18 @@ } $i: 1; - @while $i <= $num-cols { - $perc: unquote((100 / ($num-cols / $i)) + "%"); + @while $i <= variables.$num-cols { + $perc: string.unquote(calc(100 / (variables.$num-cols / $i)) + "%"); @include grid-classes("l", $i, $perc); $i: $i + 1; } } - @media #{$extra-large-and-up} { + @media #{variables.$extra-large-and-up} { $i: 1; - @while $i <= $num-cols { - $perc: unquote((100 / ($num-cols / $i)) + "%"); + @while $i <= variables.$num-cols { + $perc: string.unquote(calc(100 / (variables.$num-cols / $i)) + "%"); &.xl#{$i} { width: $perc; @include reset-offset; @@ -154,8 +157,8 @@ } $i: 1; - @while $i <= $num-cols { - $perc: unquote((100 / ($num-cols / $i)) + "%"); + @while $i <= variables.$num-cols { + $perc: string.unquote(calc(100 / (variables.$num-cols / $i)) + "%"); @include grid-classes("xl", $i, $perc); $i: $i + 1; } diff --git a/_sass/materialize/components/_modal.scss b/_sass/materialize/components/_modal.scss index 7061a35..c161d8a 100755 --- a/_sass/materialize/components/_modal.scss +++ b/_sass/materialize/components/_modal.scss @@ -1,3 +1,6 @@ +@use "variables"; +@use "global"; + .modal { @extend .z-depth-4; @@ -15,7 +18,7 @@ border-radius: 2px; will-change: top, opacity; - @media #{$medium-and-down} { + @media #{variables.$medium-and-down} { width: 80%; } diff --git a/_sass/materialize/components/_navbar.scss b/_sass/materialize/components/_navbar.scss index c2974c0..a276224 100755 --- a/_sass/materialize/components/_navbar.scss +++ b/_sass/materialize/components/_navbar.scss @@ -1,9 +1,12 @@ +@use "variables"; +@use "global"; + nav { &.nav-extended { height: auto; .nav-wrapper { - min-height: $navbar-height-mobile; + min-height: variables.$navbar-height-mobile; height: auto; } @@ -13,22 +16,22 @@ nav { } } - color: $navbar-font-color; + color: variables.$navbar-font-color; @extend .z-depth-1; - background-color: $primary-color; + background-color: variables.$primary-color; width: 100%; - height: $navbar-height-mobile; - line-height: $navbar-line-height-mobile; + height: variables.$navbar-height-mobile; + line-height: variables.$navbar-line-height-mobile; - a { color: $navbar-font-color; } + a { color: variables.$navbar-font-color; } i, [class^="mdi-"], [class*="mdi-"], i.material-icons { display: block; font-size: 24px; - height: $navbar-height-mobile; - line-height: $navbar-line-height-mobile; + height: variables.$navbar-height-mobile; + line-height: variables.$navbar-line-height-mobile; } .nav-wrapper { @@ -37,30 +40,29 @@ nav { display: flex; } - @media #{$large-and-up} { - a.button-collapse { display: none; } - } - + // @media #{variables.$large-and-up} { + // a.button-collapse { display: none; } + // } // Collapse button .button-collapse { float: left; position: relative; z-index: 1; - height: $navbar-height-mobile; + height: variables.$navbar-height-mobile; i { - height: $navbar-height-mobile; - line-height: $navbar-line-height-mobile; + height: variables.$navbar-height-mobile; + line-height: variables.$navbar-line-height-mobile; } } // Logo .brand-logo { - color: $navbar-font-color; + color: variables.$navbar-font-color; display: inline-block; - font-size: $navbar-brand-font-size; + font-size: variables.$navbar-brand-font-size; padding: 0; position: relative; font-weight: 500; @@ -71,7 +73,7 @@ nav { transform: translateX(-50%); } - @media #{$medium-and-down} { + @media #{variables.$medium-and-down} { &.left, &.right { padding: 0; transform: none; @@ -96,7 +98,7 @@ nav { margin-right: 15px; } - @media #{$medium-and-down} { + @media #{variables.$medium-and-down} { .hidden-xs { display: none; } @@ -128,8 +130,8 @@ nav { } a { transition: background-color .3s; - font-size: $navbar-font-size; - color: $navbar-font-color; + font-size: variables.$navbar-font-size; + color: variables.$navbar-font-color; display: block; padding: 0 10px; cursor: pointer; @@ -185,7 +187,7 @@ nav { color: rgba(255,255,255,.7); transition: color .3s; } - &.active i { color: $navbar-font-color; } + &.active i { color: variables.$navbar-font-color; } } } } @@ -193,22 +195,22 @@ nav { // Fixed Navbar .navbar-fixed { position: relative; - height: $navbar-height-mobile; + height: variables.$navbar-height-mobile; z-index: 997; nav { position: fixed; } } -@media #{$medium-and-up} { +@media #{variables.$medium-and-up} { nav.nav-extended .nav-wrapper { - min-height: $navbar-height; + min-height: variables.$navbar-height; } nav, nav .nav-wrapper i, nav a.button-collapse, nav a.button-collapse i { - height: $navbar-height; - line-height: $navbar-line-height; + height: variables.$navbar-height; + line-height: variables.$navbar-line-height; } .navbar-fixed { - height: $navbar-height; + height: variables.$navbar-height; } } diff --git a/_sass/materialize/components/_preloader.scss b/_sass/materialize/components/_preloader.scss index fbe862d..fbde9c5 100755 --- a/_sass/materialize/components/_preloader.scss +++ b/_sass/materialize/components/_preloader.scss @@ -1,3 +1,5 @@ +@use "variables"; + /* @license Copyright (c) 2014 The Polymer Project Authors. All rights reserved. @@ -63,7 +65,7 @@ width: 100%; height: 100%; opacity: 0; - border-color: $spinner-default-color; + border-color: variables.$spinner-default-color; } .spinner-blue, diff --git a/_sass/materialize/components/_roboto.scss b/_sass/materialize/components/_roboto.scss index 6afc057..8167685 100755 --- a/_sass/materialize/components/_roboto.scss +++ b/_sass/materialize/components/_roboto.scss @@ -1,39 +1,41 @@ +@use "variables"; + @font-face { font-family: "Roboto"; src: local(Roboto Thin), - url("#{$roboto-font-path}Roboto-Thin.woff2") format("woff2"), - url("#{$roboto-font-path}Roboto-Thin.woff") format("woff"); + url("#{variables.$roboto-font-path}Roboto-Thin.woff2") format("woff2"), + url("#{variables.$roboto-font-path}Roboto-Thin.woff") format("woff"); font-weight: 100; } @font-face { font-family: "Roboto"; src: local(Roboto Light), - url("#{$roboto-font-path}Roboto-Light.woff2") format("woff2"), - url("#{$roboto-font-path}Roboto-Light.woff") format("woff"); + url("#{variables.$roboto-font-path}Roboto-Light.woff2") format("woff2"), + url("#{variables.$roboto-font-path}Roboto-Light.woff") format("woff"); font-weight: 300; } @font-face { font-family: "Roboto"; src: local(Roboto Regular), - url("#{$roboto-font-path}Roboto-Regular.woff2") format("woff2"), - url("#{$roboto-font-path}Roboto-Regular.woff") format("woff"); + url("#{variables.$roboto-font-path}Roboto-Regular.woff2") format("woff2"), + url("#{variables.$roboto-font-path}Roboto-Regular.woff") format("woff"); font-weight: 400; } @font-face { font-family: "Roboto"; src: local(Roboto Medium), - url("#{$roboto-font-path}Roboto-Medium.woff2") format("woff2"), - url("#{$roboto-font-path}Roboto-Medium.woff") format("woff"); + url("#{variables.$roboto-font-path}Roboto-Medium.woff2") format("woff2"), + url("#{variables.$roboto-font-path}Roboto-Medium.woff") format("woff"); font-weight: 500; } @font-face { font-family: "Roboto"; src: local(Roboto Bold), - url("#{$roboto-font-path}Roboto-Bold.woff2") format("woff2"), - url("#{$roboto-font-path}Roboto-Bold.woff") format("woff"); + url("#{variables.$roboto-font-path}Roboto-Bold.woff2") format("woff2"), + url("#{variables.$roboto-font-path}Roboto-Bold.woff") format("woff"); font-weight: 700; } diff --git a/_sass/materialize/components/_sideNav.scss b/_sass/materialize/components/_sideNav.scss index 9275c4d..eecbbc4 100755 --- a/_sass/materialize/components/_sideNav.scss +++ b/_sass/materialize/components/_sideNav.scss @@ -1,3 +1,7 @@ +@use "sass:color"; +@use "variables"; +@use "global"; + .side-nav { position: fixed; width: 300px; @@ -9,7 +13,7 @@ height: calc(100% + 60px); height: -moz-calc(100%); //Temporary Firefox Fix padding-bottom: 60px; - background-color: $sidenav-bg-color; + background-color: variables.$sidenav-bg-color; z-index: 999; overflow-y: auto; will-change: transform; @@ -33,19 +37,19 @@ li { float: none; - line-height: $sidenav-line-height; + line-height: variables.$sidenav-line-height; &.active { background-color: rgba(0,0,0,.05); } } li > a { - color: $sidenav-font-color; + color: variables.$sidenav-font-color; display: block; - font-size: $sidenav-font-size; + font-size: variables.$sidenav-font-size; font-weight: 500; - height: $sidenav-item-height; - line-height: $sidenav-line-height; - padding: 0 ($sidenav-padding * 2); + height: variables.$sidenav-item-height; + line-height: variables.$sidenav-line-height; + padding: 0 (variables.$sidenav-padding * 2); &:hover { background-color: rgba(0,0,0,.05);} @@ -55,28 +59,28 @@ &.btn, &.btn-large, - &.btn-floating { color: $button-raised-color; } - &.btn-flat { color: $button-flat-color; } + &.btn-floating { color: variables.$button-raised-color; } + &.btn-flat { color: variables.$button-flat-color; } &.btn:hover, - &.btn-large:hover { background-color: lighten($button-raised-background, 5%); } - &.btn-floating:hover { background-color: $button-raised-background; } + &.btn-large:hover { background-color: color.adjust(variables.$button-raised-background, $lightness: 5%); } + &.btn-floating:hover { background-color: variables.$button-raised-background; } & > i, & > [class^="mdi-"], li > a > [class*="mdi-"], & > i.material-icons { float: left; - height: $sidenav-item-height; - line-height: $sidenav-line-height; - margin: 0 ($sidenav-padding * 2) 0 0; - width: $sidenav-item-height / 2; + height: variables.$sidenav-item-height; + line-height: variables.$sidenav-line-height; + margin: 0 calc(variables.$sidenav-padding * 2) 0 0; + width: calc(variables.$sidenav-item-height / 2); color: rgba(0,0,0,.54); } } .divider { - margin: ($sidenav-padding / 2) 0 0 0; + margin: calc(variables.$sidenav-padding / 2) 0 0 0; } .subheader { @@ -87,16 +91,16 @@ cursor: initial; pointer-events: none; color: rgba(0,0,0,.54); - font-size: $sidenav-font-size; + font-size: variables.$sidenav-font-size; font-weight: 500; - line-height: $sidenav-line-height; + line-height: variables.$sidenav-line-height; } .user-view, .userView { position: relative; - padding: ($sidenav-padding * 2) ($sidenav-padding * 2) 0; - margin-bottom: $sidenav-padding / 2; + padding: calc(variables.$sidenav-padding * 2) calc(variables.$sidenav-padding * 2) 0; + margin-bottom: calc(variables.$sidenav-padding / 2); & > a { &:hover { background-color: transparent; } @@ -125,8 +129,8 @@ .name, .email { - font-size: $sidenav-font-size; - line-height: $sidenav-line-height / 2; + font-size: variables.$sidenav-font-size; + line-height: calc(variables.$sidenav-line-height / 2); } .name { @@ -166,7 +170,7 @@ } // Fixed sideNav hide on smaller -@media #{$medium-and-down} { +@media #{variables.$medium-and-down} { .side-nav { &.fixed { transform: translateX(-105%); @@ -177,12 +181,12 @@ } a { - padding: 0 $sidenav-padding; + padding: 0 variables.$sidenav-padding; } .user-view, .userView { - padding: $sidenav-padding $sidenav-padding 0; + padding: variables.$sidenav-padding variables.$sidenav-padding 0; } } } @@ -190,9 +194,9 @@ .side-nav .collapsible-body > ul:not(.collapsible) > li.active, .side-nav.fixed .collapsible-body > ul:not(.collapsible) > li.active { - background-color: $primary-color; + background-color: variables.$primary-color; a { - color: $sidenav-bg-color; + color: variables.$sidenav-bg-color; } } .side-nav .collapsible-body { diff --git a/_sass/materialize/components/_slider.scss b/_sass/materialize/components/_slider.scss index 2265cdb..904975b 100755 --- a/_sass/materialize/components/_slider.scss +++ b/_sass/materialize/components/_slider.scss @@ -1,3 +1,5 @@ +@use "variables"; + .slider { position: relative; height: 400px; @@ -24,7 +26,7 @@ } .slides { - background-color: $slider-bg-color; + background-color: variables.$slider-bg-color; margin: 0; height: 400px; @@ -53,7 +55,7 @@ width: 70%; opacity: 0; - p { color: $slider-bg-color-light; } + p { color: variables.$slider-bg-color-light; } } &.active { @@ -78,13 +80,13 @@ height: 16px; width: 16px; margin: 0 12px; - background-color: $slider-bg-color-light; + background-color: variables.$slider-bg-color-light; transition: background-color .3s; border-radius: 50%; &.active { - background-color: $slider-indicator-color; + background-color: variables.$slider-indicator-color; } } } diff --git a/_sass/materialize/components/_table_of_contents.scss b/_sass/materialize/components/_table_of_contents.scss index 4c67ee6..5688a6d 100755 --- a/_sass/materialize/components/_table_of_contents.scss +++ b/_sass/materialize/components/_table_of_contents.scss @@ -1,3 +1,6 @@ +@use "sass:color"; +@use "variables"; + /*************** Nav List ***************/ @@ -20,14 +23,14 @@ display: inline-block; &:hover { - color: lighten(#757575, 20%); + color: color.adjust(#757575, $lightness: 20%); padding-left: 19px; - border-left: 1px solid $primary-color; + border-left: 1px solid variables.$primary-color; } &.active { font-weight: 500; padding-left: 18px; - border-left: 2px solid $primary-color; + border-left: 2px solid variables.$primary-color; } } } diff --git a/_sass/materialize/components/_tabs.scss b/_sass/materialize/components/_tabs.scss index 47f7322..b2a244f 100755 --- a/_sass/materialize/components/_tabs.scss +++ b/_sass/materialize/components/_tabs.scss @@ -1,3 +1,5 @@ +@use "variables"; + .tabs { &.tabs-transparent { background-color: transparent; @@ -31,7 +33,7 @@ overflow-y: hidden; height: 48px; width: 100%; - background-color: $tabs-bg-color; + background-color: variables.$tabs-bg-color; margin: 0 auto; white-space: nowrap; @@ -48,10 +50,10 @@ &:hover, &.active { background-color: transparent; - color: $tabs-text-color; + color: variables.$tabs-text-color; } - color: rgba($tabs-text-color, .7); + color: rgba(variables.$tabs-text-color, .7); display: block; width: 100%; height: 100%; @@ -64,7 +66,7 @@ &.disabled a, &.disabled a:hover { - color: rgba($tabs-text-color, .7); + color: rgba(variables.$tabs-text-color, .7); cursor: default; } } @@ -72,13 +74,13 @@ position: absolute; bottom: 0; height: 2px; - background-color: $tabs-underline-color; + background-color: variables.$tabs-underline-color; will-change: left, right; } } // Fixed sideNav hide on smaller -@media #{$medium-and-down} { +@media #{variables.$medium-and-down} { .tabs { display: flex; diff --git a/_sass/materialize/components/_tapTarget.scss b/_sass/materialize/components/_tapTarget.scss index c015f34..7d803da 100755 --- a/_sass/materialize/components/_tapTarget.scss +++ b/_sass/materialize/components/_tapTarget.scss @@ -1,3 +1,5 @@ +@use "variables"; + .tap-target-wrapper { width: 800px; height: 800px; @@ -36,7 +38,7 @@ position: absolute; font-size: 1rem; border-radius: 50%; - background-color: $primary-color; + background-color: variables.$primary-color; box-shadow: 0 20px 20px 0 rgba(0,0,0,0.14), 0 10px 50px 0 rgba(0,0,0,0.12), 0 30px 10px -20px rgba(0,0,0,0.2); width: 100%; height: 100%; diff --git a/_sass/materialize/components/_toast.scss b/_sass/materialize/components/_toast.scss index c1fea08..dce438e 100755 --- a/_sass/materialize/components/_toast.scss +++ b/_sass/materialize/components/_toast.scss @@ -1,18 +1,21 @@ +@use "variables"; +@use "global"; + #toast-container { display:block; position: fixed; z-index: 10000; - @media #{$small-and-down} { + @media #{variables.$small-and-down} { min-width: 100%; bottom: 0%; } - @media #{$medium-only} { + @media #{variables.$medium-only} { left: 5%; bottom: 7%; max-width: 90%; } - @media #{$large-and-up} { + @media #{variables.$large-and-up} { top: 10%; right: 7%; max-width: 86%; @@ -28,21 +31,21 @@ position: relative; max-width:100%; height: auto; - min-height: $toast-height; + min-height: variables.$toast-height; line-height: 1.5em; word-break: break-all; - background-color: $toast-color; + background-color: variables.$toast-color; padding: 10px 25px; font-size: 1.1rem; font-weight: 300; - color: $toast-text-color; + color: variables.$toast-text-color; display: flex; align-items: center; justify-content: space-between; cursor: default; .toast-action { - color: $toast-action-color; + color: variables.$toast-action-color; font-weight: 500; margin-right: -25px; margin-left: 3rem; @@ -52,7 +55,7 @@ border-radius: 24px; } - @media #{$small-and-down} { + @media #{variables.$small-and-down} { width: 100%; border-radius: 0; } diff --git a/_sass/materialize/components/_topbar.scss b/_sass/materialize/components/_topbar.scss index 2d3fd1e..d72caa2 100644 --- a/_sass/materialize/components/_topbar.scss +++ b/_sass/materialize/components/_topbar.scss @@ -1,26 +1,29 @@ +@use "color"; +@use "variables"; + #topbar-inner { - background-color: color('grey', 'darken-3'); + background-color: color.color('grey', 'darken-3'); font-size: 0.8em; - @media #{$medium-and-down} { + @media #{variables.$medium-and-down} { .hidden-xs { display: none; } } #titleBar > a { - color: color('grey', 'lighten-6'); + color: color.color('grey', 'lighten-6'); display: block; font-family: 'Ek Mukta',Arial,Helvetica,sans-serif; font-weight: 200; letter-spacing: 2px; font-variant-caps: small-caps; - @media #{$medium-and-up} { + @media #{variables.$medium-and-up} { font-size: 18px; } - @media #{$medium-and-down} { + @media #{variables.$medium-and-down} { text-align: center; } } diff --git a/_sass/materialize/components/_typography.scss b/_sass/materialize/components/_typography.scss index 7becb62..44f14d4 100755 --- a/_sass/materialize/components/_typography.scss +++ b/_sass/materialize/components/_typography.scss @@ -1,3 +1,5 @@ +@use "variables"; + a { text-decoration: none; @@ -6,22 +8,29 @@ a { html{ line-height: 1.5; - @media only screen and (min-width: 0) { + font-family: 'Ek Mukta',Arial,Helvetica,sans-serif; + font-weight: normal; + color: variables.$off-black; +} + +@media only screen and (min-width: 0) { + html{ font-size: 14px; } +} - @media only screen and (min-width: $medium-screen) { +@media only screen and (min-width: variables.$medium-screen) { + html{ font-size: 14.5px; } +} - @media only screen and (min-width: $large-screen) { +@media only screen and (min-width: variables.$large-screen) { + html{ font-size: 15px; } - - font-family: 'Ek Mukta',Arial,Helvetica,sans-serif; - font-weight: normal; - color: $off-black; } + h1, h2, h3, h4, h5, h6 { font-weight: 400; line-height: 1.1; @@ -29,12 +38,12 @@ h1, h2, h3, h4, h5, h6 { // Header Styles h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { font-weight: inherit; } -h1 { font-size: $h1-fontsize; line-height: 110%; margin: ($h1-fontsize / 2) 0 ($h1-fontsize / 2.5) 0;} -h2 { font-size: $h2-fontsize; line-height: 110%; margin: ($h2-fontsize / 2) 0 ($h2-fontsize / 2.5) 0;} -h3 { font-size: $h3-fontsize; line-height: 110%; margin: ($h3-fontsize / 2) 0 ($h3-fontsize / 2.5) 0;} -h4 { font-size: $h4-fontsize; line-height: 110%; margin: ($h4-fontsize / 2) 0 ($h4-fontsize / 2.5) 0;} -h5 { font-size: $h5-fontsize; line-height: 110%; margin: ($h5-fontsize / 2) 0 ($h5-fontsize / 2.5) 0;} -h6 { font-size: $h6-fontsize; line-height: 110%; margin: ($h6-fontsize / 2) 0 ($h6-fontsize / 2.5) 0;} +h1 { font-size: variables.$h1-fontsize; line-height: 110%; margin: calc(variables.$h1-fontsize / 2) 0 calc(variables.$h1-fontsize / 2.5) 0;} +h2 { font-size: variables.$h2-fontsize; line-height: 110%; margin: calc(variables.$h2-fontsize / 2) 0 calc(variables.$h2-fontsize / 2.5) 0;} +h3 { font-size: variables.$h3-fontsize; line-height: 110%; margin: calc(variables.$h3-fontsize / 2) 0 calc(variables.$h3-fontsize / 2.5) 0;} +h4 { font-size: variables.$h4-fontsize; line-height: 110%; margin: calc(variables.$h4-fontsize / 2) 0 calc(variables.$h4-fontsize / 2.5) 0;} +h5 { font-size: variables.$h5-fontsize; line-height: 110%; margin: calc(variables.$h5-fontsize / 2) 0 calc(variables.$h5-fontsize / 2.5) 0;} +h6 { font-size: variables.$h6-fontsize; line-height: 110%; margin: calc(variables.$h6-fontsize / 2) 0 calc(variables.$h6-fontsize / 2.5) 0;} // Text Styles em { font-style: italic; } @@ -47,9 +56,9 @@ small { font-size: 75%; } .flow-text{ font-weight: 300; $i: 0; - @while $i <= $intervals { - @media only screen and (min-width : 360 + ($i * $interval-size)) { - font-size: 1.2rem * (1 + (.02 * $i)); + @while $i <= variables.$intervals { + @media only screen and (min-width : calc(360px + ($i * variables.$interval-size))) { + font-size: calc(1.2rem * (1 + (.02 * $i))); } $i: $i + 1; } diff --git a/_sass/materialize/components/_variables.scss b/_sass/materialize/components/_variables.scss index 9325f96..eb98be9 100755 --- a/_sass/materialize/components/_variables.scss +++ b/_sass/materialize/components/_variables.scss @@ -1,3 +1,6 @@ +@use "color" as components-color; + +@use "sass:color"; // ========================================================================== // Materialize variables // ========================================================================== @@ -36,13 +39,13 @@ // ========================================================================== $primary-color: #484f93 !default; -$primary-color-light: lighten($primary-color, 15%) !default; -$primary-color-dark: darken($primary-color, 15%) !default; +$primary-color-light: color.adjust($primary-color, $lightness: 15%) !default; +$primary-color-dark: color.adjust($primary-color, $lightness: -15%) !default; -$secondary-color: color("teal", "lighten-1") !default; -$success-color: color("green", "base") !default; -$error-color: color("red", "base") !default; -$link-color: color("blue", "darken-2") !default; +$secondary-color: components-color.color("teal", "lighten-1") !default; +$success-color: components-color.color("green", "base") !default; +$error-color: components-color.color("red", "base") !default; +$link-color: components-color.color("blue", "darken-2") !default; // 2. Badges @@ -57,7 +60,7 @@ $badge-height: 22px !default; // Shared styles $button-border: none !default; -$button-background-focus: lighten($secondary-color, 4%) !default; +$button-background-focus: color.adjust($secondary-color, $lightness: 4%) !default; $button-font-size: 1rem !default; $button-icon-font-size: 1.3rem !default; $button-height: 36px !default; @@ -70,7 +73,7 @@ $button-disabled-color: #9F9F9F !default; // Raised buttons $button-raised-background: $secondary-color !default; -$button-raised-background-hover: lighten($button-raised-background, 5%) !default; +$button-raised-background-hover: color.adjust($button-raised-background, $lightness: 5%) !default; $button-raised-color: #fff !default; // Large buttons @@ -79,7 +82,7 @@ $button-large-height: $button-height * 1.5 !default; // Flat buttons $button-flat-color: #343434 !default; -$button-flat-disabled-color: lighten(#999, 10%) !default; +$button-flat-disabled-color: color.adjust(#999, $lightness: 10%) !default; // Floating buttons $button-floating-background: $secondary-color !default; @@ -95,15 +98,15 @@ $button-floating-radius: 50% !default; $card-padding: 24px !default; $card-bg-color: #fff !default; -$card-link-color: color("orange", "accent-2") !default; -$card-link-color-light: lighten($card-link-color, 20%) !default; +$card-link-color: components-color.color("orange", "accent-2") !default; +$card-link-color-light: color.adjust($card-link-color, $lightness: 20%) !default; // 5. Carousel // ========================================================================== $carousel-height: 400px !default; -$carousel-item-height: $carousel-height / 2 !default; +$carousel-item-height: calc($carousel-height / 2) !default; $carousel-item-width: $carousel-item-height !default; @@ -130,12 +133,12 @@ $chip-margin: 5px !default; $datepicker-display-font-size: 2.8rem; $datepicker-weekday-color: rgba(0, 0, 0, .87) !default; -$datepicker-weekday-bg: darken($secondary-color, 7%) !default; +$datepicker-weekday-bg: color.adjust($secondary-color, $lightness: -7%) !default; $datepicker-date-bg: $secondary-color !default; $datepicker-year: rgba(255, 255, 255, .7) !default; $datepicker-focus: rgba(0,0,0, .05) !default; $datepicker-selected: $secondary-color !default; -$datepicker-selected-outfocus: desaturate(lighten($secondary-color, 35%), 15%) !default; +$datepicker-selected-outfocus: color.adjust(color.adjust($secondary-color, $lightness: 35%), $saturation: -15%) !default; $timepicker-clock-color: rgba(0, 0, 0, .87) !default; $timepicker-clock-plate-bg: #eee; @@ -161,7 +164,7 @@ $roboto-font-path: "../fonts/roboto/" !default; // Text Inputs + Textarea $input-height: 3rem !default; -$input-border-color: color("grey", "base") !default; +$input-border-color: components-color.color("grey", "base") !default; $input-border: 1px solid $input-border-color !default; $input-background: #fff !default; $input-error-color: $error-color !default; @@ -177,7 +180,7 @@ $input-disabled-color: rgba(0,0,0, .42) !default; $input-disabled-solid-color: #949494 !default; $input-disabled-border: 1px dotted $input-disabled-color !default; $input-invalid-border: 1px solid $input-error-color !default; -$placeholder-text-color: lighten($input-border-color, 20%) !default; +$placeholder-text-color: color.adjust($input-border-color, $lightness: 20%) !default; // Radio Buttons $radio-fill-color: $secondary-color !default; @@ -192,7 +195,7 @@ $track-height: 3px !default; // Select $select-border: 1px solid #f2f2f2 !default; $select-background: rgba(255, 255, 255, 0.90) !default; -$select-focus: 1px solid lighten($secondary-color, 47%) !default; +$select-focus: 1px solid color.adjust($secondary-color, $lightness: 47%) !default; $select-option-hover: rgba(0,0,0,.06) !default; $select-option-focus: rgba(0,0,0,.03) !default; $select-padding: 5px !default; @@ -201,7 +204,7 @@ $select-disabled-color: rgba(0,0,0,.3) !default; // Switches $switch-bg-color: $secondary-color !default; -$switch-checked-lever-bg: desaturate(lighten($switch-bg-color, 25%), 25%) !default; +$switch-checked-lever-bg: color.adjust(color.adjust($switch-bg-color, $lightness: 25%), $saturation: -25%) !default; $switch-unchecked-bg: #F1F1F1 !default; $switch-unchecked-lever-bg: rgba(0,0,0,.38) !default; $switch-radius: 15px !default; @@ -211,12 +214,12 @@ $switch-radius: 15px !default; // ========================================================================== // Media Query Ranges -$small-screen-up: 601px !default; -$medium-screen-up: 993px !default; -$large-screen-up: 1201px !default; $small-screen: 600px !default; $medium-screen: 992px !default; $large-screen: 1200px !default; +$small-screen-up: calc($small-screen + 1px) !default; +$medium-screen-up: calc($medium-screen + 1px) !default; +$large-screen-up: calc($large-screen + 1px) !default; $medium-and-up: "only screen and (min-width : #{$small-screen-up})" !default; $large-and-up: "only screen and (min-width : #{$medium-screen-up})" !default; @@ -231,8 +234,8 @@ $medium-only: "only screen and (min-width : #{$small-screen-up}) and (max-width $num-cols: 12 !default; $gutter-width: 1.5rem !default; -$element-top-margin: $gutter-width/3 !default; -$element-bottom-margin: ($gutter-width*2)/3 !default; +$element-top-margin: calc($gutter-width / 3) !default; +$element-bottom-margin: calc(($gutter-width * 2) / 3) !default; // 14. Navigation Bar @@ -260,9 +263,9 @@ $sidenav-line-height: $sidenav-item-height !default; // 16. Photo Slider // ========================================================================== -$slider-bg-color: color('grey', 'base') !default; -$slider-bg-color-light: color('grey', 'lighten-2') !default; -$slider-indicator-color: color('green', 'base') !default; +$slider-bg-color: components-color.color('grey', 'base') !default; +$slider-bg-color-light: components-color.color('grey', 'lighten-2') !default; +$slider-indicator-color: components-color.color('green', 'base') !default; // 17. Spinners | Loaders @@ -322,7 +325,7 @@ $footer-copyright-bg-color: $primary-color !default; $range : $large-screen - $small-screen !default; $intervals: 20 !default; -$interval-size: $range / $intervals !default; +$interval-size: calc($range / $intervals) !default; // 24. Collections @@ -331,7 +334,7 @@ $interval-size: $range / $intervals !default; $collection-border-color: #e0e0e0 !default; $collection-bg-color: #fff !default; $collection-active-bg-color: $secondary-color !default; -$collection-active-color: lighten($secondary-color, 55%) !default; +$collection-active-color: color.adjust($secondary-color, $lightness: 55%) !default; $collection-hover-bg-color: #ddd !default; $collection-link-color: $secondary-color !default; $collection-line-height: 1.5rem !default; diff --git a/_sass/materialize/components/date_picker/_default.date.scss b/_sass/materialize/components/date_picker/_default.date.scss index efbe5b2..ae2cc58 100755 --- a/_sass/materialize/components/date_picker/_default.date.scss +++ b/_sass/materialize/components/date_picker/_default.date.scss @@ -1,3 +1,5 @@ +@use "../variables"; + /* ========================================================================== $BASE-DATE-PICKER ========================================================================== */ @@ -52,7 +54,7 @@ } .picker__select--month:focus, .picker__select--year:focus { - border-color: $datepicker-focus; + border-color: variables.$datepicker-focus; } /** * The month navigation buttons. @@ -257,7 +259,7 @@ .picker__button--clear:focus, .picker__button--close:focus { background: #b1dcfb; - border-color: $datepicker-focus; + border-color: variables.$datepicker-focus; outline: none; } .picker__button--today:before, @@ -312,7 +314,7 @@ .picker__date-display { text-align: left; - background-color: $datepicker-date-bg; + background-color: variables.$datepicker-date-bg; color: #fff; padding: 18px; font-weight: 300; @@ -334,30 +336,30 @@ .picker__nav--next:hover { cursor: pointer; color: #000000; - background: $datepicker-selected-outfocus; + background: variables.$datepicker-selected-outfocus; } .picker__weekday-display { font-weight: 500; - font-size: $datepicker-display-font-size; + font-size: variables.$datepicker-display-font-size; margin-right: 5px; margin-top: 4px; } .picker__month-display { //text-transform: uppercase; - font-size: $datepicker-display-font-size; + font-size: variables.$datepicker-display-font-size; font-weight: 500; } .picker__day-display { - font-size: $datepicker-display-font-size; + font-size: variables.$datepicker-display-font-size; font-weight: 500; margin-right: 5px; } .picker__year-display { font-size: 1.5rem; font-weight: 500; - color: $datepicker-year; + color: variables.$datepicker-year; } /*.picker__box { @@ -378,7 +380,7 @@ } .picker__day--infocus { - color: $datepicker-weekday-color; + color: variables.$datepicker-weekday-color; letter-spacing: -.3px; padding: 0.75rem 0; font-weight: 400; @@ -393,7 +395,7 @@ //Today style .picker__day.picker__day--today { - color: $datepicker-selected; + color: variables.$datepicker-selected; } .picker__day.picker__day--today.picker__day--selected { @@ -412,11 +414,11 @@ // Circle background border-radius: 50%; transform: scale(.9); - background-color: $datepicker-selected; + background-color: variables.$datepicker-selected; + color: #ffffff; &.picker__day--outfocus { - background-color: $datepicker-selected-outfocus; + background-color: variables.$datepicker-selected-outfocus; } - color: #ffffff; } .picker__footer { @@ -428,7 +430,7 @@ .picker__close, .picker__today, .picker__clear { font-size: 1.1rem; padding: 0 1rem; - color: $datepicker-selected; + color: variables.$datepicker-selected; } .picker__clear { color:#f44336; @@ -452,5 +454,5 @@ border-left: 0.75em solid #676767; } button.picker__today:focus, button.picker__clear:focus, button.picker__close:focus { - background-color: $datepicker-selected-outfocus; + background-color: variables.$datepicker-selected-outfocus; } diff --git a/_sass/materialize/components/date_picker/_default.scss b/_sass/materialize/components/date_picker/_default.scss index 11f9125..62fa1fd 100755 --- a/_sass/materialize/components/date_picker/_default.scss +++ b/_sass/materialize/components/date_picker/_default.scss @@ -1,3 +1,5 @@ +@use "../color"; + /* ========================================================================== $BASE-PICKER ========================================================================== */ @@ -186,7 +188,7 @@ ========================================================================== */ .picker__input.picker__input--active { - border-color: color("blue", "lighten-5"); + border-color: color.color("blue", "lighten-5"); } .picker__frame { diff --git a/_sass/materialize/components/date_picker/_default.time.scss b/_sass/materialize/components/date_picker/_default.time.scss index f45df73..9818663 100755 --- a/_sass/materialize/components/date_picker/_default.time.scss +++ b/_sass/materialize/components/date_picker/_default.time.scss @@ -1,3 +1,6 @@ +@use "sass:color"; +@use "../variables"; + /* ========================================================================== $BASE-TIME-PICKER ========================================================================== */ @@ -77,7 +80,7 @@ font-size: .67em; text-align: center; text-transform: uppercase; - color: $timepicker-clock-color; + color: variables.$timepicker-clock-color; } .picker--time .picker__button--clear:hover, .picker--time .picker__button--clear:focus { @@ -91,7 +94,7 @@ } .picker--time .picker__button--clear:before { top: -0.25em; - color: $timepicker-clock-color; + color: variables.$timepicker-clock-color; font-size: 1.25em; font-weight: bold; } @@ -178,7 +181,7 @@ cursor: move; } .clockpicker-plate { - background-color: $timepicker-clock-plate-bg; + background-color: variables.$timepicker-clock-plate-bg; border-radius: 50%; width: 270px; height: 270px; @@ -202,7 +205,7 @@ } .clockpicker-tick { border-radius: 50%; - color: $timepicker-clock-color; + color: variables.$timepicker-clock-color; line-height: 40px; text-align: center; width: 40px; @@ -212,7 +215,7 @@ } .clockpicker-tick.active, .clockpicker-tick:hover { - background-color: transparentize($secondary-color, .75); + background-color: color.adjust(variables.$secondary-color, $alpha: -.75); } .clockpicker-dial { -webkit-transition: -webkit-transform 350ms, opacity 350ms; @@ -250,17 +253,17 @@ } .clockpicker-canvas-bearing { stroke: none; - fill: $secondary-color; + fill: variables.$secondary-color; } .clockpicker-canvas-bg { stroke: none; - fill: $secondary-color; + fill: variables.$secondary-color; } .clockpicker-canvas-bg-trans { - fill: $secondary-color; + fill: variables.$secondary-color; } .clockpicker-canvas line { - stroke: $secondary-color; + stroke: variables.$secondary-color; stroke-width: 4; stroke-linecap: round; /*shape-rendering: crispEdges;*/ diff --git a/_sass/materialize/components/forms/_checkboxes.scss b/_sass/materialize/components/forms/_checkboxes.scss index e24d49a..073b622 100755 --- a/_sass/materialize/components/forms/_checkboxes.scss +++ b/_sass/materialize/components/forms/_checkboxes.scss @@ -1,3 +1,5 @@ +@use "../variables"; + /* Checkboxes ========================================================================== */ @@ -43,7 +45,7 @@ form p:last-child { width: 18px; height: 18px; z-index: 0; - border: 2px solid $radio-empty-color; + border: 2px solid variables.$radio-empty-color; border-radius: 1px; margin-top: 2px; transition: .2s; @@ -56,7 +58,7 @@ form p:last-child { &:not(:checked):disabled + label:before { border: none; - background-color: $input-disabled-color; + background-color: variables.$input-disabled-color; } // Focused styles @@ -77,16 +79,16 @@ form p:last-child { height: 22px; border-top: 2px solid transparent; border-left: 2px solid transparent; - border-right: $radio-border; - border-bottom: $radio-border; + border-right: variables.$radio-border; + border-bottom: variables.$radio-border; transform: rotate(40deg); backface-visibility: hidden; transform-origin: 100% 100%; } &:disabled + label:before { - border-right: 2px solid $input-disabled-color; - border-bottom: 2px solid $input-disabled-color; + border-right: 2px solid variables.$input-disabled-color; + border-bottom: 2px solid variables.$input-disabled-color; } } @@ -99,7 +101,7 @@ form p:last-child { height: 22px; border-top: none; border-left: none; - border-right: $radio-border; + border-right: variables.$radio-border; border-bottom: none; transform: rotate(90deg); backface-visibility: hidden; @@ -108,7 +110,7 @@ form p:last-child { // Disabled indeterminate &:disabled + label:before { - border-right: 2px solid $input-disabled-color; + border-right: 2px solid variables.$input-disabled-color; background-color: transparent; } } @@ -145,7 +147,7 @@ form p:last-child { height: 20px; width: 20px; background-color: transparent; - border: 2px solid $radio-empty-color; + border: 2px solid variables.$radio-empty-color; top: 0px; z-index: 0; } @@ -159,8 +161,8 @@ form p:last-child { height: 13px; border-top: 2px solid transparent; border-left: 2px solid transparent; - border-right: 2px solid $input-background; - border-bottom: 2px solid $input-background; + border-right: 2px solid variables.$input-background; + border-bottom: 2px solid variables.$input-background; transform: rotateZ(37deg); transform-origin: 100% 100%; } @@ -169,8 +171,8 @@ form p:last-child { top: 0; width: 20px; height: 20px; - border: 2px solid $secondary-color; - background-color: $secondary-color; + border: 2px solid variables.$secondary-color; + background-color: variables.$secondary-color; z-index: 0; } } @@ -178,14 +180,14 @@ form p:last-child { // Focused styles &.tabbed:focus + label:after { border-radius: 2px; - border-color: $radio-empty-color; + border-color: variables.$radio-empty-color; background-color: rgba(0,0,0,.1); } &.tabbed:checked:focus + label:after { border-radius: 2px; - background-color: $secondary-color; - border-color: $secondary-color; + background-color: variables.$secondary-color; + border-color: variables.$secondary-color; } // Disabled style @@ -196,7 +198,7 @@ form p:last-child { &:disabled:not(:checked) + label:after { border-color: transparent; - background-color: $input-disabled-solid-color; + background-color: variables.$input-disabled-solid-color; } &:disabled:checked + label:before { @@ -204,7 +206,7 @@ form p:last-child { } &:disabled:checked + label:after { - background-color: $input-disabled-solid-color; - border-color: $input-disabled-solid-color; + background-color: variables.$input-disabled-solid-color; + border-color: variables.$input-disabled-solid-color; } } diff --git a/_sass/materialize/components/forms/_file-input.scss b/_sass/materialize/components/forms/_file-input.scss index e2becc9..138d277 100755 --- a/_sass/materialize/components/forms/_file-input.scss +++ b/_sass/materialize/components/forms/_file-input.scss @@ -1,3 +1,5 @@ +@use "../variables"; + /* File Input ========================================================================== */ @@ -13,8 +15,8 @@ .btn { float: left; - height: $input-height; - line-height: $input-height; + height: variables.$input-height; + line-height: variables.$input-height; } span { diff --git a/_sass/materialize/components/forms/_forms.scss b/_sass/materialize/components/forms/_forms.scss index e9b65b4..14aeed8 100755 --- a/_sass/materialize/components/forms/_forms.scss +++ b/_sass/materialize/components/forms/_forms.scss @@ -1,22 +1,25 @@ +@use "sass:meta"; +@use "../variables"; + // Remove Focus Boxes select:focus { - outline: $select-focus; + outline: variables.$select-focus; } button:focus { outline: none; - background-color: $button-background-focus; + background-color: variables.$button-background-focus; } label { - font-size: $label-font-size; - color: $input-border-color; + font-size: variables.$label-font-size; + color: variables.$input-border-color; } -@import 'input-fields'; -@import 'radio-buttons'; -@import 'checkboxes'; -@import 'switches'; -@import 'select'; -@import 'file-input'; -@import 'range'; +@include meta.load-css('input-fields'); +@include meta.load-css('radio-buttons'); +@include meta.load-css('checkboxes'); +@include meta.load-css('switches'); +@include meta.load-css('select'); +@include meta.load-css('file-input'); +@include meta.load-css('range'); diff --git a/_sass/materialize/components/forms/_input-fields.scss b/_sass/materialize/components/forms/_input-fields.scss index 45689d4..9d0468a 100755 --- a/_sass/materialize/components/forms/_input-fields.scss +++ b/_sass/materialize/components/forms/_input-fields.scss @@ -1,10 +1,12 @@ +@use "../variables"; + /* Text Inputs + Textarea ========================================================================== */ /* Style Placeholders */ ::placeholder { - color: $placeholder-text-color; + color: variables.$placeholder-text-color; } /* Text inputs */ @@ -26,40 +28,40 @@ textarea.materialize-textarea { // General Styles background-color: transparent; border: none; - border-bottom: $input-border; + border-bottom: variables.$input-border; border-radius: 0; outline: none; - height: $input-height; + height: variables.$input-height; width: 100%; - font-size: $input-font-size; - margin: $input-margin; - padding: $input-padding; + font-size: variables.$input-font-size; + margin: variables.$input-margin; + padding: variables.$input-padding; box-shadow: none; box-sizing: content-box; - transition: $input-transition; + transition: variables.$input-transition; // Disabled input style &:disabled, &[readonly="readonly"] { - color: $input-disabled-color; - border-bottom: $input-disabled-border; + color: variables.$input-disabled-color; + border-bottom: variables.$input-disabled-border; } // Disabled label style &:disabled+label, &[readonly="readonly"]+label { - color: $input-disabled-color; + color: variables.$input-disabled-color; } // Focused input style &:focus:not([readonly]) { - border-bottom: 1px solid $input-focus-color; - box-shadow: 0 1px 0 0 $input-focus-color; + border-bottom: 1px solid variables.$input-focus-color; + box-shadow: 0 1px 0 0 variables.$input-focus-color; } // Focused label style &:focus:not([readonly])+label { - color: $input-focus-color; + color: variables.$input-focus-color; } // Valid Input Style @@ -111,22 +113,22 @@ textarea.materialize-textarea { /* Validation Sass Placeholders */ %valid-input-style { - border-bottom: 1px solid $input-success-color; - box-shadow: 0 1px 0 0 $input-success-color; + border-bottom: 1px solid variables.$input-success-color; + box-shadow: 0 1px 0 0 variables.$input-success-color; } %invalid-input-style { - border-bottom: $input-invalid-border; - box-shadow: 0 1px 0 0 $input-error-color; + border-bottom: variables.$input-invalid-border; + box-shadow: 0 1px 0 0 variables.$input-error-color; } %custom-success-message { content: attr(data-success); - color: $input-success-color; + color: variables.$input-success-color; opacity: 1; transform: translateY(9px); } %custom-error-message { content: attr(data-error); - color: $input-error-color; + color: variables.$input-error-color; opacity: 1; transform: translateY(9px); } @@ -158,12 +160,12 @@ textarea.materialize-textarea { // Gutter spacing &.col { label { - left: $gutter-width / 2; + left: calc(variables.$gutter-width / 2); } .prefix ~ label, .prefix ~ .validate ~ label { - width: calc(100% - 3rem - #{$gutter-width}); + width: calc(100% - 3rem - #{variables.$gutter-width}); } } @@ -171,7 +173,7 @@ textarea.materialize-textarea { margin-top: 1rem; label { - color: $input-border-color; + color: variables.$input-border-color; position: absolute; top: 0; left: 0; @@ -193,11 +195,11 @@ textarea.materialize-textarea { // Prefix Icons .prefix { position: absolute; - width: $input-height; + width: variables.$input-height; font-size: 2rem; transition: color .2s; - &.active { color: $input-focus-color; } + &.active { color: variables.$input-focus-color; } } .prefix ~ input, @@ -212,14 +214,14 @@ textarea.materialize-textarea { .prefix ~ label { margin-left: 3rem; } - @media #{$medium-and-down} { + @media #{variables.$medium-and-down} { .prefix ~ input { width: 86%; width: calc(100% - 3rem); } } - @media #{$small-and-down} { + @media #{variables.$small-and-down} { .prefix ~ input { width: 80%; width: calc(100% - 3rem); @@ -243,7 +245,7 @@ textarea.materialize-textarea { } &:focus { - background-color: $input-background; + background-color: variables.$input-background; border: 0; box-shadow: none; color: #444; @@ -277,7 +279,7 @@ textarea.materialize-textarea { // Default textarea textarea { width: 100%; - height: $input-height; + height: variables.$input-height; background-color: transparent; &.materialize-textarea { @@ -295,7 +297,7 @@ textarea { overflow-y: hidden; /* prevents scroll bar flash */ padding: .8rem 0 1.6rem 0; /* prevents text jump on Enter keypress */ resize: none; - min-height: $input-height; + min-height: variables.$input-height; } } @@ -315,8 +317,8 @@ textarea { /* Autocomplete */ .autocomplete-content { - margin-top: -1 * $input-margin-bottom; - margin-bottom: $input-margin-bottom; + margin-top: -1 * variables.$input-margin-bottom; + margin-bottom: variables.$input-margin-bottom; display: block; opacity: 1; position: static; @@ -325,8 +327,8 @@ textarea { .highlight { color: #444; } img { - height: $dropdown-item-height - 10; - width: $dropdown-item-height - 10; + height: variables.$dropdown-item-height - 10; + width: variables.$dropdown-item-height - 10; margin: 5px 15px; } } diff --git a/_sass/materialize/components/forms/_radio-buttons.scss b/_sass/materialize/components/forms/_radio-buttons.scss index 72842c8..16d2913 100755 --- a/_sass/materialize/components/forms/_radio-buttons.scss +++ b/_sass/materialize/components/forms/_radio-buttons.scss @@ -1,3 +1,5 @@ +@use "../variables"; + /* Radio Buttons ========================================================================== */ @@ -47,7 +49,7 @@ [type="radio"]:not(:checked) + label:before, [type="radio"]:not(:checked) + label:after { - border: 2px solid $radio-empty-color; + border: 2px solid variables.$radio-empty-color; } [type="radio"]:not(:checked) + label:after { @@ -62,12 +64,12 @@ [type="radio"]:checked + label:after, [type="radio"].with-gap:checked + label:before, [type="radio"].with-gap:checked + label:after { - border: $radio-border; + border: variables.$radio-border; } [type="radio"]:checked + label:after, [type="radio"].with-gap:checked + label:after { - background-color: $radio-fill-color; + background-color: variables.$radio-fill-color; } [type="radio"]:checked + label:after { @@ -86,30 +88,30 @@ /* Disabled Radio With gap */ [type="radio"].with-gap:disabled:checked + label:before { - border: 2px solid $input-disabled-color; + border: 2px solid variables.$input-disabled-color; } [type="radio"].with-gap:disabled:checked + label:after { border: none; - background-color: $input-disabled-color; + background-color: variables.$input-disabled-color; } /* Disabled style */ [type="radio"]:disabled:not(:checked) + label:before, [type="radio"]:disabled:checked + label:before { background-color: transparent; - border-color: $input-disabled-color; + border-color: variables.$input-disabled-color; } [type="radio"]:disabled + label { - color: $input-disabled-color; + color: variables.$input-disabled-color; } [type="radio"]:disabled:not(:checked) + label:before { - border-color: $input-disabled-color; + border-color: variables.$input-disabled-color; } [type="radio"]:disabled:checked + label:after { - background-color: $input-disabled-color; - border-color: $input-disabled-solid-color; + background-color: variables.$input-disabled-color; + border-color: variables.$input-disabled-solid-color; } diff --git a/_sass/materialize/components/forms/_range.scss b/_sass/materialize/components/forms/_range.scss index 92cda2b..54d9cb8 100755 --- a/_sass/materialize/components/forms/_range.scss +++ b/_sass/materialize/components/forms/_range.scss @@ -1,3 +1,6 @@ +@use "../variables"; +@use "../global"; + /* Range ========================================================================== */ @@ -33,7 +36,7 @@ input[type=range] + .thumb { height: 0; width: 0; border-radius: 50%; - background-color: $radio-fill-color; + background-color: variables.$radio-fill-color; margin-left: 7px; transform-origin: 50% 50%; @@ -43,7 +46,7 @@ input[type=range] + .thumb { display: block; width: 30px; text-align: center; - color: $radio-fill-color; + color: variables.$radio-fill-color; font-size: 0; transform: rotate(45deg); } @@ -52,7 +55,7 @@ input[type=range] + .thumb { border-radius: 50% 50% 50% 0; .value { - color: $input-background; + color: variables.$input-background; margin-left: -1px; margin-top: 8px; font-size: 10px; @@ -66,7 +69,7 @@ input[type=range] { } input[type=range]::-webkit-slider-runnable-track { - height: $track-height; + height: variables.$track-height; background: #c2c0c2; border: none; } @@ -74,10 +77,10 @@ input[type=range]::-webkit-slider-runnable-track { input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; border: none; - height: $range-height; - width: $range-width; + height: variables.$range-height; + width: variables.$range-width; border-radius: 50%; - background-color: $radio-fill-color; + background-color: variables.$radio-fill-color; transform-origin: 50% 50%; margin: -5px 0 0 0; transition: .3s; @@ -96,17 +99,17 @@ input[type=range] { } input[type=range]::-moz-range-track { - height: $track-height; + height: variables.$track-height; background: #ddd; border: none; } input[type=range]::-moz-range-thumb { border: none; - height: $range-height; - width: $range-width; + height: variables.$range-height; + width: variables.$range-width; border-radius: 50%; - background: $radio-fill-color; + background: variables.$radio-fill-color; margin-top: -5px; } @@ -122,7 +125,7 @@ input[type=range]:focus::-moz-range-track { // IE 10+ input[type=range]::-ms-track { - height: $track-height; + height: variables.$track-height; // remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead background: transparent; @@ -145,10 +148,10 @@ input[type=range]::-ms-fill-upper { input[type=range]::-ms-thumb { border: none; - height: $range-height; - width: $range-width; + height: variables.$range-height; + width: variables.$range-width; border-radius: 50%; - background: $radio-fill-color; + background: variables.$radio-fill-color; } input[type=range]:focus::-ms-fill-lower { diff --git a/_sass/materialize/components/forms/_select.scss b/_sass/materialize/components/forms/_select.scss index ca88ca7..8171779 100755 --- a/_sass/materialize/components/forms/_select.scss +++ b/_sass/materialize/components/forms/_select.scss @@ -1,3 +1,6 @@ +@use "../variables"; +@use "input-fields"; + /* Select Field ========================================================================== */ @@ -5,12 +8,12 @@ select { display: none; } select.browser-default { display: block; } select { - background-color: $select-background; + background-color: variables.$select-background; width: 100%; - padding: $select-padding; - border: $select-border; - border-radius: $select-radius; - height: $input-height; + padding: variables.$select-padding; + border: variables.$select-border; + border-radius: variables.$select-radius; + height: variables.$input-height; } @@ -69,13 +72,13 @@ select { cursor: pointer; background-color: transparent; border: none; - border-bottom: $input-border; + border-bottom: variables.$input-border; outline: none; - height: $input-height; - line-height: $input-height; + height: variables.$input-height; + line-height: variables.$input-height; width: 100%; - font-size: $input-font-size; - margin: $input-margin; + font-size: variables.$input-font-size; + margin: variables.$input-margin; padding: 0; display: block; user-select:none; @@ -96,36 +99,36 @@ select { & + label { position: absolute; top: -26px; - font-size: $label-font-size; + font-size: variables.$label-font-size; } } // Disabled styles select:disabled { - color: $input-disabled-color; + color: variables.$input-disabled-color; } .select-wrapper.disabled { span.caret, & + label { - color: $input-disabled-color; + color: variables.$input-disabled-color; } } .select-wrapper input.select-dropdown:disabled { - color: $input-disabled-color; + color: variables.$input-disabled-color; cursor: default; user-select: none; } .select-wrapper i { - color: $select-disabled-color; + color: variables.$select-disabled-color; } .select-dropdown li.disabled, .select-dropdown li.disabled > span, .select-dropdown li.optgroup { - color: $select-disabled-color; + color: variables.$select-disabled-color; background-color: transparent; } @@ -136,11 +139,11 @@ select:disabled { } &:hover { - background-color: $select-option-hover; + background-color: variables.$select-option-hover; } &.selected { - background-color: $select-option-focus; + background-color: variables.$select-option-focus; } } } @@ -157,8 +160,8 @@ select:disabled { // Icons .select-dropdown li { img { - height: $dropdown-item-height - 10; - width: $dropdown-item-height - 10; + height: variables.$dropdown-item-height - 10; + width: variables.$dropdown-item-height - 10; margin: 5px 15px; float: right; } @@ -166,7 +169,7 @@ select:disabled { // Optgroup styles .select-dropdown li.optgroup { - border-top: 1px solid $dropdown-hover-bg-color; + border-top: 1px solid variables.$dropdown-hover-bg-color; &.selected > span { color: rgba(0, 0, 0, .7); diff --git a/_sass/materialize/components/forms/_switches.scss b/_sass/materialize/components/forms/_switches.scss index 5976779..449ac97 100755 --- a/_sass/materialize/components/forms/_switches.scss +++ b/_sass/materialize/components/forms/_switches.scss @@ -1,3 +1,6 @@ +@use "sass:color"; +@use "../variables"; + /* Switch ========================================================================== */ @@ -17,14 +20,14 @@ height: 0; &:checked + .lever { - background-color: $switch-checked-lever-bg; + background-color: variables.$switch-checked-lever-bg; &:before, &:after { left: 18px; } &:after { - background-color: $switch-bg-color; + background-color: variables.$switch-bg-color; } } } @@ -35,8 +38,8 @@ position: relative; width: 36px; height: 14px; - background-color: $switch-unchecked-lever-bg; - border-radius: $switch-radius; + background-color: variables.$switch-unchecked-lever-bg; + border-radius: variables.$switch-radius; margin-right: 10px; transition: background 0.3s ease; vertical-align: middle; @@ -55,11 +58,11 @@ } &:before { - background-color: transparentize($switch-bg-color, .85); + background-color: color.adjust(variables.$switch-bg-color, $alpha: -.85); } &:after { - background-color: $switch-unchecked-bg; + background-color: variables.$switch-unchecked-bg; box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); } } @@ -68,7 +71,7 @@ input[type=checkbox]:checked:not(:disabled) ~ .lever:active::before, input[type=checkbox]:checked:not(:disabled).tabbed:focus ~ .lever::before { transform: scale(2.4); - background-color: transparentize($switch-bg-color, .85); + background-color: color.adjust(variables.$switch-bg-color, $alpha: -.85); } input[type=checkbox]:not(:disabled) ~ .lever:active:before, @@ -85,5 +88,5 @@ input[type=checkbox]:not(:disabled).tabbed:focus ~ .lever::before { .switch label input[type=checkbox][disabled] + .lever:after, .switch label input[type=checkbox][disabled]:checked + .lever:after { - background-color: $input-disabled-solid-color; + background-color: variables.$input-disabled-solid-color; } diff --git a/_sass/materialize/materialize.scss b/_sass/materialize/materialize.scss index 43cb78e..e64bb4b 100755 --- a/_sass/materialize/materialize.scss +++ b/_sass/materialize/materialize.scss @@ -1,44 +1,44 @@ @charset "UTF-8"; // Mixins -@import "components/mixins"; -@import "components/color"; +@use "components/mixins"; +@use "components/color"; // Variables; -@import "components/variables"; +@use "components/variables"; // Reset -@import "components/normalize"; +@use "components/normalize"; // components -@import "components/global"; -@import "components/badges"; -@import "components/icons-material-design"; -@import "components/grid"; -@import "components/navbar"; -@import "components/roboto"; -@import "components/typography"; -@import "components/transitions"; -@import "components/cards"; -@import "components/toast"; -@import "components/tabs"; -@import "components/tooltip"; -@import "components/buttons"; -@import "components/dropdown"; -@import "components/waves"; -@import "components/modal"; -@import "components/collapsible"; -@import "components/chips"; -@import "components/materialbox"; -@import "components/forms/forms"; -@import "components/table_of_contents"; -@import "components/sideNav"; -@import "components/preloader"; -@import "components/slider"; -@import "components/carousel"; -@import "components/tapTarget"; -@import "components/pulse"; -@import "components/date_picker/default"; -@import "components/date_picker/default.date"; -@import "components/date_picker/default.time"; -@import "components/topbar" +@use "components/global"; +@use "components/badges"; +@use "components/icons-material-design"; +@use "components/grid"; +@use "components/navbar"; +@use "components/roboto"; +@use "components/typography"; +@use "components/transitions"; +@use "components/cards"; +@use "components/toast"; +@use "components/tabs"; +@use "components/tooltip"; +@use "components/buttons"; +@use "components/dropdown"; +@use "components/waves"; +@use "components/modal"; +@use "components/collapsible"; +@use "components/chips"; +@use "components/materialbox"; +@use "components/forms/forms"; +@use "components/table_of_contents"; +@use "components/sideNav"; +@use "components/preloader"; +@use "components/slider"; +@use "components/carousel"; +@use "components/tapTarget"; +@use "components/pulse"; +@use "components/date_picker/default"; +@use "components/date_picker/default.date" as default2; +@use "components/date_picker/default.time" as default3; +@use "components/topbar" \ No newline at end of file diff --git a/assets/main.scss b/assets/main.scss index c6184ec..dc26ac5 100755 --- a/assets/main.scss +++ b/assets/main.scss @@ -2,4 +2,4 @@ # Only the main Sass file needs front matter (the dashes are enough) --- -@import "main"; +@use "_main"; diff --git a/assets/materialize.scss b/assets/materialize.scss index b1b5d08..f0b3fc6 100755 --- a/assets/materialize.scss +++ b/assets/materialize.scss @@ -2,4 +2,4 @@ # Only the main Sass file needs front matter (the dashes are enough) --- -@import "materialize/materialize"; +@use "materialize/materialize"; diff --git a/assets/metanorma-index.scss b/assets/metanorma-index.scss new file mode 100644 index 0000000..7e1399b --- /dev/null +++ b/assets/metanorma-index.scss @@ -0,0 +1,5 @@ +--- +# Only the main Sass file needs front matter (the dashes are enough) +--- + +@use "_metanorma-index"; diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..589a839 --- /dev/null +++ b/flake.lock @@ -0,0 +1,114 @@ +{ + "nodes": { + "devshell": { + "inputs": { + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1735644329, + "narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=", + "owner": "numtide", + "repo": "devshell", + "rev": "f7795ede5b02664b57035b3b757876703e2c3eac", + "type": "github" + }, + "original": { + "owner": "numtide", + "ref": "main", + "repo": "devshell", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1722073938, + "narHash": "sha256-OpX0StkL8vpXyWOGUD6G+MA26wAXK6SpT94kLJXo6B4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e36e9f57337d0ff0cf77aceb58af4c805472bfae", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1737959576, + "narHash": "sha256-eEOiMxfxYSLa/8jcDZEK46TjqLO+8cJ5C9ufHXz1oIw=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "970c26517231e07b71f3eaaa9aa2ebe539c354d3", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "master", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "devshell": "devshell", + "flake-compat": "flake-compat", + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs_2" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..8266add --- /dev/null +++ b/flake.nix @@ -0,0 +1,62 @@ +{ + description = "Metanorma Dev Env"; + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/master"; + flake-utils.url = "github:numtide/flake-utils"; + devshell.url = "github:numtide/devshell/main"; + flake-compat = { + url = "github:edolstra/flake-compat"; + flake = false; + }; + }; + outputs = + { self + , nixpkgs + , flake-utils + , devshell + , flake-compat + , ... + }: + flake-utils.lib.eachDefaultSystem (system: + let + cwd = builtins.toString ./.; + overlays = map (x: x.overlays.default) [ + devshell + ]; + pkgs = import nixpkgs { inherit system overlays; }; + in + rec { + + # nix develop + devShell = pkgs.devshell.mkShell { + env = [ + ]; + commands = [ + { + name = "serve"; + command = "echo TODO: make serve \"$@\""; + help = "Serve the site"; + category = "Metanorma"; + } + { + name = "build"; + command = "bundle exec metanorma site generate \"$@\""; + help = "Build the site"; + category = "Metanorma"; + } + ]; + packages = with pkgs; [ + bash + curl + fd + fzf + gnused + jq + jre + ripgrep + wget + yq + ]; + }; + }); +} diff --git a/metanorma-administrative.yml b/metanorma-administrative.yml new file mode 100644 index 0000000..98b90a7 --- /dev/null +++ b/metanorma-administrative.yml @@ -0,0 +1,132 @@ +metanorma: + source: + files: + - src-documents/cc-admin-documents/sources/cc-0812-pres-meet-cc/pres-intro-01.adoc + - src-documents/cc-admin-documents/sources/cc-0812-pres-meet-cc/pres-intro-02.adoc + - src-documents/cc-admin-documents/sources/cc-0812-pres-meet-cc/pres-iop-testing.adoc + - src-documents/cc-admin-documents/sources/cc-0812-pres-meet-cc/pres-ischedule.adoc + - src-documents/cc-admin-documents/sources/cc-0812-pres-meet-cc/pres-tc-mobile.adoc + - src-documents/cc-admin-documents/sources/cc-0812-pres-meet-cc/pres-bedework.adoc + - src-documents/cc-admin-documents/sources/cc-0812-pres-meet-cc/pres-stockholm.adoc + - src-documents/cc-admin-documents/sources/cc-0001-report-ioptest/document.adoc + - src-documents/cc-admin-documents/sources/cc-0101-report-ioptest/document.adoc + - src-documents/cc-admin-documents/sources/cc-0201-report-ioptest/document.adoc + - src-documents/cc-admin-documents/sources/cc-0401-ioptest-rules/document.adoc + - src-documents/cc-admin-documents/sources/cc-0402-ioptest-results/document.adoc + - src-documents/cc-admin-documents/sources/cc-0403-report-ioptest/document.adoc + - src-documents/cc-admin-documents/sources/cc-0404-report-roundtable-1/document.adoc + - src-documents/cc-admin-documents/sources/cc-0501-ioptest-rules/document.adoc + - src-documents/cc-admin-documents/sources/cc-0502-report-ioptest/document.adoc + - src-documents/cc-admin-documents/sources/cc-0503-ioptest-rules/document.adoc + - src-documents/cc-admin-documents/sources/cc-0504-report-ioptest/document.adoc + - src-documents/cc-admin-documents/sources/cc-0506-report-ioptest/document.adoc + - src-documents/cc-admin-documents/sources/cc-0508-pres-overview/document.adoc + - src-documents/cc-admin-documents/sources/cc-0509-pres-overview/document.adoc + - src-documents/cc-admin-documents/sources/cc-0510-questionnaire-results-timezone/document.adoc + - src-documents/cc-admin-documents/sources/cc-0511-report-roundtable-2/document.adoc + - src-documents/cc-admin-documents/sources/cc-0512-report-roundtable-3/document.adoc + - src-documents/cc-admin-documents/sources/cc-0513-report-roundtable-4/document.adoc + - src-documents/cc-admin-documents/sources/cc-0603-report-ioptest/document.adoc + - src-documents/cc-admin-documents/sources/cc-0605-pres-omads-briefing/document.adoc + - src-documents/cc-admin-documents/sources/cc-0607-report-ioptest/document.adoc + - src-documents/cc-admin-documents/sources/cc-0608-pres-fb-demo/document.adoc + - src-documents/cc-admin-documents/sources/cc-0609-questionnaire-results-mobcal/document.adoc + - src-documents/cc-admin-documents/sources/cc-0610-cs-glossary-v1/document.adoc + - src-documents/cc-admin-documents/sources/cc-0612-report-ioptest/document.adoc + - src-documents/cc-admin-documents/sources/cc-0613-report-roundtable-5/document.adoc + - src-documents/cc-admin-documents/sources/cc-0614-report-roundtable-6/document.adoc + - src-documents/cc-admin-documents/sources/cc-0615-report-roundtable-7/document.adoc + - src-documents/cc-admin-documents/sources/cc-0702-report-ioptest/document.adoc + - src-documents/cc-admin-documents/sources/cc-0704-report-ioptest/document.adoc + - src-documents/cc-admin-documents/sources/cc-0705-pres-overview/document.adoc + - src-documents/cc-admin-documents/sources/cc-0710-report-ioptest/document.adoc + - src-documents/cc-admin-documents/sources/cc-0711-report-roundtable-8/document.adoc + - src-documents/cc-admin-documents/sources/cc-0712-report-roundtable-9/document.adoc + - src-documents/cc-admin-documents/sources/cc-0713-report-roundtable-10/document.adoc + - src-documents/cc-admin-documents/sources/cc-0714-report-vcard-workshop/document.adoc + - src-documents/cc-admin-documents/sources/cc-0801-pres-preview-roundtable-11/document.adoc + - src-documents/cc-admin-documents/sources/cc-0802-report-ioptest/document.adoc + - src-documents/cc-admin-documents/sources/cc-0803-report-ioptest/document.adoc + - src-documents/cc-admin-documents/sources/cc-0804-report-ioptest/document.adoc + - src-documents/cc-admin-documents/sources/cc-0806-pres-preview-roundtable-13/document.adoc + - src-documents/cc-admin-documents/sources/cc-0807-report-ioptest/document.adoc + - src-documents/cc-admin-documents/sources/cc-0808-report-ioptest/document.adoc + - src-documents/cc-admin-documents/sources/cc-0809-report-roundtable-11/document.adoc + - src-documents/cc-admin-documents/sources/cc-0810-report-roundtable-12/document.adoc + - src-documents/cc-admin-documents/sources/cc-0811-report-roundtable-13/document.adoc + - src-documents/cc-admin-documents/sources/cc-0812-pres-meet-cc/pres-intro-01.adoc + - src-documents/cc-admin-documents/sources/cc-0812-pres-meet-cc/pres-intro-02.adoc + - src-documents/cc-admin-documents/sources/cc-0812-pres-meet-cc/pres-iop-testing.adoc + - src-documents/cc-admin-documents/sources/cc-0812-pres-meet-cc/pres-ischedule.adoc + - src-documents/cc-admin-documents/sources/cc-0812-pres-meet-cc/pres-tc-mobile.adoc + - src-documents/cc-admin-documents/sources/cc-0812-pres-meet-cc/pres-bedework.adoc + - src-documents/cc-admin-documents/sources/cc-0812-pres-meet-cc/pres-stockholm.adoc + - src-documents/cc-admin-documents/sources/cc-0901-report-roundtable-14/document.adoc + - src-documents/cc-admin-documents/sources/cc-0902-report-ioptest/document.adoc + - src-documents/cc-admin-documents/sources/cc-0908-report-roundtable-15/document.adoc + - src-documents/cc-admin-documents/sources/cc-0909-report-ioptest/document.adoc + - src-documents/cc-admin-documents/sources/cc-0910-report-roundtable-16/document.adoc + - src-documents/cc-admin-documents/sources/cc-0911-report-ioptest/document.adoc + - src-documents/cc-admin-documents/sources/cc-1001-report-roundtable-17/document.adoc + - src-documents/cc-admin-documents/sources/cc-1002-report-ioptest/document.adoc + - src-documents/cc-admin-documents/sources/cc-1003-schema-resources/document.adoc + - src-documents/cc-admin-documents/sources/cc-1005-report-roundtable-18/document.adoc + - src-documents/cc-admin-documents/sources/cc-1006-link-extension/document.adoc + - src-documents/cc-admin-documents/sources/cc-1007-timezone-protocol/document.adoc + - src-documents/cc-admin-documents/sources/cc-1008-timezone-xml/document.adoc + - src-documents/cc-admin-documents/sources/cc-1009-report-ioptest/document.adoc + - src-documents/cc-admin-documents/sources/cc-1010-report-ioptest/document.adoc + - src-documents/cc-admin-documents/sources/cc-1013-report-roundtable-19/document.adoc + - src-documents/cc-admin-documents/sources/cc-1014-report-ioptest/document.adoc + - src-documents/cc-admin-documents/sources/cc-1101-ical-extensions/document.adoc + - src-documents/cc-admin-documents/sources/cc-1102-cs-glossary-v2/document.adoc + - src-documents/cc-admin-documents/sources/cc-1103-report-roundtable-20/document.adoc + - src-documents/cc-admin-documents/sources/cc-1105-report-roundtable-21/document.adoc + - src-documents/cc-admin-documents/sources/cc-1106-report-roundtable-22/document.adoc + - src-documents/cc-admin-documents/sources/cc-1201-report-roundtable-23/document.adoc + - src-documents/cc-admin-documents/sources/cc-1203-report-roundtable-24/document.adoc + - src-documents/cc-admin-documents/sources/cc-1204-report-roundtable-25/document.adoc + - src-documents/cc-admin-documents/sources/cc-1302-report-roundtable-26/document.adoc + - src-documents/cc-admin-documents/sources/cc-1303-report-ioptestevent-26/document.adoc + - src-documents/cc-admin-documents/sources/cc-1304-report-roundtable-27/document.adoc + - src-documents/cc-admin-documents/sources/cc-1305-report-ioptestevent-27/document.adoc + - src-documents/cc-admin-documents/sources/cc-1306-report-roundtable-28/document.adoc + - src-documents/cc-admin-documents/sources/cc-1307-report-ioptestevent-28/document.adoc + - src-documents/cc-admin-documents/sources/cc-1401-report-roundtable-29/document.adoc + - src-documents/cc-admin-documents/sources/cc-1402-report-ioptestevent-29/document.adoc + - src-documents/cc-admin-documents/sources/cc-1403-workshop-30/document.adoc + - src-documents/cc-admin-documents/sources/cc-1404-report-ioptestevent-30/document.adoc + - src-documents/cc-admin-documents/sources/cc-1405-report-conference-30/document.adoc + - src-documents/cc-admin-documents/sources/cc-1406-report-conference-31/document.adoc + - src-documents/cc-admin-documents/sources/cc-1407-report-ioptestevent-31/document.adoc + - src-documents/cc-admin-documents/sources/cc-1501-report-conference-32/document.adoc + - src-documents/cc-admin-documents/sources/cc-1502-report-ioptestevent-32/document.adoc + - src-documents/cc-admin-documents/sources/cc-1503-report-conference-33/document.adoc + - src-documents/cc-admin-documents/sources/cc-1504-report-ioptestevent-33/document.adoc + - src-documents/cc-admin-documents/sources/cc-1505-report-ioptestevent-34/document.adoc + - src-documents/cc-admin-documents/sources/cc-1506-report-conference-34/document.adoc + - src-documents/cc-admin-documents/sources/cc-1601-report-conference-35/document.adoc + - src-documents/cc-admin-documents/sources/cc-1602-report-ioptestevent-35/document.adoc + - src-documents/cc-admin-documents/sources/cc-1603-report-conference-36/document.adoc + - src-documents/cc-admin-documents/sources/cc-1604-report-ioptestevent-36/document.adoc + - src-documents/cc-admin-documents/sources/cc-1605-report-conference-37/document.adoc + - src-documents/cc-admin-documents/sources/cc-1606-report-ioptestevent-37/document.adoc + - src-documents/cc-admin-documents/sources/cc-1701-report-conference-38/document.adoc + - src-documents/cc-admin-documents/sources/cc-1702-report-ioptestevent-38/document.adoc + - src-documents/cc-admin-documents/sources/cc-1703-report-conference-39/document.adoc + - src-documents/cc-admin-documents/sources/cc-1704-report-ioptestevent-39/document.adoc + - src-documents/cc-admin-documents/sources/cc-1705-report-conference-40/document.adoc + - src-documents/cc-admin-documents/sources/cc-1706-report-ioptestevent-40/document.adoc + - src-documents/cc-admin-documents/sources/cc-1801-report-conference-41/document.adoc + - src-documents/cc-admin-documents/sources/cc-1802-report-ioptestevent-41/document.adoc + - src-documents/cc-admin-documents/sources/cc-1803-report-conference-42/document.adoc + - src-documents/cc-admin-documents/sources/cc-1804-report-ioptestevent-42/document.adoc + - src-documents/cc-admin-documents/sources/cc-1805-report-conference-43/document.adoc + - src-documents/cc-admin-documents/sources/cc-1901-report-conference-44/document.adoc + - src-documents/cc-admin-documents/sources/cc-1902-report-conference-45/document.adoc + - src-documents/cc-admin-documents/sources/cc-1903-report-conference-46/document.adoc + collection: + organization: "CalConnect" + name: "Administrative Documents" + template: + path: ../../_relaton_templates diff --git a/metanorma-directive.yml b/metanorma-directive.yml new file mode 100644 index 0000000..3084f59 --- /dev/null +++ b/metanorma-directive.yml @@ -0,0 +1,13 @@ +metanorma: + source: + files: + - src-documents/cc-directive-ipr-guidelines/sources/cc-10005.adoc + - src-documents/cc-directive-patent-policy/sources/cc-10003.adoc + - src-documents/cc-directive-ipr-policy/sources/cc-10006.adoc + - src-documents/cc-directive-document-requirements/sources/cc-10002.adoc + - src-documents/cc-directive-standardization-publication/sources/cc-10001.adoc + collection: + organization: "CalConnect" + name: "Directives" + template: + path: ../../_relaton_templates diff --git a/metanorma-pending-publication.yml b/metanorma-pending-publication.yml new file mode 100644 index 0000000..02477c6 --- /dev/null +++ b/metanorma-pending-publication.yml @@ -0,0 +1,10 @@ +metanorma: + source: + files: + - src-documents/cc-datetime-explicit/sources/cc-18011.adoc + - src-documents/cc-general-recurrence/sources/cc-18012.adoc + collection: + organization: "CalConnect" + name: "Pending Publication" + template: + path: ../../_relaton_templates diff --git a/metanorma-public-review.yml b/metanorma-public-review.yml new file mode 100644 index 0000000..1cec184 --- /dev/null +++ b/metanorma-public-review.yml @@ -0,0 +1,9 @@ +metanorma: + source: + files: + - src-documents/cc-iso-psdo-agreement/sources/cc-10010.adoc + collection: + organization: "CalConnect" + name: "Documents under Internal Review" + template: + path: ../../_relaton_templates diff --git a/metanorma-report.yml b/metanorma-report.yml new file mode 100644 index 0000000..30675c0 --- /dev/null +++ b/metanorma-report.yml @@ -0,0 +1,21 @@ +metanorma: + source: + files: + - src-documents/cc-wto-tbt-principles/sources/cc-10100.adoc + - src-documents/cc-admin-documents/sources/cc-0602-ical-tz-problems/document.adoc + - src-documents/cc-admin-documents/sources/cc-0604-ical-recurrence-problems/document.adoc + - src-documents/cc-admin-documents/sources/cc-0708-dst-review/document.adoc + - src-documents/cc-admin-documents/sources/cc-0805-mobile-recurrence-iop/document.adoc + - src-documents/cc-admin-documents/sources/cc-0904-xcal/document.adoc + - src-documents/cc-admin-documents/sources/cc-0905-state-of-resource-iop/document.adoc + - src-documents/cc-admin-documents/sources/cc-0907-miniop-resource-info/document.adoc + - src-documents/cc-admin-documents/sources/cc-1011-calws-rest-v1/document.adoc + - src-documents/cc-admin-documents/sources/cc-1011-calws-rest-v1.0.1/document.adoc + - src-documents/cc-admin-documents/sources/cc-1012-ical-intro-v1/document.adoc + - src-documents/cc-admin-documents/sources/cc-1012-ical-intro-v1.1/document.adoc + - src-documents/cc-admin-documents/sources/cc-1104-cs-index/document.adoc + collection: + organization: "CalConnect" + name: "Reports" + template: + path: ../../_relaton_templates diff --git a/metanorma-specification.yml b/metanorma-specification.yml new file mode 100644 index 0000000..09791ef --- /dev/null +++ b/metanorma-specification.yml @@ -0,0 +1,20 @@ +metanorma: + source: + files: + - src-documents/cc-admin-documents/sources/cc-0505-questionnaire-results-recurrence/document.adoc + - src-documents/cc-admin-documents/sources/cc-0507-caldav-use-cases/document.adoc + - src-documents/cc-admin-documents/sources/cc-0601-miniop-usecases-1.0/document.adoc + - src-documents/cc-admin-documents/sources/cc-0601-miniop-usecases-v1.1/document.adoc + - src-documents/cc-admin-documents/sources/cc-0701-miniop-usecases-tasks/document.adoc + - src-documents/cc-admin-documents/sources/cc-0706-ioptest-suite/document.adoc + - src-documents/cc-admin-documents/sources/cc-0706-ioptest-suite-v1.1/document.adoc + - src-documents/cc-admin-documents/sources/cc-0903-freebusy-read-url/document.adoc + - src-documents/cc-admin-documents/sources/cc-0906-resources-usecases/document.adoc + - src-documents/cc-admin-documents/sources/cc-1004-calws-api/document.adoc + - src-documents/cc-admin-documents/sources/cc-1202-calws-soap/document.adoc + - src-documents/cc-admin-documents/sources/cc-1301-calws-soap/document.adoc + collection: + organization: "CalConnect" + name: "Specifications" + template: + path: ../../_relaton_templates diff --git a/metanorma-standard.yml b/metanorma-standard.yml new file mode 100644 index 0000000..0bffd5a --- /dev/null +++ b/metanorma-standard.yml @@ -0,0 +1,22 @@ +metanorma: + source: + files: + - src-documents/cc-iTip-rewrite/sources/cc-51008.adoc + - src-documents/cc-vpoll/sources/cc-51006.adoc + - src-documents/cc-transcription-systems/sources/cc-24229.adoc + - src-documents/cc-itip-participants/sources/cc-51011.adoc + - src-documents/cc-vobject-vformat/sources/cc-51008/document.adoc + - src-documents/cc-subscription-upgrade/sources/cc-51005.adoc + - src-documents/cc-calendar-vocab/sources/cc-51000/document.adoc + - src-documents/cc-icalendar-series/sources/cc-51003.adoc + - src-documents/cc-vobject-integrity/sources/cc-51002.adoc + - src-documents/cc-ical-relations/sources/cc-51004.adoc + - src-documents/cc-ical-tasks/sources/cc-11001.adoc + - src-documents/cc-admin-documents/sources/cc-0606-timezone-registry/document.adoc + - src-documents/cc-admin-documents/sources/cc-0703-caldav-scheduling-reqs/document.adoc + - src-documents/cc-dav-push/sources/cc-70025.adoc + collection: + organization: "CalConnect" + name: "Standards" + template: + path: ../../_relaton_templates diff --git a/scripts/add-all-cc-repos-as-submodules b/scripts/add-all-cc-repos-as-submodules new file mode 100755 index 0000000..74d6d9a --- /dev/null +++ b/scripts/add-all-cc-repos-as-submodules @@ -0,0 +1,101 @@ +#!/usr/bin/env bash + +# Add all repositories in an ORG organization that match a PREFIX +# (default: `CalConnect/cc-`) +# ... to the DOCS_SUBDIR directory (default: `src-documents`) as submodules. + +log() { + echo "[$(date +'%Y-%m-%dT%H:%M:%S%z')]: $*" +} >&2 + +err() { + printf "[$(date +'%Y-%m-%dT%H:%M:%S%z')]: \e[1;31mError:\e[m %b\n" "$*" +} >&2 + +# Bookkeeping +REPO_URLS=() +SUCCESSES=() +FAILURES=() + +# Print a summary of the downloads +print_summary() { + log "Submoduled ${#SUCCESSES[@]} out of ${#REPO_URLS[@]} repos" + if [[ "${#FAILURES[@]}" -gt 0 ]] + then + err "Failed to submodule ${#FAILURES[@]} repos" + for failure in "${FAILURES[@]}" + do + err "${failure}" + done + fi +} + +ecdo() { + log "Running: $*" + "$@" +} + +trap print_summary EXIT + +main() { + ORG="${ORG:-CalConnect}" + PREFIX="${PREFIX:-cc-}" + DOCS_SUBDIR="${DOCS_SUBDIR:-src-documents}" + + # Create the subdirectory for all the document repositories. + if [[ ! -d "${DOCS_SUBDIR}" ]]; then + echo >&2 "Creating ${DOCS_SUBDIR} directory..." + mkdir -p "${DOCS_SUBDIR}" + fi + + # Using .clone_url instead of .ssh_url, since there's no need to + # push changes to those repos. + while read -r repo_url; do + REPO_URLS+=("${repo_url}") + done < <(scripts/get-all-cc-repos | jq -r '.[].clone_url') + + log "Found ${#REPO_URLS[@]} URLs" + + add-submodules +} + +add-submodules() { + local item + local repo_name + + # Add all the repositories as submodules. + # Skip if the directory already exists. + for item in "${REPO_URLS[@]}" + do + repo_name="${item}" + repo_name="${repo_name##*/}" + repo_name="${repo_name%.git}" + + if [[ -d "${DOCS_SUBDIR}/${repo_name}" ]] + then + log "Skipping ${item} as it already exists in ${DOCS_SUBDIR}" + continue + fi + + log "Adding ${item} to ${DOCS_SUBDIR}" + if ecdo command git submodule add "${item}" "${DOCS_SUBDIR}/${repo_name}" + then + SUCCESSES+=("${item}") + else + err "Failed to submodule ${item}" + FAILURES+=("${item}") + fi + done + + if [[ "${#FAILURES[@]}" -gt 0 ]] + then + err "Failed to submodule ${#FAILURES[@]} repos" + for failure in "${FAILURES[@]}" + do + err "${failure}" + done + return 1 + fi +} + +main "$@" diff --git a/scripts/get-all-cc-repos b/scripts/get-all-cc-repos new file mode 100755 index 0000000..8ec50ac --- /dev/null +++ b/scripts/get-all-cc-repos @@ -0,0 +1,98 @@ +#!/usr/bin/env bash + +# Get all repositories in an organization that match a prefix +# (default: CalConnect/cc-) + +ORG="${ORG:-CalConnect}" +PREFIX="${PREFIX:-cc-}" + +log() { + echo "[$(date +'%Y-%m-%dT%H:%M:%S%z')]: $*" +} >&2 + +err() { + printf "[$(date +'%Y-%m-%dT%H:%M:%S%z')]: \e[1;31mError:\e[m %b\n" "$*" +} >&2 + +ecdo() { + log "Running: $*" + "$@" +} + +get-page() { + local page="${1:-1}" + + # The header and the `--include` flag are for pagination support. + command curl \ + --include \ + -s \ + "https://api.github.com/orgs/$ORG/repos?page=${page}" \ + --header "Accept: application/vnd.github+json" | \ + process-pagination +} + +# Parse curl headers, look for link: ; rel="next", +# and get next page if it exists. +process-pagination() { + local next_page= + local is_past_headers= + + while read -r line + do + if [[ -n $is_past_headers ]] + then + echo "$line" + continue + fi + + if [[ "$line" =~ ^link:.*page=([0-9]+).*\>\;\ rel=\"next\" ]] + then + next_page="${BASH_REMATCH[1]}" + continue + fi + + # Start of actual JSON, flag it. + if [[ "$line" =~ ^\[ ]] + then + is_past_headers=1 + echo "$line" + fi + + continue + done + + if [[ -n $next_page ]] + then + get-page "$next_page" + fi +} + +# Paginated results are in separate arrays, +# so slurp them into one for a more uniform experience. +slurp-into-one-array() { + command jq -s '[.[][]]' +} + +# Filter out only repositories that are prefixed with $PREFIX +filter-prefix() { + local prefix="$PREFIX" + + # command jq "[.[] | select(.name | startswith(\"$PREFIX\"))]" + command jq --arg prefix "$prefix" 'map(select(.name | startswith($prefix)))' +} + +# Filter out only repositories that have a non-zero size +# Repos with no commits have zero size. +filter-size() { + command jq 'map(select(.size > 0))' +} + +main() { + # Start from page 1. + get-page 1 \ + | slurp-into-one-array \ + | filter-prefix \ + | filter-size +} + +main "$@" diff --git a/scripts/get-all-doc-paths-of-type b/scripts/get-all-doc-paths-of-type new file mode 100755 index 0000000..9134d92 --- /dev/null +++ b/scripts/get-all-doc-paths-of-type @@ -0,0 +1,259 @@ +#!/usr/bin/env bash + +# Get all adoc paths of a certain :doctype: and :mn-document-class: in a +# directory +# (default: src-documents) +# + + +log() { + printf "[$(date +'%Y-%m-%dT%H:%M:%S%z')]: %b\n" "$*" +} >&2 + +err() { + printf "[$(date +'%Y-%m-%dT%H:%M:%S%z')]: \e[1;31mError:\e[m %b\n" "$*" +} >&2 + +ecdo() { + log "Running: $*" + "$@" +} + +DOC_TYPE="${DOC_TYPE:-}" +DOC_CLASS="${DOC_CLASS:-}" +FAILED_ADOCS=() +SUCCESS_ADOCS=() +ADOC_REFERENCES=() + +print-summary() { + if [[ -z "${DOC_TYPE}" || -z "${DOC_CLASS}" ]] + then + show_usage + return + fi + + local readable_docs=$(( ${#ADOC_REFERENCES[@]} - ${#FAILED_ADOCS[@]} )) + + log "There are \e[1m${#ADOC_REFERENCES[@]}\e[m documents in total." + log "Successfully picked \e[1m${#SUCCESS_ADOCS[@]}\e[m out of \e[1m${readable_docs}\e[m readable documents that are of :mn-document-class: \e[1m${DOC_CLASS}\e[m and :doctype: \e[1m${DOC_TYPE}\e[m." + if [[ "${#FAILED_ADOCS[@]}" -gt 0 ]] + then + err "Failed to process \e[1m${#FAILED_ADOCS[@]}\e[m documents:" + for failure in "${FAILED_ADOCS[@]}" + do + err " ${failure}" + done + fi +} + +trap print-summary EXIT + +METANORMA_YAML_PATHS=() + +get-all-metanorma-yaml-paths() { + local src_dir="${1:?Missing source directory}" + + while read -r yml + do + METANORMA_YAML_PATHS+=("$yml") + done < <(find "$src_dir" -type f -name 'metanorma.y*ml') + + log "Found ${#METANORMA_YAML_PATHS[@]} metanorma YAML files" +} + +get-all-sources-from-metanorma-yaml() { + local yml="${1:?Missing metanorma YAML file}" + local path_prefix="${yml%/*}" + + # log "pathPrefix is $pathPrefix" + # Only proceed if 'files' is not null (should be an array) + <"$yml" yq -r ".metanorma.source.files | select(null != .) | map(\"${path_prefix}/\" + .)" + +} + +get-all-sources-from-metanorma-yamls() { + for yml in "${METANORMA_YAML_PATHS[@]}" + do + get-all-sources-from-metanorma-yaml "$yml" + done +} + +# Only search within the first n lines of the document +DOC_SEARCH_FIRST_N_LINES="${DOC_SEARCH_FIRST_N_LINES:-100}" + +COMMON_DOC_TYPES=( + standard + directive + guide + specification + report + amendment + technical-corrigendum + administrative + international-standard + internet-draft + advisory +) + +# See: https://github.com/CalConnect/VCARD/blob/4d17cb269cbe48cff9603d293e1374bc81fba7f1/presentations/20180926-calconnect-mn-authoring/index.adoc?plain=1#L220 + +# :doctype: can be standard, directive, guide, specification, report, +# amendment, technical-corrigendum. +# +# But these are also seen in the wild: +# administrative | international-standard | internet-draft | advisory +# +doc-is-of-doc-type() { + local doc="${1:?Missing asciidoc path}" + local doc_type="${2:?Missing doctype: standard | directive | guide | specification | report | amendment | technical-corrigendum | administrative | international-standard | internet-draft | advisory}" + + <"$doc" \ + head -n "${DOC_SEARCH_FIRST_N_LINES}" \ + | grep -q ":doctype: $doc_type" +} + +doc-is-of-doc-class() { + local doc="${1:?Missing asciidoc path}" + local doc_class="${2:?Missing mn-document-class}" + + <"$doc" \ + head -n "${DOC_SEARCH_FIRST_N_LINES}" \ + | grep -q ":mn-document-class: $doc_class" +} + +doc-is-of-common-doc_types() { + local doc="${1:?Missing asciidoc path}" + + for doc_type in "${COMMON_DOC_TYPES[@]}" + do + if doc-is-of-doc-type "$doc" "$doc_type" + then + return 0 + fi + done + + local actual_doc_type + actual_doc_type=$( + <"$doc" head -n "${DOC_SEARCH_FIRST_N_LINES}" \ + | grep ":doctype:" \ + | cut -d' ' -f2- + ) + + err "Document $doc is not of any common doc types, got \`$actual_doc_type'." + err "List of common doc types: ${COMMON_DOC_TYPES[*]}" + + return 1 +} + +# Paginated results are in separate arrays, +# so slurp them into one for a more uniform experience. +slurp-into-one-list() { + command jq -s -r '[.[][]] | .[]' +} + +# Filter out all the documents that are of a certain :mn-document-class: +# and a certain :doctype:. +filter-docs() { + local doc + + for doc in "${ADOC_REFERENCES[@]}" + do + if [[ -r "${doc}" ]] + then + if filter-doc "$doc" + then + SUCCESS_ADOCS+=("$doc") + echo "$doc" + fi + else + err "Document $doc is not readable" + FAILED_ADOCS+=("$doc") + fi + done +} + + + +# If $DOC_CLASS is set, only include documents that are of that :mn-document-class:. +# If $DOC_TYPE is set, only include documents that are of that :doctype:. +filter-doc() { + local doc="${1:?Missing asciidoc path}" + + if [[ -n "${DOC_CLASS}" ]] && \ + ! doc-is-of-doc-class "$doc" "${DOC_CLASS}" + then + return 1 + fi + + if [[ -n "${DOC_TYPE}" ]] && \ + ! doc-is-of-doc-type "$doc" "${DOC_TYPE}" + then + return 1 + fi + + return 0 +} + +# Bookkeeping +record-adoc-references() { + while read -r line + do + ADOC_REFERENCES+=("$line") + done < <( get-all-sources-from-metanorma-yamls \ + | slurp-into-one-list + ) +} + +show_usage() { + cat < 0 + err(*args) + end + exit 1 +end + +# By default, the fingerprint does not depend on hash_files nor the script +# itself, so as to keep the hash stable. +# But it can be configured (by $HASH_META) to depend on them. +@dependencies = [] + +META_HASH = ENV['HASH_META'] || '' +if META_HASH != 'false' && + ! META_HASH.empty? + + @dependencies << HASH_FILES_BIN + @dependencies << $0 +end + +# If we are running in a GitHub workflow, add the workflow file as a +# dependency. +if ENV['GITHUB_WORKFLOW_REF'].kind_of? String + + # Extract relative path for the workflow file + @dependencies << ENV['GITHUB_WORKFLOW_REF'] + .sub(%r{^.*(\.github/workflows)}, '\1') + .sub(%r{@refs/.*$}, '') +end + +RUBY_DEPENDENCIES = %w( + .tool-versions + Gemfile + Gemfile.lock +) + +METANORMA_DEPENDENCIES = [] + RUBY_DEPENDENCIES + +JEKYLL_DEPENDENCIES = RUBY_DEPENDENCIES + %w( + favicon.ico + favicon.png + robots.txt + _includes + _input + _layouts + _pages + _sass + assets + fonts + iev + js + pubdocs + relaton +) + +def get_fingerprint(*segments) + segments.join('-') +end + +def parse_command(args) + case args[0] + when 'jekyll' then + args.shift + + jekyll_yaml = args[0] || ENV['JEKYLL_YAML'] || 'config.yml' + if ! File.readable?(jekyll_yaml) + die "#{jekyll_yaml} not found or not readable." + end + + @dependencies << jekyll_yaml + @dependencies += JEKYLL_DEPENDENCIES + + puts get_fingerprint( + 'jekyll', + hash_files(@dependencies), + ) + + when 'metanorma' then + args.shift + + metanorma_yaml = args[0] || ENV['METANORMA_YAML'] || 'metanorma.yml' + if ! File.readable?(metanorma_yaml) + die "#{metanorma_yaml} not found or not readable." + end + + @dependencies << metanorma_yaml + @dependencies += METANORMA_DEPENDENCIES + + require 'yaml' + loaded_yaml = YAML.load_file(metanorma_yaml) + + # Look under `metanorma.source.files` for dependencies + @dependencies += loaded_yaml.dig('metanorma', 'source', 'files') || [] + + # Look under `metanorma.template` for dependencies + %w(path stylesheet).each do |template_data_key| + template_data = loaded_yaml.dig('metanorma', 'template', template_data_key) + @dependencies << template_data if ! template_data.nil? + end + + puts get_fingerprint( + 'metanorma', + hash_files(@dependencies), + ) + + when 'version' then + puts "#{$0} v#{VERSION}" + exit + else + print_usage + die + # ??? + end +end + + +def hash_files(args) + require 'open3' + stdout_str, stderr_str, status = Open3.capture3(HASH_FILES_BIN, *args) + + # Re-echo stderr + STDERR.puts stderr_str + stdout_str +end + +def print_usage + STDERR.puts <<~EOF + Usage: #{$0} jekyll PATH/TO/CONFIG.YML + #{$0} metanorma PATH/TO/METANORMA.YML + #{$0} version + EOF +end + + +# Reads metanorma.yml to get a list of file dependencies. +def main(args) + parse_command(args) +end + +main ARGV diff --git a/scripts/repopulate-metanorma-yaml b/scripts/repopulate-metanorma-yaml new file mode 100755 index 0000000..5b2f47e --- /dev/null +++ b/scripts/repopulate-metanorma-yaml @@ -0,0 +1,118 @@ +#!/usr/bin/env bash + +# Given: +# +# :doctype:, +# :mn-document-class:, +# path to metanorma adoc files, +# a target metanorma YAML file, +# +# populate the YAML's `metanorma.source.files` with a list of adoc file paths +# that are of the specified `:mn-document-class:` and `:doctype:`. +# + + +log() { + printf "[$(date +'%Y-%m-%dT%H:%M:%S%z')]: %b\n" "$*" +} >&2 + +err() { + printf "[$(date +'%Y-%m-%dT%H:%M:%S%z')]: \e[1;31mError:\e[m %b\n" "$*" +} >&2 + +ecdo() { + log "Running: $*" + "$@" +} + +DOC_TYPE="${DOC_TYPE:-}" +DOC_CLASS="${DOC_CLASS:-}" + +show_usage() { + cat <<'EOF' +Usage: $0 SUBDIR TARGET_YAML + + Populate the YAML's `metanorma.source.files` with a list of adoc file paths + that are of the specified `:mn-document-class:` and `:doctype:`. + +Parameters: + SUBDIR The directory to search for metanorma YAML files + (default: src-documents) + + TARGET_YAML The metanorma YAML file where its `metanorma.source.files` + is to be populated with the list of adoc file paths + (relative to the metanorma YAML file). + +Mandatory environment variables: + DOC_TYPE The :doctype: to filter by + DOC_CLASS The :mn-document-class: to filter by + +EOF + +} + +# Populate the target YAML file with the list of adoc file paths +populate-target-yaml() { + local target="$1" + local adocs_json + + local tmp_file + tmp_file=$(mktemp) + + adocs_json=$(scripts/get-all-doc-paths-of-type "${subdir}" "${DOC_TYPE}" "${DOC_CLASS}" | jq -R . | jq -s .) + + # Add the adoc file paths to the target + yq \ + --argjson d "$adocs_json" \ + '.metanorma.source.files = $d' \ + "${target}" \ + --yaml-roundtrip > "${tmp_file}" + + mv "${tmp_file}" "${target}" +} + +main() { + local subdir="${1:-src-documents}" + local target="${2:?Missing target metanorma YAML file}" + + DOC_TYPE="${DOC_TYPE-administrative}" + DOC_CLASS="${DOC_CLASS-cc}" + + log "DOC_TYPE is ${DOC_TYPE}" + log "DOC_CLASS is ${DOC_CLASS}" + + if [[ "$1" == "-h" || "$1" == "--help" ]] + then + show_usage + exit 0 + fi + + if [[ ! -d "${subdir}" ]] + then + err "Directory ${subdir} does not exist" + exit 1 + fi + + if [[ -z "${DOC_TYPE:-}" ]] + then + err "DOC_TYPE is not set" + exit 1 + fi + + if [[ -z "${DOC_CLASS:-}" ]] + then + err "DOC_CLASS is not set" + exit 1 + fi + + if [[ ! -r "${target}" ]] + then + err "Target file ${target} is not readable." + exit 1 + fi + + populate-target-yaml "${target}" + # scripts/get-all-doc-paths-of-type +} + +main "$@" diff --git a/src-documents/cc-admin-documents b/src-documents/cc-admin-documents new file mode 160000 index 0000000..977fe66 --- /dev/null +++ b/src-documents/cc-admin-documents @@ -0,0 +1 @@ +Subproject commit 977fe66e69b58aea0ab07a9718f144562254b50e diff --git a/src-documents/cc-cal-resource-vcard b/src-documents/cc-cal-resource-vcard new file mode 160000 index 0000000..1ed7b1d --- /dev/null +++ b/src-documents/cc-cal-resource-vcard @@ -0,0 +1 @@ +Subproject commit 1ed7b1d846179c6a621d14310c3a905306ab5cec diff --git a/src-documents/cc-caldav-attachments b/src-documents/cc-caldav-attachments new file mode 160000 index 0000000..8807716 --- /dev/null +++ b/src-documents/cc-caldav-attachments @@ -0,0 +1 @@ +Subproject commit 88077167001ce0222f1618244506dd5dfedd8bc5 diff --git a/src-documents/cc-caldav-audit b/src-documents/cc-caldav-audit new file mode 160000 index 0000000..2907d28 --- /dev/null +++ b/src-documents/cc-caldav-audit @@ -0,0 +1 @@ +Subproject commit 2907d287327b2d5eeba97dbf3c54b46b13d80f7c diff --git a/src-documents/cc-caldav-sync b/src-documents/cc-caldav-sync new file mode 160000 index 0000000..c9cc00d --- /dev/null +++ b/src-documents/cc-caldav-sync @@ -0,0 +1 @@ +Subproject commit c9cc00df4b16f53932db74dea3b7622228152bb2 diff --git a/src-documents/cc-calendar-dev-resources b/src-documents/cc-calendar-dev-resources new file mode 160000 index 0000000..71a1b09 --- /dev/null +++ b/src-documents/cc-calendar-dev-resources @@ -0,0 +1 @@ +Subproject commit 71a1b098a8e5286f024e73d2e22a85d8ec9a56f1 diff --git a/src-documents/cc-calendar-systems b/src-documents/cc-calendar-systems new file mode 160000 index 0000000..054333e --- /dev/null +++ b/src-documents/cc-calendar-systems @@ -0,0 +1 @@ +Subproject commit 054333e5b29470cde8e862e155a38ad93986d651 diff --git a/src-documents/cc-calendar-vocab b/src-documents/cc-calendar-vocab new file mode 160000 index 0000000..b70a57e --- /dev/null +++ b/src-documents/cc-calendar-vocab @@ -0,0 +1 @@ +Subproject commit b70a57e4fea8a16bee19c0d5b2199f153be2cf5f diff --git a/src-documents/cc-calspam-bcp b/src-documents/cc-calspam-bcp new file mode 160000 index 0000000..af6379a --- /dev/null +++ b/src-documents/cc-calspam-bcp @@ -0,0 +1 @@ +Subproject commit af6379aa225a9c01e20755fe3d9d829930d7a6f3 diff --git a/src-documents/cc-citation-models b/src-documents/cc-citation-models new file mode 160000 index 0000000..a801349 --- /dev/null +++ b/src-documents/cc-citation-models @@ -0,0 +1 @@ +Subproject commit a8013494c605003def7afc2219c0cde086dfabff diff --git a/src-documents/cc-collection-query b/src-documents/cc-collection-query new file mode 160000 index 0000000..06dd720 --- /dev/null +++ b/src-documents/cc-collection-query @@ -0,0 +1 @@ +Subproject commit 06dd720dd05553761349e1c6e59e9594557097b1 diff --git a/src-documents/cc-datetime-explicit b/src-documents/cc-datetime-explicit new file mode 160000 index 0000000..dd85374 --- /dev/null +++ b/src-documents/cc-datetime-explicit @@ -0,0 +1 @@ +Subproject commit dd85374f0af6ed02b6f75b02afb495fb7eff4b1e diff --git a/src-documents/cc-dav-push b/src-documents/cc-dav-push new file mode 160000 index 0000000..5d11327 --- /dev/null +++ b/src-documents/cc-dav-push @@ -0,0 +1 @@ +Subproject commit 5d11327dda15f9e366399ac4b57df1812dfaa6ae diff --git a/src-documents/cc-digital-addresses b/src-documents/cc-digital-addresses new file mode 160000 index 0000000..d1d0aa9 --- /dev/null +++ b/src-documents/cc-digital-addresses @@ -0,0 +1 @@ +Subproject commit d1d0aa9db233dfc9250babb20b794da3adf0452b diff --git a/src-documents/cc-directive-document-requirements b/src-documents/cc-directive-document-requirements new file mode 160000 index 0000000..4b72cce --- /dev/null +++ b/src-documents/cc-directive-document-requirements @@ -0,0 +1 @@ +Subproject commit 4b72cce6560de3cc17a312551d0f12933f7fb608 diff --git a/src-documents/cc-directive-ipr-guidelines b/src-documents/cc-directive-ipr-guidelines new file mode 160000 index 0000000..7a1d7f0 --- /dev/null +++ b/src-documents/cc-directive-ipr-guidelines @@ -0,0 +1 @@ +Subproject commit 7a1d7f065341d2a35b34a6bc4fedee9e883da7d1 diff --git a/src-documents/cc-directive-ipr-policy b/src-documents/cc-directive-ipr-policy new file mode 160000 index 0000000..af7b94f --- /dev/null +++ b/src-documents/cc-directive-ipr-policy @@ -0,0 +1 @@ +Subproject commit af7b94fc0f4b29decdd4961085701dc663b9f272 diff --git a/src-documents/cc-directive-patent-policy b/src-documents/cc-directive-patent-policy new file mode 160000 index 0000000..6721279 --- /dev/null +++ b/src-documents/cc-directive-patent-policy @@ -0,0 +1 @@ +Subproject commit 67212791fcb244c874d8fe1c5526643e4e0ccc29 diff --git a/src-documents/cc-directive-standardization-publication b/src-documents/cc-directive-standardization-publication new file mode 160000 index 0000000..55f1454 --- /dev/null +++ b/src-documents/cc-directive-standardization-publication @@ -0,0 +1 @@ +Subproject commit 55f1454d3e5f970e6033cdbf17fcf398d7f233c9 diff --git a/src-documents/cc-documents-register b/src-documents/cc-documents-register new file mode 160000 index 0000000..1165181 --- /dev/null +++ b/src-documents/cc-documents-register @@ -0,0 +1 @@ +Subproject commit 1165181e274428ec6f91411d470d08e6a9cf6d28 diff --git a/src-documents/cc-dst-recommendations b/src-documents/cc-dst-recommendations new file mode 160000 index 0000000..f7789ee --- /dev/null +++ b/src-documents/cc-dst-recommendations @@ -0,0 +1 @@ +Subproject commit f7789ee87a66ad0426407e9a3bd5d61b20edfc8a diff --git a/src-documents/cc-event-publishing-extensions b/src-documents/cc-event-publishing-extensions new file mode 160000 index 0000000..296775b --- /dev/null +++ b/src-documents/cc-event-publishing-extensions @@ -0,0 +1 @@ +Subproject commit 296775b34fbf02dea4da56a58a14476d359bd426 diff --git a/src-documents/cc-event-uri b/src-documents/cc-event-uri new file mode 160000 index 0000000..a4ad03e --- /dev/null +++ b/src-documents/cc-event-uri @@ -0,0 +1 @@ +Subproject commit a4ad03eb10c0dca5c9ea78750d2ec34bc70cb000 diff --git a/src-documents/cc-general-recurrence b/src-documents/cc-general-recurrence new file mode 160000 index 0000000..b238011 --- /dev/null +++ b/src-documents/cc-general-recurrence @@ -0,0 +1 @@ +Subproject commit b238011dfa9da54c2dcb2d456f1de670403687b2 diff --git a/src-documents/cc-iTip-rewrite b/src-documents/cc-iTip-rewrite new file mode 160000 index 0000000..78817c3 --- /dev/null +++ b/src-documents/cc-iTip-rewrite @@ -0,0 +1 @@ +Subproject commit 78817c3b8577281b15c568d2b21fee6442bc82b9 diff --git a/src-documents/cc-ical-relations b/src-documents/cc-ical-relations new file mode 160000 index 0000000..916223f --- /dev/null +++ b/src-documents/cc-ical-relations @@ -0,0 +1 @@ +Subproject commit 916223fac396ff8537cc4f46e84de144ff3b25ce diff --git a/src-documents/cc-ical-tasks b/src-documents/cc-ical-tasks new file mode 160000 index 0000000..13a0901 --- /dev/null +++ b/src-documents/cc-ical-tasks @@ -0,0 +1 @@ +Subproject commit 13a0901a52fef11fb6f850020598387cec95bbd0 diff --git a/src-documents/cc-icalendar-patch b/src-documents/cc-icalendar-patch new file mode 160000 index 0000000..10e5484 --- /dev/null +++ b/src-documents/cc-icalendar-patch @@ -0,0 +1 @@ +Subproject commit 10e54844f8de88a736ceebbc72270d7117feed30 diff --git a/src-documents/cc-icalendar-series b/src-documents/cc-icalendar-series new file mode 160000 index 0000000..7abc752 --- /dev/null +++ b/src-documents/cc-icalendar-series @@ -0,0 +1 @@ +Subproject commit 7abc752eeb4c726530a1dd37e2cd1f4bd92347e0 diff --git a/src-documents/cc-icalendar-vinstance b/src-documents/cc-icalendar-vinstance new file mode 160000 index 0000000..144bd6c --- /dev/null +++ b/src-documents/cc-icalendar-vinstance @@ -0,0 +1 @@ +Subproject commit 144bd6c3c2a5ce9942c4b53f6ba025b7085bc46f diff --git a/src-documents/cc-ischedule b/src-documents/cc-ischedule new file mode 160000 index 0000000..3961aa5 --- /dev/null +++ b/src-documents/cc-ischedule @@ -0,0 +1 @@ +Subproject commit 3961aa52e737eb41e2826c9cd175ecca1eade861 diff --git a/src-documents/cc-iso-psdo-agreement b/src-documents/cc-iso-psdo-agreement new file mode 160000 index 0000000..3e5593f --- /dev/null +++ b/src-documents/cc-iso-psdo-agreement @@ -0,0 +1 @@ +Subproject commit 3e5593f6f04c4d8f7417e098decd40ef1ee4d085 diff --git a/src-documents/cc-itip-participants b/src-documents/cc-itip-participants new file mode 160000 index 0000000..d5b0555 --- /dev/null +++ b/src-documents/cc-itip-participants @@ -0,0 +1 @@ +Subproject commit d5b055535dc9923a69f0e0f27f22ac7460c25b8e diff --git a/src-documents/cc-jscalendar b/src-documents/cc-jscalendar new file mode 160000 index 0000000..83a91ec --- /dev/null +++ b/src-documents/cc-jscalendar @@ -0,0 +1 @@ +Subproject commit 83a91ecbb91f70ebca4b33bc40109c6b921fbe9e diff --git a/src-documents/cc-jscontact b/src-documents/cc-jscontact new file mode 160000 index 0000000..c3e1f99 --- /dev/null +++ b/src-documents/cc-jscontact @@ -0,0 +1 @@ +Subproject commit c3e1f996d81cc554fd86e7adb7bb0efcc554d8c3 diff --git a/src-documents/cc-lightweight-doc b/src-documents/cc-lightweight-doc new file mode 160000 index 0000000..39995d4 --- /dev/null +++ b/src-documents/cc-lightweight-doc @@ -0,0 +1 @@ +Subproject commit 39995d44913bec8dd4fcf723a6c18ac6141a2c65 diff --git a/src-documents/cc-presentation-framework b/src-documents/cc-presentation-framework new file mode 160000 index 0000000..edc0bc7 --- /dev/null +++ b/src-documents/cc-presentation-framework @@ -0,0 +1 @@ +Subproject commit edc0bc7ea72e89b2aefecd5533b4a262f2337119 diff --git a/src-documents/cc-server-info b/src-documents/cc-server-info new file mode 160000 index 0000000..5fae9f9 --- /dev/null +++ b/src-documents/cc-server-info @@ -0,0 +1 @@ +Subproject commit 5fae9f912b57cadf12fc037384c8bfc1af41dab4 diff --git a/src-documents/cc-serverside-subscriptions b/src-documents/cc-serverside-subscriptions new file mode 160000 index 0000000..f2916c2 --- /dev/null +++ b/src-documents/cc-serverside-subscriptions @@ -0,0 +1 @@ +Subproject commit f2916c26abbaa77be00f21b0711a9e18676ccfe6 diff --git a/src-documents/cc-standard-doc b/src-documents/cc-standard-doc new file mode 160000 index 0000000..b920901 --- /dev/null +++ b/src-documents/cc-standard-doc @@ -0,0 +1 @@ +Subproject commit b9209013dc89fa5d38fd597d0a5c1a65601cbb0e diff --git a/src-documents/cc-streaming-cal-contacts-data b/src-documents/cc-streaming-cal-contacts-data new file mode 160000 index 0000000..f224725 --- /dev/null +++ b/src-documents/cc-streaming-cal-contacts-data @@ -0,0 +1 @@ +Subproject commit f224725dd5e26c30956b5219ae9efa69dae185c5 diff --git a/src-documents/cc-subscription-upgrade b/src-documents/cc-subscription-upgrade new file mode 160000 index 0000000..abcea5b --- /dev/null +++ b/src-documents/cc-subscription-upgrade @@ -0,0 +1 @@ +Subproject commit abcea5be384f418ee22db61757bf6c40fb59c218 diff --git a/src-documents/cc-transcription-systems b/src-documents/cc-transcription-systems new file mode 160000 index 0000000..5b424d0 --- /dev/null +++ b/src-documents/cc-transcription-systems @@ -0,0 +1 @@ +Subproject commit 5b424d0bf58bcc54d27181634746da93007afbd8 diff --git a/src-documents/cc-useful-alarm-extensions b/src-documents/cc-useful-alarm-extensions new file mode 160000 index 0000000..257c6cd --- /dev/null +++ b/src-documents/cc-useful-alarm-extensions @@ -0,0 +1 @@ +Subproject commit 257c6cd6eb3fa8abd6492503c739a1ee02e1f64e diff --git a/src-documents/cc-valarm-extensions b/src-documents/cc-valarm-extensions new file mode 160000 index 0000000..14f2c6c --- /dev/null +++ b/src-documents/cc-valarm-extensions @@ -0,0 +1 @@ +Subproject commit 14f2c6ceaada8cd2c04ec501eb6ed0cface81931 diff --git a/src-documents/cc-vcard-objectclass b/src-documents/cc-vcard-objectclass new file mode 160000 index 0000000..946346d --- /dev/null +++ b/src-documents/cc-vcard-objectclass @@ -0,0 +1 @@ +Subproject commit 946346d315fa8a18f9c87e03ebb388e766d26b9c diff --git a/src-documents/cc-vcard-schedulable b/src-documents/cc-vcard-schedulable new file mode 160000 index 0000000..296d93b --- /dev/null +++ b/src-documents/cc-vcard-schedulable @@ -0,0 +1 @@ +Subproject commit 296d93b77f320a2c20b6c58e3d570bafc7c2c9a6 diff --git a/src-documents/cc-vobject-i18n b/src-documents/cc-vobject-i18n new file mode 160000 index 0000000..42c4b24 --- /dev/null +++ b/src-documents/cc-vobject-i18n @@ -0,0 +1 @@ +Subproject commit 42c4b24eebfa198b6ce0d785d9d7fe115bb0457a diff --git a/src-documents/cc-vobject-integrity b/src-documents/cc-vobject-integrity new file mode 160000 index 0000000..05a11d4 --- /dev/null +++ b/src-documents/cc-vobject-integrity @@ -0,0 +1 @@ +Subproject commit 05a11d47b22e849bba988abc17c8c9c4d2784a94 diff --git a/src-documents/cc-vobject-vformat b/src-documents/cc-vobject-vformat new file mode 160000 index 0000000..2d8d4bb --- /dev/null +++ b/src-documents/cc-vobject-vformat @@ -0,0 +1 @@ +Subproject commit 2d8d4bbafd7ed5f3a279f224c6c89ab264a504cd diff --git a/src-documents/cc-vpatch b/src-documents/cc-vpatch new file mode 160000 index 0000000..a11f342 --- /dev/null +++ b/src-documents/cc-vpatch @@ -0,0 +1 @@ +Subproject commit a11f342e5985b212ba74fc8c7f3aecc30546be0d diff --git a/src-documents/cc-vpath b/src-documents/cc-vpath new file mode 160000 index 0000000..b6d4b1c --- /dev/null +++ b/src-documents/cc-vpath @@ -0,0 +1 @@ +Subproject commit b6d4b1ca7425c16287db32ab813f6fce1c0ab4c8 diff --git a/src-documents/cc-vpoll b/src-documents/cc-vpoll new file mode 160000 index 0000000..71c3318 --- /dev/null +++ b/src-documents/cc-vpoll @@ -0,0 +1 @@ +Subproject commit 71c33182490c8e5c4cdf13647460826b47b1ad02 diff --git a/src-documents/cc-wto-tbt-principles b/src-documents/cc-wto-tbt-principles new file mode 160000 index 0000000..97195bb --- /dev/null +++ b/src-documents/cc-wto-tbt-principles @@ -0,0 +1 @@ +Subproject commit 97195bb41f3190e3276433600e81bcd8609dab61