├── .browserlistrc ├── .circleci └── config.yml ├── .editorconfig ├── .gitignore ├── .nvmrc ├── .parcelrc ├── .postcssrc ├── .pre-commit-config.yaml ├── .pyup.yml ├── .stylemark.yml ├── .tx └── config ├── CHANGELOG.md ├── LICENSE ├── MANIFEST.in ├── README.md ├── babel.cfg ├── bumpr.rc ├── coverage.rc ├── crowdin.yml ├── package-lock.json ├── package.json ├── parcel-transformer-more ├── index.js ├── loadConfig.js ├── package-lock.json └── package.json ├── pep8.rc ├── requirements ├── develop.in ├── develop.pip ├── install.in ├── install.pip ├── test.in ├── test.pip ├── udata.in └── udata.pip ├── setup.cfg ├── setup.py ├── tasks.py ├── theme ├── fonts │ ├── Marianne-Bold.woff │ ├── Marianne-Bold.woff2 │ ├── Marianne-Light.woff │ ├── Marianne-Light.woff2 │ ├── Marianne-Medium.woff │ ├── Marianne-Medium.woff2 │ ├── Marianne-Regular.woff │ └── Marianne-Regular.woff2 ├── img │ ├── favicon.png │ └── placeholders │ │ ├── author.png │ │ ├── dataset.png │ │ ├── news.png │ │ ├── organization.png │ │ └── reuse.png ├── js │ ├── components │ │ ├── dataset │ │ │ ├── card.vue │ │ │ ├── loader.vue │ │ │ ├── preview.vue │ │ │ ├── schema-modal.vue │ │ │ └── search-result.vue │ │ ├── discussions │ │ │ ├── author.vue │ │ │ ├── avatar.vue │ │ │ ├── loader.vue │ │ │ ├── thread-reply.vue │ │ │ ├── thread.vue │ │ │ ├── threads-create.vue │ │ │ └── threads.vue │ │ ├── pagination │ │ │ └── pagination.vue │ │ ├── reuse │ │ │ ├── card.vue │ │ │ └── loader.vue │ │ ├── search │ │ │ ├── empty.vue │ │ │ ├── rangepicker.vue │ │ │ ├── search-input.vue │ │ │ ├── search.vue │ │ │ ├── suggest-box.vue │ │ │ ├── suggest-results.vue │ │ │ └── suggestor.vue │ │ ├── utils │ │ │ ├── follow-button.vue │ │ │ └── placeholder.vue │ │ └── vanilla │ │ │ ├── accordion.js │ │ │ ├── clipboard.js │ │ │ └── tabs.js │ ├── config.js │ ├── index.js │ ├── locales │ │ ├── en.json │ │ ├── es.json │ │ └── fr.json │ ├── plugins │ │ ├── api.js │ │ ├── auth.js │ │ ├── bodyClass.js │ │ ├── filters.js │ │ ├── i18n.js │ │ └── modals.js │ └── sentry.js └── less │ ├── components │ ├── accordion.less │ ├── animations.less │ ├── badge.less │ ├── borders.less │ ├── breadcrumbs.less │ ├── buttons.less │ ├── dataset.less │ ├── description-list.less │ ├── discussions.less │ ├── dropdown.less │ ├── embed.less │ ├── forms.less │ ├── logo.less │ ├── markdown.less │ ├── modal.less │ ├── nav_tabs.less │ ├── pagination.less │ ├── rangepicker.less │ ├── search-input.less │ ├── suggestor.less │ ├── tabs.less │ ├── tags.less │ └── well.less │ ├── content │ ├── callouts.less │ ├── colors.less │ ├── hero-image.less │ ├── links.less │ ├── typography.less │ └── visibility.less │ ├── examples.css │ ├── font.less │ ├── icons.less │ ├── images │ ├── chevron.svg │ └── logo.png │ ├── index.less │ ├── layout │ ├── grid.less │ ├── responsive.less │ └── rhythm.less │ ├── override.less │ ├── specific │ ├── footer.less │ ├── header.less │ ├── hero.less │ ├── metrics-bar.less │ ├── resource-card.less │ ├── reuse.less │ ├── search.less │ └── suggest.less │ └── theme.css ├── tox.ini └── udata_gouvfr ├── __init__.py ├── frontend ├── __init__.py ├── error_handlers.py └── helpers.py ├── harvesters ├── __init__.py ├── maaf.py ├── maaf.xsd └── tests.py ├── migrations ├── 2015-07-07-C3-datasets-titles.txt ├── 2015-07-10-dataconnexions-badges.js ├── 2015-09-14-dataconnexions-6.js ├── 2015-09-28-fix-maaf-harvester-doublouns.js ├── 2016-04-05-deactivate-datapublica.js ├── 2017-01-05-geozones-admin-levels-fr.js ├── 2017-08-04-fix-wrong-spatial-coverages.js ├── 2018-04-09-normalize-resource-filetype.js └── 2018-04-18-migrate-active-users.js ├── models.py ├── settings.py ├── static ├── c3 │ └── logo-c3.png ├── dataconnexions │ ├── dataconnexions6-logo-couleur.png │ ├── logo-blanc-rouge.png │ ├── logo-blanc.png │ ├── logo-couleur-rouge.png │ ├── logo-couleur.png │ └── logo-transparent.png ├── faq │ ├── integration │ │ └── exemple-integration-blog-etalab.png │ └── outils │ │ ├── 800px-CartePOI.png │ │ ├── 800px-Evolutionbio.png │ │ ├── 800px-Inventaire_du_patrimoine_Poitou-Chatrentes.png │ │ ├── 800px-Inventaire_du_patrimoine_vecteurs.png │ │ ├── 800px-OSM-cadastre.png │ │ ├── 800px-TileMill.png │ │ ├── Alluvial.png │ │ ├── Dependencies.png │ │ ├── Heatmap-salons-coiffure-paris-opendatasoft.png │ │ └── PAC2012.jpg ├── licences │ ├── description-contenu.pdf │ ├── homologation-licences-2017-05-05.pdf │ ├── homologation-licences-2017-09-26.pdf │ ├── homologation-licences-2017-09-29.pdf │ ├── homologation-licences-2019-04-17.pdf │ ├── homologation-licences-2019-05-29.pdf │ ├── licence-d-utilisation-a-titre-gratuit-de-l-IGN-2017-05-05.pdf │ ├── licence-de-reutilisation-des-informations-de-l-INPI-pour-les-donnees-de-PI-2019-04-17.pdf │ ├── licence-de-reutilisation-des-informations-de-l-INPI-pour-les-donnees-du-RNCS-2019-04-17.pdf │ ├── licence-du-produit-gratuit-issu-de-la-Base-Adresse-Nationale-2017-05-05.pdf │ └── licence-du-produit-gratuit-issu-de-la-Base-Adresse-Nationale-2019-05-29.pdf ├── nec_mergitur │ └── logo_nec_mergitur.png └── openfield16 │ └── logo.jpg ├── tasks.py ├── tests ├── __init__.py ├── conftest.py ├── frontend │ ├── __init__.py │ ├── test_frontend_filters.py │ └── test_hooks.py ├── test_csv.py ├── test_discussions.py ├── test_error.py ├── test_issue.py ├── test_sitemap.py ├── test_static_pages.py ├── test_tasks.py ├── tests.py └── views │ ├── __init__.py │ ├── test_dataset.py │ ├── test_oembed.py │ ├── test_organization.py │ ├── test_post.py │ ├── test_reuse.py │ ├── test_site.py │ ├── test_territories.py │ ├── test_topic.py │ └── test_user.py ├── theme ├── __init__.py ├── gouvfr │ ├── __init__.py │ ├── babel.cfg │ ├── info.json │ ├── templates │ │ ├── admin.html │ │ ├── api │ │ │ ├── admin.html │ │ │ ├── card.html │ │ │ ├── oauth_authorize.html │ │ │ └── oauth_error.html │ │ ├── banners │ │ │ └── generic.html │ │ ├── base.html │ │ ├── carousel.html │ │ ├── comments │ │ │ └── dataset_archived.txt │ │ ├── dataset-apis.html │ │ ├── dataset │ │ │ ├── add-reuse-card.html │ │ │ ├── card.html │ │ │ ├── display.html │ │ │ ├── explore.html │ │ │ ├── feed_item.html │ │ │ ├── followers.html │ │ │ ├── list.html │ │ │ ├── oembed.html │ │ │ ├── resource │ │ │ │ ├── card.html │ │ │ │ └── schema-button.html │ │ │ └── search-result.html │ │ ├── embed-dataset.html │ │ ├── errors │ │ │ ├── 400.html │ │ │ ├── 403.html │ │ │ ├── 404.html │ │ │ ├── 410.html │ │ │ ├── 500.html │ │ │ └── base.html │ │ ├── follow │ │ │ └── follower-card.html │ │ ├── footer.html │ │ ├── header.html │ │ ├── hetic │ │ │ ├── page1.html │ │ │ ├── page2.html │ │ │ └── page3.html │ │ ├── home.html │ │ ├── layouts │ │ │ ├── 1-column.html │ │ │ ├── 2-columns.html │ │ │ └── center-panel.html │ │ ├── macros │ │ │ ├── breadcrumb.html │ │ │ ├── certified.html │ │ │ ├── follow.html │ │ │ ├── forms.html │ │ │ ├── forms_old.html │ │ │ ├── integrate.html │ │ │ ├── issues.html │ │ │ ├── metadata.html │ │ │ ├── paginator.html │ │ │ ├── search.html │ │ │ └── uploader.html │ │ ├── mail │ │ │ ├── account_deleted.html │ │ │ ├── account_deleted.txt │ │ │ ├── badge_added_certified.html │ │ │ ├── badge_added_certified.txt │ │ │ ├── badge_added_public_service.html │ │ │ ├── badge_added_public_service.txt │ │ │ ├── base.html │ │ │ ├── base.txt │ │ │ ├── button.html │ │ │ ├── discussion_closed.html │ │ │ ├── discussion_closed.txt │ │ │ ├── frequency_reminder.html │ │ │ ├── frequency_reminder.txt │ │ │ ├── issue_closed.html │ │ │ ├── issue_closed.txt │ │ │ ├── layouts │ │ │ │ ├── 1-column.html │ │ │ │ ├── 2-columns.html │ │ │ │ └── center-panel.html │ │ │ ├── membership_refused.html │ │ │ ├── membership_refused.txt │ │ │ ├── membership_request.html │ │ │ ├── membership_request.txt │ │ │ ├── new_discussion.html │ │ │ ├── new_discussion.txt │ │ │ ├── new_discussion_comment.html │ │ │ ├── new_discussion_comment.txt │ │ │ ├── new_follower.html │ │ │ ├── new_follower.txt │ │ │ ├── new_follower_org.html │ │ │ ├── new_follower_org.txt │ │ │ ├── new_issue.html │ │ │ ├── new_issue.txt │ │ │ ├── new_issue_comment.html │ │ │ ├── new_issue_comment.txt │ │ │ ├── new_member.html │ │ │ ├── new_member.txt │ │ │ ├── new_reuse.html │ │ │ ├── new_reuse.txt │ │ │ ├── security │ │ │ │ ├── change_notice.html │ │ │ │ ├── change_notice.txt │ │ │ │ ├── confirmation_instructions.html │ │ │ │ ├── confirmation_instructions.txt │ │ │ │ ├── login_instructions.html │ │ │ │ ├── login_instructions.txt │ │ │ │ ├── reset_instructions.html │ │ │ │ ├── reset_instructions.txt │ │ │ │ ├── reset_notice.html │ │ │ │ ├── reset_notice.txt │ │ │ │ ├── welcome.html │ │ │ │ └── welcome.txt │ │ │ ├── test.html │ │ │ └── test.txt │ │ ├── metrics.html │ │ ├── oembed.html │ │ ├── organization │ │ │ ├── card.html │ │ │ ├── display.html │ │ │ ├── list.html │ │ │ ├── member-card.html │ │ │ ├── oembed.html │ │ │ ├── producer-panel.html │ │ │ ├── search-result.html │ │ │ └── sidebar-producer.html │ │ ├── page.html │ │ ├── participez │ │ │ └── participez.html │ │ ├── post │ │ │ ├── display.html │ │ │ ├── list.html │ │ │ ├── search-result.html │ │ │ └── subnav.html │ │ ├── publish-action-modal.html │ │ ├── raw.html │ │ ├── reuse │ │ │ ├── card.html │ │ │ ├── card_old.html │ │ │ ├── display.html │ │ │ ├── feed_item.html │ │ │ ├── list.html │ │ │ ├── mail_card.html │ │ │ └── oembed.html │ │ ├── security │ │ │ ├── change_password.html │ │ │ ├── forgot_password.html │ │ │ ├── login_user.html │ │ │ ├── register_user.html │ │ │ ├── reset_password.html │ │ │ └── send_confirmation.html │ │ ├── site │ │ │ ├── dashboard.html │ │ │ └── map.html │ │ ├── subnav-community.html │ │ ├── suivi.html │ │ ├── svg │ │ │ ├── actions │ │ │ │ ├── add.svg │ │ │ │ ├── copy.svg │ │ │ │ ├── download.svg │ │ │ │ ├── edit.svg │ │ │ │ ├── eye.svg │ │ │ │ ├── link.svg │ │ │ │ └── star.svg │ │ │ ├── administration.svg │ │ │ ├── arrow-right.svg │ │ │ ├── back-to-top.svg │ │ │ ├── burger-menu.svg │ │ │ ├── certified.svg │ │ │ ├── chevron-left.svg │ │ │ ├── chevron.svg │ │ │ ├── close.svg │ │ │ ├── copy.svg │ │ │ ├── datasets │ │ │ │ ├── datasets-latest.svg │ │ │ │ └── datasets-love.svg │ │ │ ├── filter.svg │ │ │ ├── login.svg │ │ │ ├── logo-etalab.svg │ │ │ ├── logotype.svg │ │ │ ├── marianne.svg │ │ │ ├── permalink.svg │ │ │ ├── private.svg │ │ │ ├── register.svg │ │ │ ├── search.svg │ │ │ ├── search │ │ │ │ └── empty.svg │ │ │ ├── socials │ │ │ │ ├── facebook.svg │ │ │ │ ├── github.svg │ │ │ │ ├── linkedin.svg │ │ │ │ └── twitter.svg │ │ │ └── topics │ │ │ │ ├── agriculture-et-alimentation.svg │ │ │ │ ├── comptes-economie-et-emploi.svg │ │ │ │ ├── culture-communications.svg │ │ │ │ ├── education-recherche-formation.svg │ │ │ │ ├── environnement-energie-logement.svg │ │ │ │ └── generic.svg │ │ ├── terms.html │ │ ├── territories │ │ │ ├── commune.html │ │ │ ├── departement.html │ │ │ ├── home.html │ │ │ ├── region.html │ │ │ ├── search-result.html │ │ │ └── territory.html │ │ ├── topic │ │ │ ├── browse.html │ │ │ ├── datasets.html │ │ │ ├── display.html │ │ │ ├── display_base.html │ │ │ ├── reuses.html │ │ │ └── subnav.html │ │ └── user │ │ │ ├── activity.html │ │ │ ├── base.html │ │ │ ├── card.html │ │ │ ├── datasets.html │ │ │ ├── followers.html │ │ │ ├── following.html │ │ │ ├── list.html │ │ │ ├── mail_card.html │ │ │ ├── reuses.html │ │ │ └── sidebar-user.html │ └── translations │ │ ├── es │ │ └── LC_MESSAGES │ │ │ └── gouvfr.po │ │ ├── fr │ │ └── LC_MESSAGES │ │ │ ├── gouvfr.po │ │ │ └── gouvfr@@.po │ │ └── gouvfr.pot └── license.txt └── views ├── __init__.py ├── base.py ├── dataset.py ├── follower.py ├── gouvfr.py ├── oembed.py ├── organization.py ├── post.py ├── reuse.py ├── schema.py ├── site.py ├── territories.py ├── topic.py └── user.py /.browserlistrc: -------------------------------------------------------------------------------- 1 | > 0.5% 2 | last 2 versions 3 | not ie <= 10 4 | not ie_mob <= 11 5 | Firefox ESR 6 | not bb <= 10 7 | not op_mob <= 12.1 8 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | insert_final_newline = true 5 | charset = utf-8 6 | trim_trailing_whitespace = true 7 | end_of_line = lf 8 | 9 | [*.{js,json}] 10 | indent_style = space 11 | indent_size = 2 12 | 13 | [*.less] 14 | indent_style = space 15 | indent_size = 4 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.py[cod] 2 | 3 | # C extensions 4 | *.so 5 | 6 | # Packages 7 | *.egg 8 | *.egg-info 9 | dist 10 | build 11 | eggs 12 | .eggs/ 13 | parts 14 | bin 15 | var 16 | sdist 17 | develop-eggs 18 | .installed.cfg 19 | lib 20 | lib64 21 | __pycache__ 22 | staticroot 23 | /media 24 | *.sqlite 25 | bower 26 | /youckan.ini 27 | *.db 28 | *.log 29 | *.pid 30 | .webassets-cache 31 | .DS_Store 32 | *.min.css 33 | *.min.js 34 | /instance/ 35 | /static/ 36 | node_modules 37 | /udata_gouvfr/theme/gouvfr/static/ 38 | /udata_gouvfr/theme/manifest.json 39 | 40 | # Installer logs 41 | pip-log.txt 42 | 43 | # Unit test / coverage reports 44 | .cache 45 | .coverage 46 | .pytest_cache 47 | .tox 48 | cover 49 | nosetests.xml 50 | /reports 51 | 52 | # Translations 53 | *.mo 54 | 55 | # Mr Developer 56 | .mr.developer.cfg 57 | .project 58 | .pydevproject 59 | .noseids 60 | 61 | udata.cfg 62 | stylemark/ 63 | .parcel-cache 64 | -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | v14.15.4 2 | -------------------------------------------------------------------------------- /.parcelrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["@parcel/config-default"], 3 | "transformers": { 4 | "*.less": ["parcel-transformer-more"], 5 | "*.svg": ["@parcel/transformer-inline-string"] 6 | }, 7 | "reporters": ["...", "parcel-reporter-copystatic", "parcel-reporter-stylemark"] 8 | } 9 | -------------------------------------------------------------------------------- /.postcssrc: -------------------------------------------------------------------------------- 1 | { 2 | "modules": false, 3 | "plugins": { 4 | "autoprefixer": { 5 | "grid": true 6 | }, 7 | "postcss-normalize": {}, 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | repos: 2 | - repo: https://github.com/jazzband/pip-tools 3 | rev: 6.2.0 4 | hooks: 5 | - id: pip-compile 6 | name: pip-compile install.in 7 | args: [requirements/install.in, --output-file=requirements/install.pip] 8 | files: ^requirements/install\.(in|pip)$ 9 | - id: pip-compile 10 | name: pip-compile test.in 11 | args: [requirements/test.in, --output-file=requirements/test.pip] 12 | files: ^requirements/(install|test)\.(in|pip)$ 13 | - id: pip-compile 14 | name: pip-compile develop.in 15 | args: [requirements/develop.in, --output-file=requirements/develop.pip] 16 | files: ^requirements/(install|test|develop)\.(in|pip)$ 17 | -------------------------------------------------------------------------------- /.pyup.yml: -------------------------------------------------------------------------------- 1 | --- 2 | branch: master 3 | pin: False 4 | update: all 5 | label_prs: update 6 | -------------------------------------------------------------------------------- /.stylemark.yml: -------------------------------------------------------------------------------- 1 | name: udata_gouvfr Ui-Kit 2 | match: '/.*\.(sass|scss|less|css|js|vue)/g' 3 | theme: 4 | logo: theme/less/images/logo.png 5 | css: 6 | - theme/less/theme.css 7 | sidebar: 8 | background: "#b8e2ff" 9 | textColor: "#070d54" 10 | examples: 11 | css: 12 | - udata_gouvfr/theme/gouvfr/static/less/index.css 13 | - theme/less/examples.css 14 | js: 15 | - udata_gouvfr/theme/gouvfr/static/js/index.js 16 | -------------------------------------------------------------------------------- /.tx/config: -------------------------------------------------------------------------------- 1 | [main] 2 | host = https://www.transifex.com 3 | 4 | [udata-gouvfr.python] 5 | file_filter = udata_gouvfr/translations//LC_MESSAGES/udata-gouvfr.po 6 | source_file = udata_gouvfr/translations/udata-gouvfr.pot 7 | source_lang = en 8 | type = PO 9 | -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include LICENSE MANIFEST.in README.md CHANGELOG.md 2 | 3 | recursive-include udata_gouvfr * 4 | 5 | global-exclude *~ *.egg *.pyc 6 | -------------------------------------------------------------------------------- /babel.cfg: -------------------------------------------------------------------------------- 1 | [ignore: **/static/**] 2 | 3 | [python: **/theme/gouvfr/**.py] 4 | 5 | [jinja2: **/theme/gouvfr/templates/**.html] 6 | encoding = utf-8 7 | silent = false 8 | extensions = jinja2.ext.autoescape,jinja2.ext.with_,flask_caching.jinja2ext.CacheExtension 9 | -------------------------------------------------------------------------------- /bumpr.rc: -------------------------------------------------------------------------------- 1 | [bumpr] 2 | file = udata_gouvfr/__init__.py 3 | vcs = git 4 | commit = true 5 | tag = true 6 | tag_format = v{version} 7 | push = true 8 | clean = inv clean 9 | tests = inv test 10 | publish = inv dist 11 | files = 12 | README.md 13 | 14 | [bump] 15 | unsuffix = true 16 | 17 | [prepare] 18 | part = patch 19 | suffix = dev 20 | 21 | [changelog] 22 | file = CHANGELOG.md 23 | bump = ## {version} ({date:%Y-%m-%d}) 24 | prepare = ## Current (in progress) 25 | separator = 26 | -------------------------------------------------------------------------------- /coverage.rc: -------------------------------------------------------------------------------- 1 | [run] 2 | source = udata_gouvfr 3 | branch = True 4 | omit = 5 | udata_gouvfr/tests.py 6 | 7 | [report] 8 | # Regexes for lines to exclude from consideration 9 | exclude_lines = 10 | # Have to re-enable the standard pragma 11 | pragma: no cover 12 | 13 | # Don't complain about missing debug-only code: 14 | def __repr__ 15 | if self\.debug 16 | 17 | # Don't complain if tests don't hit defensive assertion code: 18 | raise AssertionError 19 | raise NotImplementedError 20 | 21 | # Don't complain if non-runnable code isn't run: 22 | if 0: 23 | if __name__ == .__main__.: 24 | 25 | ignore_errors = True 26 | -------------------------------------------------------------------------------- /crowdin.yml: -------------------------------------------------------------------------------- 1 | files: 2 | - source: /udata_gouvfr/theme/gouvfr/translations/gouvfr.pot 3 | translation: >- 4 | /udata_gouvfr/theme/gouvfr/translations/%two_letters_code%/LC_MESSAGES/%file_name%.po 5 | - source: /theme/js/locales/en.json 6 | translation: /theme/js/locales/%two_letters_code%.json 7 | -------------------------------------------------------------------------------- /parcel-transformer-more/loadConfig.js: -------------------------------------------------------------------------------- 1 | // @flow 2 | const path = require('path'); 3 | 4 | exports.load = async function load({config}) { 5 | let configFile = await config.getConfig(['.lessrc', '.lessrc.js'], { 6 | packageKey: 'less', 7 | }); 8 | 9 | let configContents = {}; 10 | if (configFile != null) { 11 | configContents = configFile.contents; 12 | } 13 | 14 | // Rewrites urls to be relative to the provided filename 15 | configContents.rewriteUrls = 'all'; 16 | configContents.plugins = configContents.plugins || []; 17 | 18 | // This should enforce the config to be reloaded on every run as it's JS 19 | let isDynamic = configFile && path.extname(configFile.filePath) === '.js'; 20 | if (isDynamic) { 21 | config.shouldInvalidateOnStartup(); 22 | config.shouldReload(); 23 | } 24 | 25 | return config.setResult({isStatic: !isDynamic, config: configContents}); 26 | } 27 | 28 | exports.preSerialize = function(config) { 29 | if (!config.result) return; 30 | 31 | // Ensure we dont pass functions to the serialiser 32 | if (!config.result.isStatic) { 33 | config.result.config = {}; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /parcel-transformer-more/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "parcel-transformer-more", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "engines": { 7 | "parcel": "^2.0.0-beta.1" 8 | }, 9 | "dependencies": { 10 | "@parcel/plugin": "2.0.0-beta.1", 11 | "@parcel/source-map": "2.0.0-alpha.4.19" 12 | }, 13 | "devDependencies": { 14 | "less": "^3.9.0" 15 | }, 16 | "scripts": { 17 | "test": "echo \"Error: no test specified\" && exit 1" 18 | }, 19 | "author": "", 20 | "license": "ISC" 21 | } 22 | -------------------------------------------------------------------------------- /pep8.rc: -------------------------------------------------------------------------------- 1 | [pep8] 2 | ignore = E128,E122,E125 3 | max-line-length = 100 4 | -------------------------------------------------------------------------------- /requirements/develop.in: -------------------------------------------------------------------------------- 1 | -c test.pip 2 | 3 | flake8==3.7.7 4 | invoke==1.2.0 5 | pytest-cov==2.6.1 6 | readme-renderer[md]==24.0 7 | -------------------------------------------------------------------------------- /requirements/install.in: -------------------------------------------------------------------------------- 1 | -c udata.pip 2 | 3 | feedparser==5.2.1 4 | python-frontmatter==1.0.0 5 | sentry-sdk[flask] >= 1.1.0 6 | -------------------------------------------------------------------------------- /requirements/install.pip: -------------------------------------------------------------------------------- 1 | # 2 | # This file is autogenerated by pip-compile with python 3.7 3 | # To update, run: 4 | # 5 | # pip-compile --output-file=requirements/install.pip requirements/install.in 6 | # 7 | blinker==1.4 8 | # via 9 | # -c requirements/udata.pip 10 | # sentry-sdk 11 | certifi==2021.5.30 12 | # via 13 | # -c requirements/udata.pip 14 | # sentry-sdk 15 | click==7.0 16 | # via 17 | # -c requirements/udata.pip 18 | # flask 19 | feedparser==5.2.1 20 | # via -r requirements/install.in 21 | flask==1.1.4 22 | # via 23 | # -c requirements/udata.pip 24 | # sentry-sdk 25 | itsdangerous==1.1.0 26 | # via 27 | # -c requirements/udata.pip 28 | # flask 29 | jinja2==2.10.3 30 | # via 31 | # -c requirements/udata.pip 32 | # flask 33 | markupsafe==2.0.1 34 | # via 35 | # -c requirements/udata.pip 36 | # jinja2 37 | python-frontmatter==1.0.0 38 | # via -r requirements/install.in 39 | pyyaml==5.4.1 40 | # via python-frontmatter 41 | sentry-sdk[flask]==1.3.1 42 | # via -r requirements/install.in 43 | urllib3==1.25.11 44 | # via 45 | # -c requirements/udata.pip 46 | # sentry-sdk 47 | werkzeug==0.16.1 48 | # via 49 | # -c requirements/udata.pip 50 | # flask 51 | -------------------------------------------------------------------------------- /requirements/test.in: -------------------------------------------------------------------------------- 1 | -c install.pip 2 | 3 | mock==3.0.5 4 | pytest==4.6.3 5 | pytest-flask==0.15.0 6 | pytest-mock==2.0.0 7 | requests-mock==1.7.0 8 | feedgen==0.7.0 9 | -------------------------------------------------------------------------------- /requirements/udata.in: -------------------------------------------------------------------------------- 1 | udata@git+https://github.com/opendatateam/udata.git 2 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [compile_catalog] 2 | domain = gouvfr 3 | directory = udata_gouvfr/theme/gouvfr/translations 4 | statistics = true 5 | 6 | [extract_messages] 7 | #keywords = _ gettext ngettext ugettext ungettext gettext_lay ugettext_lazy 8 | mapping_file = babel.cfg 9 | add_comments = TRANSLATORS: 10 | output_file = udata_gouvfr/theme/gouvfr/translations/gouvfr.pot 11 | width = 80 12 | 13 | [init_catalog] 14 | domain = udata-gouvfr 15 | input_file = udata_gouvfr/theme/gouvfr/translations/gouvfr.pot 16 | output_dir = udata_gouvfr/theme/gouvfr/translations 17 | 18 | [update_catalog] 19 | domain = udata-gouvfr 20 | input_file = udata_gouvfr/theme/gouvfr/translations/gouvfr.pot 21 | output_dir = udata_gouvfr/theme/gouvfr/translations 22 | ignore_obsolete = true 23 | previous = true 24 | 25 | [tool:pytest] 26 | norecursedirs = .git build .cache udata_gouvfr/theme udata_gouvfr/theme/gouvfr/translations 27 | python_files = test_*.py 28 | python_functions = test_* 29 | python_classes = *Test 30 | mock_use_standalone_module = true 31 | 32 | [flake8] 33 | exclude = doc,.git 34 | max_line_length = 100 35 | 36 | [wheel] 37 | universal = 1 38 | -------------------------------------------------------------------------------- /theme/fonts/Marianne-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etalab/udata-gouvfr/7b788e9c6641fb115b4395bc9d6bd7dda105d969/theme/fonts/Marianne-Bold.woff -------------------------------------------------------------------------------- /theme/fonts/Marianne-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etalab/udata-gouvfr/7b788e9c6641fb115b4395bc9d6bd7dda105d969/theme/fonts/Marianne-Bold.woff2 -------------------------------------------------------------------------------- /theme/fonts/Marianne-Light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etalab/udata-gouvfr/7b788e9c6641fb115b4395bc9d6bd7dda105d969/theme/fonts/Marianne-Light.woff -------------------------------------------------------------------------------- /theme/fonts/Marianne-Light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etalab/udata-gouvfr/7b788e9c6641fb115b4395bc9d6bd7dda105d969/theme/fonts/Marianne-Light.woff2 -------------------------------------------------------------------------------- /theme/fonts/Marianne-Medium.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etalab/udata-gouvfr/7b788e9c6641fb115b4395bc9d6bd7dda105d969/theme/fonts/Marianne-Medium.woff -------------------------------------------------------------------------------- /theme/fonts/Marianne-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etalab/udata-gouvfr/7b788e9c6641fb115b4395bc9d6bd7dda105d969/theme/fonts/Marianne-Medium.woff2 -------------------------------------------------------------------------------- /theme/fonts/Marianne-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etalab/udata-gouvfr/7b788e9c6641fb115b4395bc9d6bd7dda105d969/theme/fonts/Marianne-Regular.woff -------------------------------------------------------------------------------- /theme/fonts/Marianne-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etalab/udata-gouvfr/7b788e9c6641fb115b4395bc9d6bd7dda105d969/theme/fonts/Marianne-Regular.woff2 -------------------------------------------------------------------------------- /theme/img/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etalab/udata-gouvfr/7b788e9c6641fb115b4395bc9d6bd7dda105d969/theme/img/favicon.png -------------------------------------------------------------------------------- /theme/img/placeholders/author.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etalab/udata-gouvfr/7b788e9c6641fb115b4395bc9d6bd7dda105d969/theme/img/placeholders/author.png -------------------------------------------------------------------------------- /theme/img/placeholders/dataset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etalab/udata-gouvfr/7b788e9c6641fb115b4395bc9d6bd7dda105d969/theme/img/placeholders/dataset.png -------------------------------------------------------------------------------- /theme/img/placeholders/news.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etalab/udata-gouvfr/7b788e9c6641fb115b4395bc9d6bd7dda105d969/theme/img/placeholders/news.png -------------------------------------------------------------------------------- /theme/img/placeholders/organization.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etalab/udata-gouvfr/7b788e9c6641fb115b4395bc9d6bd7dda105d969/theme/img/placeholders/organization.png -------------------------------------------------------------------------------- /theme/img/placeholders/reuse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/etalab/udata-gouvfr/7b788e9c6641fb115b4395bc9d6bd7dda105d969/theme/img/placeholders/reuse.png -------------------------------------------------------------------------------- /theme/js/components/dataset/card.vue: -------------------------------------------------------------------------------- 1 | 20 | 21 | 42 | -------------------------------------------------------------------------------- /theme/js/components/dataset/loader.vue: -------------------------------------------------------------------------------- 1 | 17 | 18 | 27 | -------------------------------------------------------------------------------- /theme/js/components/dataset/preview.vue: -------------------------------------------------------------------------------- 1 | 12 | 13 | 22 | -------------------------------------------------------------------------------- /theme/js/components/discussions/author.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 20 | -------------------------------------------------------------------------------- /theme/js/components/discussions/avatar.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 26 | -------------------------------------------------------------------------------- /theme/js/components/discussions/loader.vue: -------------------------------------------------------------------------------- 1 | 17 | 18 | 27 | -------------------------------------------------------------------------------- /theme/js/components/discussions/thread-reply.vue: -------------------------------------------------------------------------------- 1 |