From 873d4acfaaa4909906a0074e1e6cf6d05a0da0f8 Mon Sep 17 00:00:00 2001 From: Sylvain Boissel Date: Tue, 7 Jan 2025 15:39:02 +0100 Subject: [PATCH] =?UTF-8?q?Ajout=20d=E2=80=98une=20fonction=20permettant?= =?UTF-8?q?=20d=E2=80=99acc=C3=A9der=20au=20num=C3=A9ro=20de=20version=20d?= =?UTF-8?q?u=20DSFR=20depuis=20le=20code=20(#198)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add a function to access the DSFR version number from code * Update doc * typographic consistency --- dsfr/management/commands/make_icon_picker_files.py | 4 +++- .../assets/icons-libraries/dsfr-buildings.json | 2 +- .../icon-picker/assets/icons-libraries/dsfr-business.json | 2 +- .../assets/icons-libraries/dsfr-communication.json | 2 +- .../icon-picker/assets/icons-libraries/dsfr-design.json | 2 +- .../assets/icons-libraries/dsfr-development.json | 2 +- .../icon-picker/assets/icons-libraries/dsfr-device.json | 2 +- .../icon-picker/assets/icons-libraries/dsfr-document.json | 2 +- .../icon-picker/assets/icons-libraries/dsfr-editor.json | 2 +- .../icon-picker/assets/icons-libraries/dsfr-finance.json | 2 +- .../icon-picker/assets/icons-libraries/dsfr-health.json | 2 +- .../icon-picker/assets/icons-libraries/dsfr-logo.json | 2 +- .../icon-picker/assets/icons-libraries/dsfr-map.json | 2 +- .../icon-picker/assets/icons-libraries/dsfr-media.json | 2 +- .../icon-picker/assets/icons-libraries/dsfr-others.json | 2 +- .../icon-picker/assets/icons-libraries/dsfr-system.json | 2 +- .../icon-picker/assets/icons-libraries/dsfr-user.json | 2 +- .../icon-picker/assets/icons-libraries/dsfr-weather.json | 2 +- dsfr/static/dsfr/dsfr_version | 1 + dsfr/utils.py | 7 +++++++ example_app/templates/example_app/index.html | 8 +++----- example_app/views.py | 3 ++- pyproject.toml | 2 +- scripts/download_latest.sh | 3 +++ 24 files changed, 37 insertions(+), 25 deletions(-) create mode 100644 dsfr/static/dsfr/dsfr_version diff --git a/dsfr/management/commands/make_icon_picker_files.py b/dsfr/management/commands/make_icon_picker_files.py index 8b2e2d6a3..37137f2d5 100644 --- a/dsfr/management/commands/make_icon_picker_files.py +++ b/dsfr/management/commands/make_icon_picker_files.py @@ -2,6 +2,8 @@ import json import os +from dsfr.utils import dsfr_version + class Command(BaseCommand): help = "Add some initial sample data for the example app." @@ -20,7 +22,7 @@ def handle(self, *args, **options): for folder in icons_folders: icons_dict = { "prefix": "fr-icon-", - "version": "1.11.2", + "version": dsfr_version(), "icons": [], } diff --git a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-buildings.json b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-buildings.json index 3df2635d6..c43b9fda4 100644 --- a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-buildings.json +++ b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-buildings.json @@ -1 +1 @@ -{"prefix": "fr-icon-", "version": "1.11.2", "icons": ["ancient-gate-fill", "ancient-gate-line", "ancient-pavilion-fill", "ancient-pavilion-line", "bank-fill", "bank-line", "building-fill", "building-line", "community-fill", "community-line", "government-fill", "government-line", "home-4-fill", "home-4-line", "hospital-fill", "hospital-line", "hotel-fill", "hotel-line", "store-fill", "store-line"], "icon-style": "dsfr-buildings", "list-label": "DSFR Buildings"} +{"prefix": "fr-icon-", "version": "v1.13.0", "icons": ["ancient-gate-fill", "ancient-gate-line", "ancient-pavilion-fill", "ancient-pavilion-line", "bank-fill", "bank-line", "building-fill", "building-line", "community-fill", "community-line", "government-fill", "government-line", "home-4-fill", "home-4-line", "hospital-fill", "hospital-line", "hotel-fill", "hotel-line", "store-fill", "store-line"], "icon-style": "dsfr-buildings", "list-label": "DSFR Buildings"} diff --git a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-business.json b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-business.json index cfbebd17e..a3051de93 100644 --- a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-business.json +++ b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-business.json @@ -1 +1 @@ -{"prefix": "fr-icon-", "version": "1.11.2", "icons": ["archive-fill", "archive-line", "attachment-fill", "attachment-line", "award-fill", "award-line", "bar-chart-box-fill", "bar-chart-box-line", "bookmark-fill", "bookmark-line", "briefcase-fill", "briefcase-line", "calendar-2-fill", "calendar-2-line", "calendar-event-fill", "calendar-event-line", "calendar-fill", "calendar-line", "cloud-fill", "cloud-line", "copyright-fill", "copyright-line", "customer-service-fill", "customer-service-line", "flag-fill", "flag-line", "global-fill", "global-line", "line-chart-fill", "line-chart-line", "links-fill", "links-line", "mail-fill", "mail-line", "mail-open-fill", "mail-open-line", "medal-fill", "medal-line", "pie-chart-2-fill", "pie-chart-2-line", "pie-chart-box-fill", "pie-chart-box-line", "printer-fill", "printer-line", "profil-fill", "profil-line", "projector-2-fill", "projector-2-line", "send-plane-fill", "send-plane-line", "slideshow-fill", "slideshow-line", "window-fill", "window-line"], "icon-style": "dsfr-business", "list-label": "DSFR Business"} +{"prefix": "fr-icon-", "version": "v1.13.0", "icons": ["archive-fill", "archive-line", "attachment-fill", "attachment-line", "award-fill", "award-line", "bar-chart-box-fill", "bar-chart-box-line", "bookmark-fill", "bookmark-line", "briefcase-fill", "briefcase-line", "calendar-2-fill", "calendar-2-line", "calendar-event-fill", "calendar-event-line", "calendar-fill", "calendar-line", "cloud-fill", "cloud-line", "copyright-fill", "copyright-line", "customer-service-fill", "customer-service-line", "flag-fill", "flag-line", "global-fill", "global-line", "line-chart-fill", "line-chart-line", "links-fill", "links-line", "mail-fill", "mail-line", "mail-open-fill", "mail-open-line", "medal-fill", "medal-line", "pie-chart-2-fill", "pie-chart-2-line", "pie-chart-box-fill", "pie-chart-box-line", "printer-fill", "printer-line", "profil-fill", "profil-line", "projector-2-fill", "projector-2-line", "send-plane-fill", "send-plane-line", "slideshow-fill", "slideshow-line", "window-fill", "window-line"], "icon-style": "dsfr-business", "list-label": "DSFR Business"} diff --git a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-communication.json b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-communication.json index d622cba6c..e62a2de51 100644 --- a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-communication.json +++ b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-communication.json @@ -1 +1 @@ -{"prefix": "fr-icon-", "version": "1.11.2", "icons": ["chat-2-fill", "chat-2-line", "chat-3-fill", "chat-3-line", "chat-check-fill", "chat-check-line", "chat-delete-fill", "chat-delete-line", "chat-poll-fill", "chat-poll-line", "discuss-fill", "discuss-line", "feedback-fill", "feedback-line", "message-2-fill", "message-2-line", "question-answer-fill", "question-answer-line", "questionnaire-fill", "questionnaire-line", "video-chat-fill", "video-chat-line"], "icon-style": "dsfr-communication", "list-label": "DSFR Communication"} +{"prefix": "fr-icon-", "version": "v1.13.0", "icons": ["chat-2-fill", "chat-2-line", "chat-3-fill", "chat-3-line", "chat-check-fill", "chat-check-line", "chat-delete-fill", "chat-delete-line", "chat-poll-fill", "chat-poll-line", "discuss-fill", "discuss-line", "feedback-fill", "feedback-line", "message-2-fill", "message-2-line", "question-answer-fill", "question-answer-line", "questionnaire-fill", "questionnaire-line", "video-chat-fill", "video-chat-line"], "icon-style": "dsfr-communication", "list-label": "DSFR Communication"} diff --git a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-design.json b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-design.json index 80f290a3d..dca8ea160 100644 --- a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-design.json +++ b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-design.json @@ -1 +1 @@ -{"prefix": "fr-icon-", "version": "1.11.2", "icons": ["ball-pen-fill", "ball-pen-line", "brush-3-fill", "brush-3-line", "brush-fill", "brush-line", "contrast-fill", "contrast-line", "crop-fill", "crop-line", "drag-move-2-fill", "drag-move-2-line", "drop-fill", "drop-line", "edit-box-fill", "edit-box-line", "edit-fill", "edit-line", "ink-bottle-fill", "ink-bottle-line", "layout-grid-fill", "layout-grid-line", "mark-pen-fill", "mark-pen-line", "paint-brush-fill", "paint-brush-line", "paint-fill", "paint-line", "palette-fill", "palette-line", "pantone-fill", "pantone-line", "pen-nib-fill", "pen-nib-line", "pencil-fill", "pencil-line", "pencil-ruler-fill", "pencil-ruler-line", "shapes-fill", "shapes-line", "sip-fill", "sip-line", "table-fill", "table-line"], "icon-style": "dsfr-design", "list-label": "DSFR Design"} +{"prefix": "fr-icon-", "version": "v1.13.0", "icons": ["ball-pen-fill", "ball-pen-line", "brush-3-fill", "brush-3-line", "brush-fill", "brush-line", "contrast-fill", "contrast-line", "crop-fill", "crop-line", "drag-move-2-fill", "drag-move-2-line", "drop-fill", "drop-line", "edit-box-fill", "edit-box-line", "edit-fill", "edit-line", "ink-bottle-fill", "ink-bottle-line", "layout-grid-fill", "layout-grid-line", "mark-pen-fill", "mark-pen-line", "paint-brush-fill", "paint-brush-line", "paint-fill", "paint-line", "palette-fill", "palette-line", "pantone-fill", "pantone-line", "pen-nib-fill", "pen-nib-line", "pencil-fill", "pencil-line", "pencil-ruler-fill", "pencil-ruler-line", "shapes-fill", "shapes-line", "sip-fill", "sip-line", "table-fill", "table-line"], "icon-style": "dsfr-design", "list-label": "DSFR Design"} diff --git a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-development.json b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-development.json index e16fd1894..20f9052e2 100644 --- a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-development.json +++ b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-development.json @@ -1 +1 @@ -{"prefix": "fr-icon-", "version": "1.11.2", "icons": ["bug-fill", "bug-line", "code-box-fill", "code-box-line", "code-s-slash-line", "cursor-fill", "cursor-line", "git-branch-fill", "git-branch-line", "git-commit-fill", "git-commit-line", "git-merge-fill", "git-merge-line", "git-pull-request-fill", "git-pull-request-line", "git-repository-commits-fill", "git-repository-commits-line", "git-repository-fill", "git-repository-line", "git-repository-private-fill", "git-repository-private-line", "terminal-box-fill", "terminal-box-line", "terminal-line", "terminal-window-fill", "terminal-window-line"], "icon-style": "dsfr-development", "list-label": "DSFR Development"} +{"prefix": "fr-icon-", "version": "v1.13.0", "icons": ["bug-fill", "bug-line", "code-box-fill", "code-box-line", "code-s-slash-line", "cursor-fill", "cursor-line", "git-branch-fill", "git-branch-line", "git-commit-fill", "git-commit-line", "git-merge-fill", "git-merge-line", "git-pull-request-fill", "git-pull-request-line", "git-repository-commits-fill", "git-repository-commits-line", "git-repository-fill", "git-repository-line", "git-repository-private-fill", "git-repository-private-line", "terminal-box-fill", "terminal-box-line", "terminal-line", "terminal-window-fill", "terminal-window-line"], "icon-style": "dsfr-development", "list-label": "DSFR Development"} diff --git a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-device.json b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-device.json index 2d697f8d0..db63761d7 100644 --- a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-device.json +++ b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-device.json @@ -1 +1 @@ -{"prefix": "fr-icon-", "version": "1.11.2", "icons": ["bluetooth-fill", "bluetooth-line", "computer-fill", "computer-line", "dashboard-3-fill", "dashboard-3-line", "database-fill", "database-line", "device-fill", "device-line", "hard-drive-2-fill", "hard-drive-2-line", "mac-fill", "mac-line", "phone-fill", "phone-line", "qr-code-fill", "qr-code-line", "rss-fill", "rss-line", "save-3-fill", "save-3-line", "save-fill", "save-line", "server-fill", "server-line", "smartphone-fill", "smartphone-line", "tablet-fill", "tablet-line", "tv-fill", "tv-line", "wifi-fill", "wifi-line"], "icon-style": "dsfr-device", "list-label": "DSFR Device"} +{"prefix": "fr-icon-", "version": "v1.13.0", "icons": ["bluetooth-fill", "bluetooth-line", "computer-fill", "computer-line", "dashboard-3-fill", "dashboard-3-line", "database-fill", "database-line", "device-fill", "device-line", "hard-drive-2-fill", "hard-drive-2-line", "mac-fill", "mac-line", "phone-fill", "phone-line", "qr-code-fill", "qr-code-line", "rss-fill", "rss-line", "save-3-fill", "save-3-line", "save-fill", "save-line", "server-fill", "server-line", "smartphone-fill", "smartphone-line", "tablet-fill", "tablet-line", "tv-fill", "tv-line", "wifi-fill", "wifi-line"], "icon-style": "dsfr-device", "list-label": "DSFR Device"} diff --git a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-document.json b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-document.json index b1a3b1274..5d85504a1 100644 --- a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-document.json +++ b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-document.json @@ -1 +1 @@ -{"prefix": "fr-icon-", "version": "1.11.2", "icons": ["article-fill", "article-line", "book-2-fill", "book-2-line", "booklet-fill", "booklet-line", "clipboard-fill", "clipboard-line", "draft-fill", "draft-line", "file-add-fill", "file-add-line", "file-download-fill", "file-download-line", "file-fill", "file-line", "file-pdf-fill", "file-pdf-line", "file-text-fill", "file-text-line", "folder-2-fill", "folder-2-line", "newspaper-fill", "newspaper-line", "survey-fill", "survey-line", "todo-fill", "todo-line"], "icon-style": "dsfr-document", "list-label": "DSFR Document"} +{"prefix": "fr-icon-", "version": "v1.13.0", "icons": ["article-fill", "article-line", "book-2-fill", "book-2-line", "booklet-fill", "booklet-line", "clipboard-fill", "clipboard-line", "draft-fill", "draft-line", "file-add-fill", "file-add-line", "file-download-fill", "file-download-line", "file-fill", "file-line", "file-pdf-fill", "file-pdf-line", "file-text-fill", "file-text-line", "folder-2-fill", "folder-2-line", "newspaper-fill", "newspaper-line", "survey-fill", "survey-line", "todo-fill", "todo-line"], "icon-style": "dsfr-document", "list-label": "DSFR Document"} diff --git a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-editor.json b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-editor.json index eae9dd6ca..4ee5154b0 100644 --- a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-editor.json +++ b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-editor.json @@ -1 +1 @@ -{"prefix": "fr-icon-", "version": "1.11.2", "icons": ["bold", "code-view", "font-size", "h-1", "h-2", "h-3", "h-4", "h-5", "h-6", "hashtag", "highlight", "italic", "link", "link-unlink", "list-ordered", "list-unordered", "question-mark", "quote-fill", "quote-line", "separator", "space", "subscript", "superscript", "table-2", "translate-2"], "icon-style": "dsfr-editor", "list-label": "DSFR Editor"} +{"prefix": "fr-icon-", "version": "v1.13.0", "icons": ["bold", "code-view", "font-size", "h-1", "h-2", "h-3", "h-4", "h-5", "h-6", "hashtag", "highlight", "italic", "link", "link-unlink", "list-ordered", "list-unordered", "question-mark", "quote-fill", "quote-line", "separator", "space", "subscript", "superscript", "table-2", "translate-2"], "icon-style": "dsfr-editor", "list-label": "DSFR Editor"} diff --git a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-finance.json b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-finance.json index 42c82d8b2..5fa1b3674 100644 --- a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-finance.json +++ b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-finance.json @@ -1 +1 @@ -{"prefix": "fr-icon-", "version": "1.11.2", "icons": ["bank-card-fill", "bank-card-line", "coin-fill", "gift-fill", "gift-line", "money-euro-box-fill", "money-euro-box-line", "money-euro-circle-fill", "money-euro-circle-line", "secure-payment-fill", "secure-payment-line", "shopping-bag-fill", "shopping-bag-line", "shopping-cart-2-fill", "shopping-cart-2-line", "trophy-fill", "trophy-line"], "icon-style": "dsfr-finance", "list-label": "DSFR Finance"} +{"prefix": "fr-icon-", "version": "v1.13.0", "icons": ["bank-card-fill", "bank-card-line", "coin-fill", "gift-fill", "gift-line", "money-euro-box-fill", "money-euro-box-line", "money-euro-circle-fill", "money-euro-circle-line", "secure-payment-fill", "secure-payment-line", "shopping-bag-fill", "shopping-bag-line", "shopping-cart-2-fill", "shopping-cart-2-line", "trophy-fill", "trophy-line"], "icon-style": "dsfr-finance", "list-label": "DSFR Finance"} diff --git a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-health.json b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-health.json index ff584c760..d31fdabd6 100644 --- a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-health.json +++ b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-health.json @@ -1 +1 @@ -{"prefix": "fr-icon-", "version": "1.11.2", "icons": ["capsule-fill", "capsule-line", "dislike-fill", "dislike-line", "dossier-fill", "dossier-line", "first-aid-kit-fill", "first-aid-kit-line", "hand-sanitizer-fill", "hand-sanitizer-line", "health-book-fill", "health-book-line", "heart-fill", "heart-line", "heart-pulse-fill", "heart-pulse-line", "lungs-fill", "lungs-line", "medicine-bottle-fill", "medicine-bottle-line", "mental-health-fill", "mental-health-line", "microscope-fill", "microscope-line", "psychotherapy-fill", "psychotherapy-line", "pulse-line", "stethoscope-fill", "stethoscope-line", "surgical-mask-fill", "surgical-mask-line", "syringe-fill", "syringe-line", "test-tube-fill", "test-tube-line", "thermometer-fill", "thermometer-line", "virus-fill", "virus-line"], "icon-style": "dsfr-health", "list-label": "DSFR Health"} +{"prefix": "fr-icon-", "version": "v1.13.0", "icons": ["capsule-fill", "capsule-line", "dislike-fill", "dislike-line", "dossier-fill", "dossier-line", "first-aid-kit-fill", "first-aid-kit-line", "hand-sanitizer-fill", "hand-sanitizer-line", "health-book-fill", "health-book-line", "heart-fill", "heart-line", "heart-pulse-fill", "heart-pulse-line", "lungs-fill", "lungs-line", "medicine-bottle-fill", "medicine-bottle-line", "mental-health-fill", "mental-health-line", "microscope-fill", "microscope-line", "psychotherapy-fill", "psychotherapy-line", "pulse-line", "stethoscope-fill", "stethoscope-line", "surgical-mask-fill", "surgical-mask-line", "syringe-fill", "syringe-line", "test-tube-fill", "test-tube-line", "thermometer-fill", "thermometer-line", "virus-fill", "virus-line"], "icon-style": "dsfr-health", "list-label": "DSFR Health"} diff --git a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-logo.json b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-logo.json index 2d23a85cf..f2da43f68 100644 --- a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-logo.json +++ b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-logo.json @@ -1 +1 @@ -{"prefix": "fr-icon-", "version": "1.11.2", "icons": ["chrome-fill", "chrome-line", "dailymotion-fill", "dailymotion-line", "edge-fill", "edge-line", "facebook-circle-fill", "facebook-circle-line", "firefox-fill", "firefox-line", "github-fill", "github-line", "google-fill", "google-line", "ie-fill", "ie-line", "instagram-fill", "instagram-line", "linkedin-box-fill", "linkedin-box-line", "mastodon-fill", "mastodon-line", "npmjs-fill", "npmjs-line", "remixicon-fill", "remixicon-line", "safari-fill", "safari-line", "slack-fill", "slack-line", "snapchat-fill", "snapchat-line", "telegram-fill", "telegram-line", "threads-fill", "threads-line", "tiktok-fill", "tiktok-line", "twitch-fill", "twitch-line", "twitter-fill", "twitter-line", "twitter-x-fill", "twitter-x-line", "vimeo-fill", "vimeo-line", "vuejs-fill", "vuejs-line", "whatsapp-fill", "whatsapp-line", "youtube-fill", "youtube-line"], "icon-style": "dsfr-logo", "list-label": "DSFR Logo"} +{"prefix": "fr-icon-", "version": "v1.13.0", "icons": ["chrome-fill", "chrome-line", "dailymotion-fill", "dailymotion-line", "edge-fill", "edge-line", "facebook-circle-fill", "facebook-circle-line", "firefox-fill", "firefox-line", "github-fill", "github-line", "google-fill", "google-line", "ie-fill", "ie-line", "instagram-fill", "instagram-line", "linkedin-box-fill", "linkedin-box-line", "mastodon-fill", "mastodon-line", "npmjs-fill", "npmjs-line", "remixicon-fill", "remixicon-line", "safari-fill", "safari-line", "slack-fill", "slack-line", "snapchat-fill", "snapchat-line", "telegram-fill", "telegram-line", "threads-fill", "threads-line", "tiktok-fill", "tiktok-line", "twitch-fill", "twitch-line", "twitter-fill", "twitter-line", "twitter-x-fill", "twitter-x-line", "vimeo-fill", "vimeo-line", "vuejs-fill", "vuejs-line", "whatsapp-fill", "whatsapp-line", "youtube-fill", "youtube-line"], "icon-style": "dsfr-logo", "list-label": "DSFR Logo"} diff --git a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-map.json b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-map.json index 6f7bff2d6..46cf82fdc 100644 --- a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-map.json +++ b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-map.json @@ -1 +1 @@ -{"prefix": "fr-icon-", "version": "1.11.2", "icons": ["anchor-fill", "anchor-line", "bike-fill", "bike-line", "bus-fill", "bus-line", "car-fill", "car-line", "caravan-fill", "caravan-line", "charging-pile-2-fill", "charging-pile-2-line", "compass-3-fill", "compass-3-line", "cup-fill", "cup-line", "earth-fill", "earth-line", "france-fill", "france-line", "gas-station-fill", "gas-station-line", "goblet-fill", "goblet-line", "map-pin-2-fill", "map-pin-2-line", "map-pin-user-fill", "map-pin-user-line", "motorbike-fill", "motorbike-line", "passport-fill", "passport-line", "restaurant-fill", "restaurant-line", "road-map-fill", "road-map-line", "sailboat-fill", "sailboat-line", "ship-2-fill", "ship-2-line", "signal-tower-fill", "signal-tower-line", "suitcase-2-fill", "suitcase-2-line", "taxi-fill", "taxi-line", "train-fill", "train-line"], "icon-style": "dsfr-map", "list-label": "DSFR Map"} +{"prefix": "fr-icon-", "version": "v1.13.0", "icons": ["anchor-fill", "anchor-line", "bike-fill", "bike-line", "bus-fill", "bus-line", "car-fill", "car-line", "caravan-fill", "caravan-line", "charging-pile-2-fill", "charging-pile-2-line", "compass-3-fill", "compass-3-line", "cup-fill", "cup-line", "earth-fill", "earth-line", "france-fill", "france-line", "gas-station-fill", "gas-station-line", "goblet-fill", "goblet-line", "map-pin-2-fill", "map-pin-2-line", "map-pin-user-fill", "map-pin-user-line", "motorbike-fill", "motorbike-line", "passport-fill", "passport-line", "restaurant-fill", "restaurant-line", "road-map-fill", "road-map-line", "sailboat-fill", "sailboat-line", "ship-2-fill", "ship-2-line", "signal-tower-fill", "signal-tower-line", "suitcase-2-fill", "suitcase-2-line", "taxi-fill", "taxi-line", "train-fill", "train-line"], "icon-style": "dsfr-map", "list-label": "DSFR Map"} diff --git a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-media.json b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-media.json index 3ddc83fc9..b733dc0b5 100644 --- a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-media.json +++ b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-media.json @@ -1 +1 @@ -{"prefix": "fr-icon-", "version": "1.11.2", "icons": ["align-left", "camera-fill", "camera-line", "clapperboard-fill", "clapperboard-line", "equalizer-fill", "equalizer-line", "film-fill", "film-line", "fullscreen-line", "gallery-fill", "gallery-line", "headphone-fill", "headphone-line", "image-add-fill", "image-add-line", "image-edit-fill", "image-edit-line", "image-fill", "image-line", "live-fill", "live-line", "mic-fill", "mic-line", "music-2-fill", "music-2-line", "notification-3-fill", "notification-3-line", "pause-circle-fill", "pause-circle-line", "play-circle-fill", "play-circle-line", "stop-circle-fill", "stop-circle-line", "volume-down-fill", "volume-down-line", "volume-mute-fill", "volume-mute-line", "volume-up-fill", "volume-up-line"], "icon-style": "dsfr-media", "list-label": "DSFR Media"} +{"prefix": "fr-icon-", "version": "v1.13.0", "icons": ["align-left", "camera-fill", "camera-line", "clapperboard-fill", "clapperboard-line", "equalizer-fill", "equalizer-line", "film-fill", "film-line", "fullscreen-line", "gallery-fill", "gallery-line", "headphone-fill", "headphone-line", "image-add-fill", "image-add-line", "image-edit-fill", "image-edit-line", "image-fill", "image-line", "live-fill", "live-line", "mic-fill", "mic-line", "music-2-fill", "music-2-line", "notification-3-fill", "notification-3-line", "pause-circle-fill", "pause-circle-line", "play-circle-fill", "play-circle-line", "stop-circle-fill", "stop-circle-line", "volume-down-fill", "volume-down-line", "volume-mute-fill", "volume-mute-line", "volume-up-fill", "volume-up-line"], "icon-style": "dsfr-media", "list-label": "DSFR Media"} diff --git a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-others.json b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-others.json index 777616527..ed7c1c072 100644 --- a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-others.json +++ b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-others.json @@ -1 +1 @@ -{"prefix": "fr-icon-", "version": "1.11.2", "icons": ["accessibility-fill", "accessibility-line", "ear-off-fill", "ear-off-line", "leaf-fill", "leaf-line", "lightbulb-fill", "lightbulb-line", "mental-disabilities-fill", "mental-disabilities-line", "plant-fill", "plant-line", "recycle-fill", "recycle-line", "scales-3-fill", "scales-3-line", "seedling-fill", "seedling-line", "sign-language-fill", "sign-language-line", "umbrella-fill", "umbrella-line", "wheelchair-fill", "wheelchair-line"], "icon-style": "dsfr-others", "list-label": "DSFR Others"} +{"prefix": "fr-icon-", "version": "v1.13.0", "icons": ["accessibility-fill", "accessibility-line", "ear-off-fill", "ear-off-line", "leaf-fill", "leaf-line", "lightbulb-fill", "lightbulb-line", "mental-disabilities-fill", "mental-disabilities-line", "plant-fill", "plant-line", "recycle-fill", "recycle-line", "scales-3-fill", "scales-3-line", "seedling-fill", "seedling-line", "sign-language-fill", "sign-language-line", "umbrella-fill", "umbrella-line", "wheelchair-fill", "wheelchair-line"], "icon-style": "dsfr-others", "list-label": "DSFR Others"} diff --git a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-system.json b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-system.json index 4c7fadb05..d8e3d15f4 100644 --- a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-system.json +++ b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-system.json @@ -1 +1 @@ -{"prefix": "fr-icon-", "version": "1.11.2", "icons": ["add-circle-fill", "add-circle-line", "add-line", "alarm-warning-fill", "alarm-warning-line", "alert-fill", "alert-line", "alert-warning-2-fill", "alert-warning-fill", "arrow-down-fill", "arrow-down-line", "arrow-down-s-fill", "arrow-down-s-line", "arrow-go-back-fill", "arrow-go-back-line", "arrow-go-forward-fill", "arrow-go-forward-line", "arrow-left-fill", "arrow-left-line", "arrow-left-s-fill", "arrow-left-s-first-line", "arrow-left-s-line", "arrow-left-s-line-double", "arrow-right-down-circle-fill", "arrow-right-fill", "arrow-right-line", "arrow-right-s-fill", "arrow-right-s-last-line", "arrow-right-s-line", "arrow-right-s-line-double", "arrow-right-up-circle-fill", "arrow-right-up-line", "arrow-up-down-line", "arrow-up-fill", "arrow-up-line", "arrow-up-s-fill", "arrow-up-s-line", "capslock-line", "check-line", "checkbox-circle-fill", "checkbox-circle-line", "checkbox-fill", "checkbox-line", "close-circle-fill", "close-circle-line", "close-line", "delete-bin-fill", "delete-bin-line", "download-fill", "download-line", "equal-circle-fill", "error-fill", "error-line", "error-warning-fill", "error-warning-line", "external-link-fill", "external-link-line", "eye-fill", "eye-line", "eye-off-fill", "eye-off-line", "filter-fill", "filter-line", "info-fill", "info-line", "information-fill", "information-line", "lock-fill", "lock-line", "lock-unlock-fill", "lock-unlock-line", "logout-box-r-fill", "logout-box-r-line", "menu-2-fill", "menu-fill", "more-fill", "more-line", "notification-badge-fill", "notification-badge-line", "question-fill", "question-line", "refresh-fill", "refresh-line", "search-fill", "search-line", "settings-5-fill", "settings-5-line", "shield-fill", "shield-line", "star-fill", "star-line", "star-s-fill", "star-s-line", "subtract-line", "success-fill", "success-line", "theme-fill", "thumb-down-fill", "thumb-down-line", "thumb-up-fill", "thumb-up-line", "time-fill", "time-line", "timer-fill", "timer-line", "upload-2-fill", "upload-2-line", "upload-fill", "upload-line", "warning-fill", "warning-line", "zoom-in-fill", "zoom-in-line", "zoom-out-fill", "zoom-out-line"], "icon-style": "dsfr-system", "list-label": "DSFR System"} +{"prefix": "fr-icon-", "version": "v1.13.0", "icons": ["add-circle-fill", "add-circle-line", "add-line", "alarm-warning-fill", "alarm-warning-line", "alert-fill", "alert-line", "alert-warning-2-fill", "alert-warning-fill", "arrow-down-fill", "arrow-down-line", "arrow-down-s-fill", "arrow-down-s-line", "arrow-go-back-fill", "arrow-go-back-line", "arrow-go-forward-fill", "arrow-go-forward-line", "arrow-left-fill", "arrow-left-line", "arrow-left-s-fill", "arrow-left-s-first-line", "arrow-left-s-line", "arrow-left-s-line-double", "arrow-right-down-circle-fill", "arrow-right-fill", "arrow-right-line", "arrow-right-s-fill", "arrow-right-s-last-line", "arrow-right-s-line", "arrow-right-s-line-double", "arrow-right-up-circle-fill", "arrow-right-up-line", "arrow-up-down-line", "arrow-up-fill", "arrow-up-line", "arrow-up-s-fill", "arrow-up-s-line", "capslock-line", "check-line", "checkbox-circle-fill", "checkbox-circle-line", "checkbox-fill", "checkbox-line", "close-circle-fill", "close-circle-line", "close-line", "delete-bin-fill", "delete-bin-line", "download-fill", "download-line", "equal-circle-fill", "error-fill", "error-line", "error-warning-fill", "error-warning-line", "external-link-fill", "external-link-line", "eye-fill", "eye-line", "eye-off-fill", "eye-off-line", "filter-fill", "filter-line", "info-fill", "info-line", "information-fill", "information-line", "lock-fill", "lock-line", "lock-unlock-fill", "lock-unlock-line", "logout-box-r-fill", "logout-box-r-line", "menu-2-fill", "menu-fill", "more-fill", "more-line", "notification-badge-fill", "notification-badge-line", "question-fill", "question-line", "refresh-fill", "refresh-line", "search-fill", "search-line", "settings-5-fill", "settings-5-line", "shield-fill", "shield-line", "star-fill", "star-line", "star-s-fill", "star-s-line", "subtract-line", "success-fill", "success-line", "theme-fill", "thumb-down-fill", "thumb-down-line", "thumb-up-fill", "thumb-up-line", "time-fill", "time-line", "timer-fill", "timer-line", "upload-2-fill", "upload-2-line", "upload-fill", "upload-line", "warning-fill", "warning-line", "zoom-in-fill", "zoom-in-line", "zoom-out-fill", "zoom-out-line"], "icon-style": "dsfr-system", "list-label": "DSFR System"} diff --git a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-user.json b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-user.json index e7834dd10..500ea5c74 100644 --- a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-user.json +++ b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-user.json @@ -1 +1 @@ -{"prefix": "fr-icon-", "version": "1.11.2", "icons": ["account-circle-fill", "account-circle-line", "account-pin-circle-fill", "account-pin-circle-line", "admin-fill", "admin-line", "group-fill", "group-line", "parent-fill", "parent-line", "team-fill", "team-line", "user-add-fill", "user-add-line", "user-fill", "user-heart-fill", "user-heart-line", "user-line", "user-search-fill", "user-search-line", "user-setting-fill", "user-setting-line", "user-star-fill", "user-star-line"], "icon-style": "dsfr-user", "list-label": "DSFR User"} +{"prefix": "fr-icon-", "version": "v1.13.0", "icons": ["account-circle-fill", "account-circle-line", "account-pin-circle-fill", "account-pin-circle-line", "admin-fill", "admin-line", "group-fill", "group-line", "parent-fill", "parent-line", "team-fill", "team-line", "user-add-fill", "user-add-line", "user-fill", "user-heart-fill", "user-heart-line", "user-line", "user-search-fill", "user-search-line", "user-setting-fill", "user-setting-line", "user-star-fill", "user-star-line"], "icon-style": "dsfr-user", "list-label": "DSFR User"} diff --git a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-weather.json b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-weather.json index 606585524..a30a68106 100644 --- a/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-weather.json +++ b/dsfr/static/django-dsfr/icon-picker/assets/icons-libraries/dsfr-weather.json @@ -1 +1 @@ -{"prefix": "fr-icon-", "version": "1.11.2", "icons": ["avalanches-fill", "cloudy-2-fill", "cloudy-2-line", "fire-fill", "fire-line", "flashlight-fill", "flashlight-line", "flood-fill", "flood-line", "heavy-showers-fill", "heavy-showers-line", "moon-fill", "moon-line", "snowy-fill", "snowy-line", "sparkling-2-fill", "sparkling-2-line", "submersion-fill", "sun-fill", "sun-line", "temp-cold-fill", "temp-cold-line", "thunderstorms-fill", "thunderstorms-line", "tornado-fill", "tornado-line", "typhoon-fill", "typhoon-line", "windy-fill", "windy-line"], "icon-style": "dsfr-weather", "list-label": "DSFR Weather"} +{"prefix": "fr-icon-", "version": "v1.13.0", "icons": ["avalanches-fill", "cloudy-2-fill", "cloudy-2-line", "fire-fill", "fire-line", "flashlight-fill", "flashlight-line", "flood-fill", "flood-line", "heavy-showers-fill", "heavy-showers-line", "moon-fill", "moon-line", "snowy-fill", "snowy-line", "sparkling-2-fill", "sparkling-2-line", "submersion-fill", "sun-fill", "sun-line", "temp-cold-fill", "temp-cold-line", "thunderstorms-fill", "thunderstorms-line", "tornado-fill", "tornado-line", "typhoon-fill", "typhoon-line", "windy-fill", "windy-line"], "icon-style": "dsfr-weather", "list-label": "DSFR Weather"} diff --git a/dsfr/static/dsfr/dsfr_version b/dsfr/static/dsfr/dsfr_version new file mode 100644 index 000000000..b28120462 --- /dev/null +++ b/dsfr/static/dsfr/dsfr_version @@ -0,0 +1 @@ +v1.13.0 diff --git a/dsfr/utils.py b/dsfr/utils.py index 6ce1812ec..4f1b6ddbc 100644 --- a/dsfr/utils.py +++ b/dsfr/utils.py @@ -9,6 +9,13 @@ import string +def dsfr_version(): + # Returns the current version of the DSFR + with open("dsfr/static/dsfr/dsfr_version") as f: + s = f.read() + return s.strip() + + def list_pages(page_obj: Page) -> Page: """ Gets a paginator page item and returns it with a list of pages to display like: diff --git a/example_app/templates/example_app/index.html b/example_app/templates/example_app/index.html index a2fdd1ad4..856fc8c4c 100644 --- a/example_app/templates/example_app/index.html +++ b/example_app/templates/example_app/index.html @@ -22,14 +22,12 @@

- Django-dsfr est une application Django permettant d’utiliser le + Django-DSFR est une application Django permettant d’utiliser le système de design de l’État dans des projets Django.

- Elle a initialement été développée dans le cadre du défi - Open Collectivités - et est un travail en cours (les composants sont actuellement développés au fur et à mesure de leur - utilisation), cf. la page Composants. + Django-DSFR implémente la version + {{ dsfr_version }} du système de design de l’État.

diff --git a/example_app/views.py b/example_app/views.py index 94c465c08..a48b4c189 100644 --- a/example_app/views.py +++ b/example_app/views.py @@ -14,7 +14,7 @@ from django.utils.translation import gettext_lazy as _ from django.views.decorators.http import require_safe -from dsfr.utils import generate_summary_items +from dsfr.utils import dsfr_version, generate_summary_items from example_app.forms import AccentColorForm, ExampleForm, FullColorForm @@ -98,6 +98,7 @@ def index(request): "Notes", ] ) + payload["dsfr_version"] = dsfr_version() return render(request, "example_app/index.html", payload) diff --git a/pyproject.toml b/pyproject.toml index ba28f1d61..0f1b0d249 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ authors = ["Sylvain Boissel "] description = "Integrate the French government Design System into a Django app" license = "MIT" name = "django-dsfr" -version = "2.0.0alpha1" +version = "2.0.0" classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", diff --git a/scripts/download_latest.sh b/scripts/download_latest.sh index ac6a5aa8c..dc1d38b60 100644 --- a/scripts/download_latest.sh +++ b/scripts/download_latest.sh @@ -13,6 +13,9 @@ curl -s https://api.github.com/repos/GouvernementFR/dsfr/releases/latest \ curl -Lo latest_release.zip $latest_release +dsfr_version=$(echo $latest_release | cut -d "/" -f 8) +echo "$dsfr_version" > dsfr_version + # Unzip dist folder and clean unzip latest_release.zip "dist/*" rm latest_release.zip