From 28e5dd9e61939aad39994c7ddadaafbb712bee44 Mon Sep 17 00:00:00 2001 From: kalleen Date: Sun, 2 Sep 2018 13:32:37 +0200 Subject: [PATCH] restructuring multilingual feature --- README.md | 4 +- _config.yml | 151 +++++++++++------- _data/navigation_de.yml | 2 +- _data/ui-text.yml | 22 +++ _i18n/de/_images/grids_de.png | Bin 68210 -> 0 bytes .../_includes}/folder-galleries | 0 {_includes => _jekyll/_includes}/footer.html | 2 +- .../_includes}/head/custom.html | 0 _jekyll/_includes/language_switcher | 7 + .../_includes}/masthead.html | 7 +- {_includes => _jekyll/_includes}/namespace | 0 {_includes => _jekyll/_includes}/nav_list | 1 + _jekyll/_includes/paginator.html | 69 ++++++++ _jekyll/_includes/post_pagination.html | 14 ++ .../_includes/tutorials}/display_tutorials | 4 +- .../_includes/tutorials}/tutorial_list | 0 _jekyll/_layouts/posts.html | 29 ++++ _jekyll/_layouts/single.html | 91 +++++++++++ _pages/de/about.md | 35 ++++ _pages/de/category-archive.md | 5 + _pages/de/features.md | 63 ++++++++ _pages/de/namespace.md | 10 ++ _pages/de/news.md | 7 + _pages/de/sitemap.md | 34 ++++ _pages/{ => en}/about.md | 1 + _pages/{ => en}/category-archive.md | 0 _pages/{ => en}/features.md | 0 _pages/{ => en}/namespace.md | 0 _pages/{ => en}/news.md | 0 _pages/{ => en}/sitemap.md | 0 _pages/{ => en}/terms.md | 0 assets/css/main.scss | 7 +- assets/images/docs/{ => en}/embroider.jpg | Bin assets/images/docs/{ => en}/export-batch.jpg | Bin .../docs/{ => en}/export-selection-field.jpg | Bin .../docs/{ => en}/flip-satin-column.jpg | Bin .../docs/{ => en}/flip-satin-columns-02.jpg | Bin .../{ => en}/params-autofill-underlay.jpg | Bin .../images/docs/{ => en}/params-autofill.jpg | Bin .../docs/{ => en}/params-manualfill.jpg | Bin .../images/docs/{ => en}/params-presets.jpg | Bin .../docs/{ => en}/params-satincolumn.jpg | Bin assets/images/docs/{ => en}/params-stroke.jpg | Bin .../{ => en}/print-realistic-rendering.jpg | Bin assets/images/docs/{ => en}/split-path.jpg | Bin .../docs/{ => en}/visual-commands-attach.jpg | Bin .../{ => en}/visual-commands-symbol-set.jpg | Bin .../_developers/de/001-001-introduction.md | 15 ++ .../_developers/de/002-001-inkstitch.md | 21 +++ .../_developers/de/002-002-manual-setup.md | 36 +++++ .../_developers/de/002-003-python-modules.md | 63 ++++++++ .../_developers/de/002-004-namespace.md | 7 + .../_developers/de/003-001-documentation.md | 16 ++ .../_developers/de/005-001-localize.md | 26 +++ .../_developers/de/006-001-report-bugs.md | 14 ++ .../_developers/en}/001-001-introduction.md | 0 .../_developers/en}/002-001-inkstitch.md | 0 .../_developers/en}/002-002-manual-setup.md | 0 .../_developers/en}/002-003-python-modules.md | 0 .../_developers/en}/002-004-namespace.md | 0 .../_developers/en}/003-001-documentation.md | 0 .../_developers/en}/005-001-localize.md | 0 .../_developers/en}/006-001-report-bugs.md | 0 .../_docs/de}/001-001-install.md | 0 .../_docs/de}/001-002-customize.md | 0 .../_docs/de}/001-003-basic-usage.md | 0 .../_docs/de}/001-004-workflow.md | 0 .../_docs/de}/002-001-params.md | 2 +- .../_docs/de}/002-002-simulate.md | 0 .../_docs/de}/002-003-flip-satin-columns.md | 4 +- .../_docs/de}/002-004-addons.md | 4 +- .../_docs/de}/002-005-print.md | 2 +- .../_docs/de}/002-006-import-export.md | 6 +- .../_docs/de}/003-001-stroke.md | 6 +- .../_docs/de}/003-002-satin.md | 4 +- .../_docs/de}/003-003-fill.md | 8 +- .../_docs/de}/005-001-get-help.md | 0 .../_docs/de}/005-002-faq.md | 0 .../_docs/en}/001-001-install.md | 0 .../_docs/en}/001-002-customize.md | 0 .../_docs/en}/001-003-basic-usage.md | 0 .../_docs/en}/001-004-workflow.md | 0 .../_docs/en}/002-001-params.md | 2 +- .../_docs/en}/002-002-simulate.md | 0 .../_docs/en}/002-003-flip-satin-columns.md | 4 +- .../_docs/en}/002-004-addons.md | 4 +- .../_docs/en}/002-005-print.md | 2 +- .../_docs/en}/002-006-import-export.md | 6 +- .../_docs/en}/003-001-stroke.md | 6 +- .../_docs/en}/003-002-satin.md | 4 +- .../_docs/en}/003-003-fill.md | 8 +- .../_docs/en}/004-001-fonts.md | 0 .../_docs/en}/004-002-features.md | 0 .../_docs/en}/004-003-inkscape-tips.md | 0 .../_docs/en}/005-001-get-help.md | 0 .../_docs/en}/005-002-faq.md | 0 .../_docs/en}/005-003-error-messages.md | 2 +- .../_docs/en}/005-004-localization.md | 0 collections/_posts/de/2018-06-16-v1.9.1.md | 16 ++ collections/_posts/de/2018-06-18-v1.10.0.md | 18 +++ collections/_posts/de/2018-06-21-v1.10.1.md | 13 ++ collections/_posts/de/2018-06-30-v1.11.0.md | 17 ++ collections/_posts/de/2018-07-13-v1.12.0.md | 15 ++ collections/_posts/de/2018-07-14-v1.13.0.md | 14 ++ collections/_posts/de/2018-07-26-v1.14.0.md | 18 +++ collections/_posts/de/2018-08-03-v1.15.0.md | 16 ++ collections/_posts/de/2018-08-13-v1.16.0.md | 18 +++ collections/_posts/de/2018-08-18-v1.17.0.md | 19 +++ .../_posts/en}/2017-12-06-video-demo.md | 0 .../en}/2018-01-01-video-stitch-preview.md | 0 .../_posts/en}/2018-01-05-dpi.md | 0 .../_posts/en}/2018-02-05-translation.md | 0 .../_posts/en}/2018-02-22-windows-support.md | 0 .../_posts/en}/2018-04-16-new-website.md | 0 .../_posts/en}/2018-05-05-v1.7.1.md | 0 .../_posts/en}/2018-05-20-v1.8.0.md | 0 .../_posts/en}/2018-05-30-v1.8.1.md | 0 .../_posts/en}/2018-06-08-v1.8.2.md | 0 .../_posts/en}/2018-06-10-v1.9.0.md | 0 .../_posts/en}/2018-06-16-v1.9.1.md | 0 .../_posts/en}/2018-06-18-v1.10.0.md | 0 .../_posts/en}/2018-06-21-v1.10.1.md | 0 .../_posts/en}/2018-06-30-v1.11.0.md | 0 .../_posts/en}/2018-07-13-v1.12.0.md | 0 .../_posts/en}/2018-07-14-v1.13.0.md | 0 .../_posts/en}/2018-07-26-v1.14.0.md | 0 .../_posts/en}/2018-08-03-v1.15.0.md | 0 .../_posts/en}/2018-08-13-v1.16.0.md | 0 .../_posts/en}/2018-08-18-v1.17.0.md | 0 .../_tutorial/en}/applique.md | 0 .../_tutorial/en}/custom-origin.md | 0 .../en}/embroidering-the-inkscape-logo.md | 0 .../_tutorial/en}/free-standing-lace.md | 0 .../_tutorial/en}/fringe.md | 0 .../_tutorial/en}/hoop-template.md | 0 .../_tutorial/en}/inkstitch-logo.md | 0 .../_tutorial/en}/monogram.md | 0 .../_tutorial/en}/puff.md | 0 .../_tutorial/en}/push-pull-compensation.md | 0 .../_tutorials/en}/001-001-galleries.md | 0 .../_tutorials/en}/002-001-branding-guide.md | 0 .../_tutorials/en}/002-002-samples.md | 2 +- .../_tutorials/en}/002-003-templates.md | 2 +- .../en}/003-001-inkstitch-tutorials.md | 2 +- .../_tutorials/en}/003-002-videos.md | 2 +- index.html | 6 +- _i18n/de/index_de.html => index_de.html | 5 +- 147 files changed, 912 insertions(+), 108 deletions(-) delete mode 100644 _i18n/de/_images/grids_de.png rename {_includes => _jekyll/_includes}/folder-galleries (100%) rename {_includes => _jekyll/_includes}/footer.html (97%) rename {_includes => _jekyll/_includes}/head/custom.html (100%) create mode 100644 _jekyll/_includes/language_switcher rename {_includes => _jekyll/_includes}/masthead.html (82%) rename {_includes => _jekyll/_includes}/namespace (100%) rename {_includes => _jekyll/_includes}/nav_list (98%) create mode 100644 _jekyll/_includes/paginator.html create mode 100644 _jekyll/_includes/post_pagination.html rename {_includes => _jekyll/_includes/tutorials}/display_tutorials (88%) rename {_includes => _jekyll/_includes/tutorials}/tutorial_list (100%) create mode 100644 _jekyll/_layouts/posts.html create mode 100644 _jekyll/_layouts/single.html create mode 100644 _pages/de/about.md create mode 100644 _pages/de/category-archive.md create mode 100644 _pages/de/features.md create mode 100644 _pages/de/namespace.md create mode 100644 _pages/de/news.md create mode 100644 _pages/de/sitemap.md rename _pages/{ => en}/about.md (99%) rename _pages/{ => en}/category-archive.md (100%) rename _pages/{ => en}/features.md (100%) rename _pages/{ => en}/namespace.md (100%) rename _pages/{ => en}/news.md (100%) rename _pages/{ => en}/sitemap.md (100%) rename _pages/{ => en}/terms.md (100%) rename assets/images/docs/{ => en}/embroider.jpg (100%) rename assets/images/docs/{ => en}/export-batch.jpg (100%) rename assets/images/docs/{ => en}/export-selection-field.jpg (100%) rename assets/images/docs/{ => en}/flip-satin-column.jpg (100%) rename assets/images/docs/{ => en}/flip-satin-columns-02.jpg (100%) rename assets/images/docs/{ => en}/params-autofill-underlay.jpg (100%) rename assets/images/docs/{ => en}/params-autofill.jpg (100%) rename assets/images/docs/{ => en}/params-manualfill.jpg (100%) rename assets/images/docs/{ => en}/params-presets.jpg (100%) rename assets/images/docs/{ => en}/params-satincolumn.jpg (100%) rename assets/images/docs/{ => en}/params-stroke.jpg (100%) rename assets/images/docs/{ => en}/print-realistic-rendering.jpg (100%) rename assets/images/docs/{ => en}/split-path.jpg (100%) rename assets/images/docs/{ => en}/visual-commands-attach.jpg (100%) rename assets/images/docs/{ => en}/visual-commands-symbol-set.jpg (100%) create mode 100644 collections/_developers/de/001-001-introduction.md create mode 100644 collections/_developers/de/002-001-inkstitch.md create mode 100644 collections/_developers/de/002-002-manual-setup.md create mode 100644 collections/_developers/de/002-003-python-modules.md create mode 100644 collections/_developers/de/002-004-namespace.md create mode 100644 collections/_developers/de/003-001-documentation.md create mode 100644 collections/_developers/de/005-001-localize.md create mode 100644 collections/_developers/de/006-001-report-bugs.md rename {_developers => collections/_developers/en}/001-001-introduction.md (100%) rename {_developers => collections/_developers/en}/002-001-inkstitch.md (100%) rename {_developers => collections/_developers/en}/002-002-manual-setup.md (100%) rename {_developers => collections/_developers/en}/002-003-python-modules.md (100%) rename {_developers => collections/_developers/en}/002-004-namespace.md (100%) rename {_developers => collections/_developers/en}/003-001-documentation.md (100%) rename {_developers => collections/_developers/en}/005-001-localize.md (100%) rename {_developers => collections/_developers/en}/006-001-report-bugs.md (100%) rename {_i18n/de/_docs => collections/_docs/de}/001-001-install.md (100%) rename {_i18n/de/_docs => collections/_docs/de}/001-002-customize.md (100%) rename {_i18n/de/_docs => collections/_docs/de}/001-003-basic-usage.md (100%) rename {_i18n/de/_docs => collections/_docs/de}/001-004-workflow.md (100%) rename {_i18n/de/_docs => collections/_docs/de}/002-001-params.md (95%) rename {_i18n/de/_docs => collections/_docs/de}/002-002-simulate.md (100%) rename {_i18n/de/_docs => collections/_docs/de}/002-003-flip-satin-columns.md (82%) rename {_i18n/de/_docs => collections/_docs/de}/002-004-addons.md (97%) rename {_i18n/de/_docs => collections/_docs/de}/002-005-print.md (98%) rename {_i18n/de/_docs => collections/_docs/de}/002-006-import-export.md (93%) rename {_i18n/de/_docs => collections/_docs/de}/003-001-stroke.md (95%) rename {_i18n/de/_docs => collections/_docs/de}/003-002-satin.md (97%) rename {_i18n/de/_docs => collections/_docs/de}/003-003-fill.md (94%) rename {_i18n/de/_docs => collections/_docs/de}/005-001-get-help.md (100%) rename {_i18n/de/_docs => collections/_docs/de}/005-002-faq.md (100%) rename {_docs => collections/_docs/en}/001-001-install.md (100%) rename {_docs => collections/_docs/en}/001-002-customize.md (100%) rename {_docs => collections/_docs/en}/001-003-basic-usage.md (100%) rename {_docs => collections/_docs/en}/001-004-workflow.md (100%) rename {_docs => collections/_docs/en}/002-001-params.md (94%) rename {_docs => collections/_docs/en}/002-002-simulate.md (100%) rename {_docs => collections/_docs/en}/002-003-flip-satin-columns.md (81%) rename {_docs => collections/_docs/en}/002-004-addons.md (96%) rename {_docs => collections/_docs/en}/002-005-print.md (96%) rename {_docs => collections/_docs/en}/002-006-import-export.md (92%) rename {_docs => collections/_docs/en}/003-001-stroke.md (95%) rename {_docs => collections/_docs/en}/003-002-satin.md (97%) rename {_docs => collections/_docs/en}/003-003-fill.md (95%) rename {_docs => collections/_docs/en}/004-001-fonts.md (100%) rename {_docs => collections/_docs/en}/004-002-features.md (100%) rename {_docs => collections/_docs/en}/004-003-inkscape-tips.md (100%) rename {_docs => collections/_docs/en}/005-001-get-help.md (100%) rename {_docs => collections/_docs/en}/005-002-faq.md (100%) rename {_docs => collections/_docs/en}/005-003-error-messages.md (96%) rename {_docs => collections/_docs/en}/005-004-localization.md (100%) create mode 100644 collections/_posts/de/2018-06-16-v1.9.1.md create mode 100644 collections/_posts/de/2018-06-18-v1.10.0.md create mode 100644 collections/_posts/de/2018-06-21-v1.10.1.md create mode 100644 collections/_posts/de/2018-06-30-v1.11.0.md create mode 100644 collections/_posts/de/2018-07-13-v1.12.0.md create mode 100644 collections/_posts/de/2018-07-14-v1.13.0.md create mode 100644 collections/_posts/de/2018-07-26-v1.14.0.md create mode 100644 collections/_posts/de/2018-08-03-v1.15.0.md create mode 100644 collections/_posts/de/2018-08-13-v1.16.0.md create mode 100644 collections/_posts/de/2018-08-18-v1.17.0.md rename {_posts => collections/_posts/en}/2017-12-06-video-demo.md (100%) rename {_posts => collections/_posts/en}/2018-01-01-video-stitch-preview.md (100%) rename {_posts => collections/_posts/en}/2018-01-05-dpi.md (100%) rename {_posts => collections/_posts/en}/2018-02-05-translation.md (100%) rename {_posts => collections/_posts/en}/2018-02-22-windows-support.md (100%) rename {_posts => collections/_posts/en}/2018-04-16-new-website.md (100%) rename {_posts => collections/_posts/en}/2018-05-05-v1.7.1.md (100%) rename {_posts => collections/_posts/en}/2018-05-20-v1.8.0.md (100%) rename {_posts => collections/_posts/en}/2018-05-30-v1.8.1.md (100%) rename {_posts => collections/_posts/en}/2018-06-08-v1.8.2.md (100%) rename {_posts => collections/_posts/en}/2018-06-10-v1.9.0.md (100%) rename {_posts => collections/_posts/en}/2018-06-16-v1.9.1.md (100%) rename {_posts => collections/_posts/en}/2018-06-18-v1.10.0.md (100%) rename {_posts => collections/_posts/en}/2018-06-21-v1.10.1.md (100%) rename {_posts => collections/_posts/en}/2018-06-30-v1.11.0.md (100%) rename {_posts => collections/_posts/en}/2018-07-13-v1.12.0.md (100%) rename {_posts => collections/_posts/en}/2018-07-14-v1.13.0.md (100%) rename {_posts => collections/_posts/en}/2018-07-26-v1.14.0.md (100%) rename {_posts => collections/_posts/en}/2018-08-03-v1.15.0.md (100%) rename {_posts => collections/_posts/en}/2018-08-13-v1.16.0.md (100%) rename {_posts => collections/_posts/en}/2018-08-18-v1.17.0.md (100%) rename {_tutorial => collections/_tutorial/en}/applique.md (100%) rename {_tutorial => collections/_tutorial/en}/custom-origin.md (100%) rename {_tutorial => collections/_tutorial/en}/embroidering-the-inkscape-logo.md (100%) rename {_tutorial => collections/_tutorial/en}/free-standing-lace.md (100%) rename {_tutorial => collections/_tutorial/en}/fringe.md (100%) rename {_tutorial => collections/_tutorial/en}/hoop-template.md (100%) rename {_tutorial => collections/_tutorial/en}/inkstitch-logo.md (100%) rename {_tutorial => collections/_tutorial/en}/monogram.md (100%) rename {_tutorial => collections/_tutorial/en}/puff.md (100%) rename {_tutorial => collections/_tutorial/en}/push-pull-compensation.md (100%) rename {_tutorials => collections/_tutorials/en}/001-001-galleries.md (100%) rename {_tutorials => collections/_tutorials/en}/002-001-branding-guide.md (100%) rename {_tutorials => collections/_tutorials/en}/002-002-samples.md (59%) rename {_tutorials => collections/_tutorials/en}/002-003-templates.md (60%) rename {_tutorials => collections/_tutorials/en}/003-001-inkstitch-tutorials.md (84%) rename {_tutorials => collections/_tutorials/en}/003-002-videos.md (85%) rename _i18n/de/index_de.html => index_de.html (69%) diff --git a/README.md b/README.md index 1eb1f8a37..97f83a2b8 100644 --- a/README.md +++ b/README.md @@ -103,11 +103,11 @@ user-level: Beginner --- ``` -These categories then can be used to list tutorials with a specific keyword, e.g. `{% include tutorial_list key="stitch-type" value="Fill Stitch" %}` would display a list of all tutorial files which have fill stitch specified in their header. +These categories then can be used to list tutorials with a specific keyword, e.g. `{% include tutorials/tutorial_list key="stitch-type" value="Fill Stitch" %}` would display a list of all tutorial files which have fill stitch specified in their header. They can also be used to display a full list of categories. In this case categories need to be specified by every call of tutorial lists. Example: ``` {% assign tutorial_cats = 'Tutorial Type*Stitch Type*Techniques*Field Of Use*User Level' | split: '*' %} -{% include display_tutorials tutorial_cats=tutorial_cats %} +{% include tutorials/display_tutorials tutorial_cats=tutorial_cats %} ``` diff --git a/_config.yml b/_config.yml index 6f71170fc..f3e6028ae 100644 --- a/_config.yml +++ b/_config.yml @@ -94,7 +94,6 @@ analytics: google: tracking_id : - # Site Author author: name : "Ink/Stitch Community" @@ -128,7 +127,6 @@ author: xing : youtube : # "https://youtube.com/c/MichaelRoseDesign" - # Reading Files include: - .htaccess @@ -252,7 +250,21 @@ compress_html: ignore: envs: development - +# Languages + +languages: + - + - + - English + - + - de + - Deutsch + +# Directories +collections_dir: collections +layouts_dir: _jekyll/_layouts +includes_dir: _jekyll/_includes + # Collections collections: docs: @@ -267,101 +279,130 @@ collections: developers: output: true permalink: /:colleciton/:path/ - i18n: - output: true - permalink: /:collection/:path/ - + # Defaults defaults: - # _posts + # default - scope: path: "" - type: posts values: - lang: en layout: single author_profile: false - read_time: true + read_time: false comments: false + share: false + related: false + # _posts + - scope: + type: posts + values: share: true + read_time: true related: true sidebar: nav: "pages" + # en + - scope: + path: "_posts/en" + values: + lang: en + # de + - scope: + path: "_posts/de" + values: + lang: de # _pages - scope: - path: "" type: pages values: - lang: en - layout: single - author_profile: false sidebar: nav: "pages" + # en + - scope: + path: "_pages/en" + values: + lang: en + # de + - scope: + path: "_pages/de" + values: + lang: de # _docs - scope: - path: "" type: docs values: - lang: en - layout: single - lang: en - read_time: false - author_profile: false - share: false - comments: false sidebar: nav: "docs" - # de/_docs + # en - scope: - path: "" - type: i18n + path: "_docs/en" + values: + lang: en + # de + - scope: + path: "_docs/de" values: - layout: single lang: de - read_time: false - author_profile: false - share: false - comments: false - sidebar: - nav: "docs" # _tutorials - scope: - path: "" type: tutorials values: - lang: en - layout: single - read_time: true - author_profile: false - share: false - comments: false sidebar: nav: "tutorials" + # en + - scope: + path: "_tutorials/en" + values: + lang: en + # de + - scope: + path: "_tutorials/de" + values: + lang: de # _tutorial - scope: - path: "" type: tutorial values: - lang: en - layout: single read_time: true - author_profile: false - share: false - comments: false sidebar: nav: "tutorials" - # _developers - - scope: - path: "" - type: developers + # en + - scope: + path: "_tutorial/en" values: lang: en - layout: single - read_time: false - author_profile: false - share: false - comments: false + # de + - scope: + path: "_tutorial/de" + values: + lang: de + # _developers + - scope: + type: developers + values: sidebar: nav: "developers" + #en + - scope: + path: "_developers/en" + values: + lang: en + # de + - scope: + path: "_developers/de" + values: + lang: de + + +# It'd be nice to have "lang" set through wildcard, using * for directories: +# https://jekyllrb.com/docs/configuration/front-matter-defaults/ +# this doesn't seem to work +# e.g.: +# - scope: +# path: "*/de" +# values: +# lang: de + + diff --git a/_data/navigation_de.yml b/_data/navigation_de.yml index 6d5768e19..f0f948998 100644 --- a/_data/navigation_de.yml +++ b/_data/navigation_de.yml @@ -1,7 +1,7 @@ # main links main: - title: "Features" - url: /features/ + url: /de/features/ - title: "Dokumentation" url: /de/docs/install/ - title: "Tutorials" diff --git a/_data/ui-text.yml b/_data/ui-text.yml index 968118e29..a6aa9adbf 100644 --- a/_data/ui-text.yml +++ b/_data/ui-text.yml @@ -43,6 +43,7 @@ en: &DEFAULT_EN search_placeholder_text : "Enter your search term..." results_found : "Result(s) found" back_to_top : "Back to top" + choose_language : "Choose your language" en-US: <<: *DEFAULT_EN en-CA: @@ -92,6 +93,7 @@ es: &DEFAULT_ES comment_success_msg : "Gracias por su comentario!, Este se visualizará en el sitio una vez haya sido aprobado" comment_error_msg : "Lo sentimos, ha ocurrido un error al enviar su comentario. Por favor asegurese que todos los campos han sido diligenciados e intente de nuevo" loading_label : "Cargando..." + choose_language : "Choose your language" es-ES: <<: *DEFAULT_ES es-CO: @@ -138,6 +140,7 @@ fr: &DEFAULT_FR comment_success_msg : "Merci pour votre commentaire, il sera visible sur le site une fois approuvé." comment_error_msg : "Désolé, une erreur est survenue lors de la soumission. Vérifiez que les champs obligatoires ont été remplis et réessayez." loading_label : "Chargement..." + choose_language : "Choose your language" fr-FR: <<: *DEFAULT_FR fr-BE: @@ -185,6 +188,7 @@ tr: &DEFAULT_TR comment_success_msg : "Yorumunuz için teşekkürler! Yorumunuz onaylandıktan sonra sitede gösterilecektir." comment_error_msg : "Maalesef bir hata oluştu. Lütfen zorunlu olan tüm alanları doldurduğunuzdan emin olun ve sonrasında tekrar deneyin." loading_label : "Yükleniyor..." + choose_language : "Choose your language" tr-TR: <<: *DEFAULT_TR @@ -228,6 +232,7 @@ pt: &DEFAULT_PT comment_success_msg : "Obrigado pelo seu comentário! Será visível no site logo que aprovado." comment_error_msg : "Lamento, ocorreu um erro na sua submissão. Por favor verifique se todos os campos obrigatórios estão corretamente preenchidos e tente novamente." loading_label : "A carregar..." + choose_language : "Choose your language" pt-PT: <<: *DEFAULT_PT # Brazilian Portuguese @@ -269,6 +274,7 @@ pt-BR: comment_success_msg : "Obrigado pelo seu comentário! Ele aparecerá no site assim que for aprovado." comment_error_msg : "Desculpe, ocorreu um erro no envio. Por favor verifique se todos os campos obrigatórios foram preenchidos e tente novamente." loading_label : "Carregando..." + choose_language : "Choose your language" # Italian # ------- @@ -310,6 +316,7 @@ it: &DEFAULT_IT comment_success_msg : "Grazie per il tuo commento! Verrà visualizzato nel sito una volta che sarà approvato." comment_error_msg : "C'è stato un errore con il tuo invio. Assicurati che tutti i campi richiesti siano stati completati e riprova." loading_label : "Caricamento..." + choose_language : "Choose your language" it-IT: <<: *DEFAULT_IT @@ -353,6 +360,7 @@ zh: &DEFAULT_ZH_HANS comment_success_msg : "感谢您的评论!被批准后它会立即在此站点展示。" comment_error_msg : "很抱歉,您的提交存在错误。请确保所有必填字段都已填写正确,然后再试一次。" loading_label : "正在加载..." + choose_language : "Choose your language" zh-CN: <<: *DEFAULT_ZH_HANS zh-SG: @@ -396,6 +404,7 @@ zh-TW: &DEFAULT_ZH_HANT comment_success_msg : "感謝您的留言! 審核後將會顯示在站上。" comment_error_msg : "抱歉,部份資料輸入有問題。請確認資料填寫正確後再試一次。" loading_label : "載入中..." + choose_language : "Choose your language" zh-HK: <<: *DEFAULT_ZH_HANT @@ -441,6 +450,7 @@ de: &DEFAULT_DE loading_label : "Lade..." search_placeholder_text : "Suchbegriff eingeben..." results_found : "Ergebnis(se) gefunden" + choose_language : "Wähle deine Sprache" de-DE: <<: *DEFAULT_DE de-AT: @@ -494,6 +504,7 @@ ne: &DEFAULT_NE comment_success_msg : "तपाईंको टिप्पणीको लागि धन्यवाद! एक पटक यो अनुमोदन गरेपछी यो साइटमा देखाउनेछ।" comment_error_msg : "माफ गर्नुहोस्, तपाईंको टिप्पणी त्रुटि थियो।सबै आवश्यक जानकारीहरु पूरा गरिएको छ भने निश्चित गर्नुहोस् र फेरि प्रयास गर्नुहोस्।" loading_label : "लोड हुँदैछ ..." + choose_language : "Choose your language" ne-NP: <<: *DEFAULT_NE @@ -537,6 +548,7 @@ ko: &DEFAULT_KO comment_success_msg : "감사합니다! 댓글이 머지된 후 확인하실 수 있습니다." comment_error_msg : "댓글 등록에 문제가 있습니다. 필요 필드를 작성했는지 확인하고 다시 시도하세요." loading_label : "로딩중..." + choose_language : "Choose your language" ko-KR: <<: *DEFAULT_KO @@ -582,6 +594,7 @@ ru: &DEFAULT_RU loading_label : "Отправка..." search_placeholder_text : "Введите поисковый запрос..." results_found : "Найдено" + choose_language : "Choose your language" ru-RU: <<: *DEFAULT_RU @@ -625,6 +638,7 @@ lt: &DEFAULT_LT comment_success_msg : "Ačiū už komentarą! Jis bus parodytas kai bus patvirtintas." comment_error_msg : "Atleiskite, įvyko netikėta klaida įrašant komentarą. Pasitikrinkite ar užpildėte visus būtinus laukus ir pamėginkite dar kartą." loading_label : "Kraunama..." + choose_language : "Choose your language" lt-LT: <<: *DEFAULT_LT @@ -670,6 +684,7 @@ gr: &DEFAULT_GR loading_label : "Φόρτωση..." search_placeholder_text : "Εισάγετε όρο αναζήτησης..." results_found : "Αποτελέσματα" + choose_language : "Choose your language" gr-GR: <<: *DEFAULT_GR @@ -713,6 +728,7 @@ sv: &DEFAULT_SV comment_success_msg : "Tack för din kommentar! Den kommer att visas på sidan så fort den har godkännts." comment_error_msg : "Tyvärr det har blivit något fel i en av fälten, se till att du fyller i alla rutor och försök igen." loading_label : "Laddar..." + choose_language : "Choose your language" sv-SE: <<: *DEFAULT_SV sv-FI: @@ -758,6 +774,7 @@ nl: &DEFAULT_NL comment_success_msg : "Bedankt voor uw reactie! Het zal op de site worden weergegeven zodra het is goedgekeurd." comment_error_msg : "Sorry, er is een fout opgetreden bij uw inzending. Zorg ervoor dat alle vereiste velden zijn voltooid en probeer het opnieuw." loading_label : "Laden..." + choose_language : "Choose your language" nl-BE: <<: *DEFAULT_NL nl-NL: @@ -803,6 +820,7 @@ id: &DEFAULT_ID comment_success_msg : "Terimakasih atas komentar Anda! Komentar ini akan tampil setelah disetujui." comment_error_msg : "Maaf, ada kesalahan pada submisi Anda. Pastikan seluruh kolom sudah dilengkapi dan coba kembali." loading_label : "Sedang meload..." + choose_language : "Choose your language" id-ID: <<: *DEFAULT_ID @@ -846,6 +864,7 @@ vi: &DEFAULT_VI comment_success_msg : "Cảm ơn bạn đã bình luận! Bình luận sẽ xuất hiện sau khi được duyệt." comment_error_msg : "Rất tiếc, có lỗi trong việc gửi bình luận. Hãy đảm bảo toàn bộ các phần bắt buộc đã được điền đầy đủ và thử lại." loading_label : "Đang tải..." + choose_language : "Choose your language" vi-VN: <<: *DEFAULT_VI @@ -892,6 +911,7 @@ da: &DEFAULT_DA search_placeholder_text : "Hvad leder du efter..." results_found : "Resultat(er) fundet" back_to_top : "Tilbage til toppen" + choose_language : "Choose your language" da-DK: <<: *DEFAULT_DA @@ -935,6 +955,7 @@ pl: &DEFAULT_PL comment_success_msg : "Dziękuję za Twój komentarz! Zostanie dodany po akceptacji." comment_error_msg : "Niestety wystąpił błąd. Proszę upewnij się, że wszystkie wymagane pola zostały wypełnione i spróbuj ponownie." loading_label : "Trwa ładowanie strony..." + choose_language : "Choose your language" pl-PL: <<: *DEFAULT_PL @@ -980,6 +1001,7 @@ ja: &DEFAULT_JA loading_label : "読み込み中..." search_placeholder_text : "検索キーワードを入力してください..." results_found : "件" + choose_language : "Choose your language" ja-JP: <<: *DEFAULT_JA diff --git a/_i18n/de/_images/grids_de.png b/_i18n/de/_images/grids_de.png deleted file mode 100644 index a9c165b4b44b2ef3bda1042568a80c91375e4a7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68210 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Ν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 WK`Mz}228e;1#-*qCg#T7r~eJ#tH3V+ diff --git a/_includes/folder-galleries b/_jekyll/_includes/folder-galleries similarity index 100% rename from _includes/folder-galleries rename to _jekyll/_includes/folder-galleries diff --git a/_includes/footer.html b/_jekyll/_includes/footer.html similarity index 97% rename from _includes/footer.html rename to _jekyll/_includes/footer.html index 6fe7d22c7..3d8bdd496 100644 --- a/_includes/footer.html +++ b/_jekyll/_includes/footer.html @@ -1,6 +1,6 @@

diff --git a/_pages/de/about.md b/_pages/de/about.md new file mode 100644 index 000000000..76cdb600e --- /dev/null +++ b/_pages/de/about.md @@ -0,0 +1,35 @@ +--- +title: "Ink/Stitch: Ein auf Inkscape basierendes Open Source Programm für Stickmaschinen" +permalink: /de/about/ +excerpt: "" +last_modified_at: 2018-06-23 +--- +## Background and Philosophy + +_von @lexelby, ein Ink/Stitch Programmierer_ + +Möchten Sie Stickmusterdateien (PES, DST und viele mehr) mit einer **kostenlosen, Open-Source-Software** entwerfen? + +Ink/Stitch soll eine vollwertige Stickdigitalisierungssoftware werden, die vollständig auf freier Open-Source-Software basiert. Unser Ziel ist es sowohl für Hobbyisten als auch für professionelle Digitalisierer die benötigten Werkzeuge bereitzustellen. + +Willst du mehr erfahren? + +* [Übersicht der Funktionen](https://inkstitch.org/features/) +* [Installation](https://inkstitch.org/docs/install/) (Mac-Unterstützung ist in Arbeit!) +* [Screenshots](https://inkstitch.org/tutorials/inspiration/) +* [Videos](https://inkstitch.org/tutorials/video/) +* [Website](https://inkstitch.org) + +# Hintergrund und Philosophie + +_von @lexelby, ein Ink/Stitch Programmierer (translated by @kaalleen & @AkiraNorthstar)_ + +Ich erhielt ein wirklich wunderbares Weihnachtsgeschenk für einen Programmierer: eine [Stickmaschine](http://www.brother-usa.com/homesewing/ModelDetail.aspx?ProductID=SE400). Es ähnelt so ziemlich einer CNC-Maschine ... Ich musste einfach herausfinden wie man Programme dafür erstellt. Das Problem daran ist, **alle kostenlosen Stickdesign-Software Varianten** haben ein Defizit, vor allem wenn die Anforderung ist unter Linux, meinem Betriebssystem der Wahl, zu laufen. + +Ich fing an [inkscape-embroidery](http://www.jonh.net/~jonh/inkscape-embroidery/) zu modifizieren. +Es hatte einige der grundlegenden Funktionen die ich benötigte und ich sah eine Menge Potenzial. Ich mag die Idee, einen vorhandenen, ultrastarken SVG-Editor wie [Inkscape](https://inkscape.org) als Basis für eine Stickdesign-Software zu verwenden. + +Von dort ging es los. Ich fügte fortwährend Funktionen hinzu, so wie ich sie brauchte und zu diesem Zeitpunkt ist nur noch sehr wenig von dem ursprünglichen Code übrig. + +Das Ziel von Ink/Stitch ist es, eine leistungsfähige Digitalisierungssoftware für Stickereien für jedermann **völlig kostenlos** zur Verfügung zu stellen. Ich möchte das Gebiet des Stickdesigns öffnen und es auch für diejenigen zugänglich machen, die nicht Hunderte oder Tausende für eine Software ausgeben können oder wollen. Und ich möchte Leuten wie mir, die es lieben Programierung mit Kunst zu verbinden, eine offene, erweiterbare und zugängliche Software geben, auf der man selbst aktiv sein kann. + diff --git a/_pages/de/category-archive.md b/_pages/de/category-archive.md new file mode 100644 index 000000000..d896a9a9d --- /dev/null +++ b/_pages/de/category-archive.md @@ -0,0 +1,5 @@ +--- +title: "Posts by Category" +layout: categories +permalink: /de/categories/ +--- diff --git a/_pages/de/features.md b/_pages/de/features.md new file mode 100644 index 000000000..b2b73b713 --- /dev/null +++ b/_pages/de/features.md @@ -0,0 +1,63 @@ +--- +title: "Ink/Stitch Features" +permalink: /de/features/ +excerpt: "Ink/Stitch features" +last_modified_at: 2018-06-10 +sidebar: + nav: pages +--- +* Digitize machine embroidery designs using Inkscape (SVG) +* Supported Stitches: + * fill stitch + * automatically fill arbitrary shapes with stitches + * adjust the stitch length, row spacing, and row angle + * underlay + * satin stitch + * custom-design your satin column with varying width + * mix and match 3 kinds of underlay + * center-walk + * contour + * zig-zag + * e stitch + * running stitch + * bean stitch + * manual stitch + * plot each stitch exactly where you want it +* Cross Platform + * all code libraries built in, no need to install anything else! +* User interface translated to several languages ([translation help appreciated](https://crowdin.com/project/inkstitch)!) +* Import and Export many popular machine embroidery formats +* Add Trims and Stops +* Edit Stitch Order +* Set custom origin point as (0, 0) in the design file +* Animated stitch-out preview + * including live-preview as you adjust settings like row spacing underlay, etc. +* Print to PDF + * realistic rendering + * line-drawing mode available as well + * embroidery machine operator layout with color blocks, thread names, stitch counts, and custom notes + * client-oriented layout designed for you to send to your customer + * highly customizable through your web browser +* Thread manufacturer palettes (over 60 manufacturers included) + * automated installation of Inkscape palettes for use in your designs + * thread names and catalog numbers included in PDF printouts + +## Supported File Formats + +### Writing +PEC, PES, EXP, DST, JEF, VP3 + +### Reading +PEC, PES, EXP, DST, JEF, VP3, XXX, SEW, u01, SHV, 10o, 100, BRO, DSB, DSZ, EMD, INB, TBF, KSM, TAP, STX + +## Roadmap + +Here are features we're hoping to add, though not necessarily in this order: + +* Lettering +* Gradient Fill (already realised as a [hidden feature](https://github.com/inkstitch/inkstitch/pull/108#issuecomment-369444197)) +* Pattern Fill +* 32-bit Linux support (build engineers needed!) +* bean stitch +* "E" stitch + diff --git a/_pages/de/namespace.md b/_pages/de/namespace.md new file mode 100644 index 000000000..730822931 --- /dev/null +++ b/_pages/de/namespace.md @@ -0,0 +1,10 @@ +--- +title: "Ink/Stitch XML Namespace" +permalink: /de/namespace/ +excerpt: "Document of all metadata tags and embroidery attributes - in future" +last_modified_at: 2018-07-27 + +classes: wide +--- +{% include namespace %} + diff --git a/_pages/de/news.md b/_pages/de/news.md new file mode 100644 index 000000000..1d5070576 --- /dev/null +++ b/_pages/de/news.md @@ -0,0 +1,7 @@ +--- +title: "News" +permalink: /de/news/ +layout: posts +sidebar: + nav: "pages" +--- diff --git a/_pages/de/sitemap.md b/_pages/de/sitemap.md new file mode 100644 index 000000000..07162e204 --- /dev/null +++ b/_pages/de/sitemap.md @@ -0,0 +1,34 @@ +--- +layout: archive +title: "Sitemap" +permalink: /de/sitemap/ +--- + +A list of all the posts and pages found on the site. For you robots out there is an [XML version]({{ "sitemap.xml" | relative_url }}) available for digesting as well. + +## Pages +{% for post in site.pages %} + {% include archive-single.html %} +{% endfor %} + +{% capture written_label %}'None'{% endcapture %} + +{% for collection in site.collections %} +{% unless collection.output == false or collection.label == "posts" %} + {% capture label %}{{ collection.label }}{% endcapture %} + {% if label != written_label %} +

{{ label }}

+ {% capture written_label %}{{ label }}{% endcapture %} + {% endif %} +{% endunless %} +{% for post in collection.docs %} + {% unless collection.output == false or collection.label == "posts" %} + {% include archive-single.html %} + {% endunless %} +{% endfor %} +{% endfor %} + +## Posts +{% for post in site.posts %} + {% include archive-single.html %} +{% endfor %} diff --git a/_pages/about.md b/_pages/en/about.md similarity index 99% rename from _pages/about.md rename to _pages/en/about.md index e7bfb3e76..d23657a34 100644 --- a/_pages/about.md +++ b/_pages/en/about.md @@ -1,4 +1,5 @@ --- +lang: en title: "Ink/Stitch: An open source machine embroidery design platform based on Inkscape" permalink: /about/ excerpt: "" diff --git a/_pages/category-archive.md b/_pages/en/category-archive.md similarity index 100% rename from _pages/category-archive.md rename to _pages/en/category-archive.md diff --git a/_pages/features.md b/_pages/en/features.md similarity index 100% rename from _pages/features.md rename to _pages/en/features.md diff --git a/_pages/namespace.md b/_pages/en/namespace.md similarity index 100% rename from _pages/namespace.md rename to _pages/en/namespace.md diff --git a/_pages/news.md b/_pages/en/news.md similarity index 100% rename from _pages/news.md rename to _pages/en/news.md diff --git a/_pages/sitemap.md b/_pages/en/sitemap.md similarity index 100% rename from _pages/sitemap.md rename to _pages/en/sitemap.md diff --git a/_pages/terms.md b/_pages/en/terms.md similarity index 100% rename from _pages/terms.md rename to _pages/en/terms.md diff --git a/assets/css/main.scss b/assets/css/main.scss index 7fbeec2c3..189c61e62 100644 --- a/assets/css/main.scss +++ b/assets/css/main.scss @@ -49,7 +49,8 @@ key { padding: 0 0.3em; margin: 0.1em 0.3em; border-radius: 5px; - background: radial-gradient(#f2f3f3, #eaeaea); + background: #f2f3f3; + background: radial-gradient(#f2f3f3 60%, #cecece); display: inline-block; min-width: 2em; text-align: center; @@ -149,6 +150,10 @@ table tr td:first-child { padding-left: 1em; */ } + #language_switcher { + margin-top: 2.5em; + } + /* Masthead */ .masthead { box-shadow: 1px 1px 5px #ccc; diff --git a/assets/images/docs/embroider.jpg b/assets/images/docs/en/embroider.jpg similarity index 100% rename from assets/images/docs/embroider.jpg rename to assets/images/docs/en/embroider.jpg diff --git a/assets/images/docs/export-batch.jpg b/assets/images/docs/en/export-batch.jpg similarity index 100% rename from assets/images/docs/export-batch.jpg rename to assets/images/docs/en/export-batch.jpg diff --git a/assets/images/docs/export-selection-field.jpg b/assets/images/docs/en/export-selection-field.jpg similarity index 100% rename from assets/images/docs/export-selection-field.jpg rename to assets/images/docs/en/export-selection-field.jpg diff --git a/assets/images/docs/flip-satin-column.jpg b/assets/images/docs/en/flip-satin-column.jpg similarity index 100% rename from assets/images/docs/flip-satin-column.jpg rename to assets/images/docs/en/flip-satin-column.jpg diff --git a/assets/images/docs/flip-satin-columns-02.jpg b/assets/images/docs/en/flip-satin-columns-02.jpg similarity index 100% rename from assets/images/docs/flip-satin-columns-02.jpg rename to assets/images/docs/en/flip-satin-columns-02.jpg diff --git a/assets/images/docs/params-autofill-underlay.jpg b/assets/images/docs/en/params-autofill-underlay.jpg similarity index 100% rename from assets/images/docs/params-autofill-underlay.jpg rename to assets/images/docs/en/params-autofill-underlay.jpg diff --git a/assets/images/docs/params-autofill.jpg b/assets/images/docs/en/params-autofill.jpg similarity index 100% rename from assets/images/docs/params-autofill.jpg rename to assets/images/docs/en/params-autofill.jpg diff --git a/assets/images/docs/params-manualfill.jpg b/assets/images/docs/en/params-manualfill.jpg similarity index 100% rename from assets/images/docs/params-manualfill.jpg rename to assets/images/docs/en/params-manualfill.jpg diff --git a/assets/images/docs/params-presets.jpg b/assets/images/docs/en/params-presets.jpg similarity index 100% rename from assets/images/docs/params-presets.jpg rename to assets/images/docs/en/params-presets.jpg diff --git a/assets/images/docs/params-satincolumn.jpg b/assets/images/docs/en/params-satincolumn.jpg similarity index 100% rename from assets/images/docs/params-satincolumn.jpg rename to assets/images/docs/en/params-satincolumn.jpg diff --git a/assets/images/docs/params-stroke.jpg b/assets/images/docs/en/params-stroke.jpg similarity index 100% rename from assets/images/docs/params-stroke.jpg rename to assets/images/docs/en/params-stroke.jpg diff --git a/assets/images/docs/print-realistic-rendering.jpg b/assets/images/docs/en/print-realistic-rendering.jpg similarity index 100% rename from assets/images/docs/print-realistic-rendering.jpg rename to assets/images/docs/en/print-realistic-rendering.jpg diff --git a/assets/images/docs/split-path.jpg b/assets/images/docs/en/split-path.jpg similarity index 100% rename from assets/images/docs/split-path.jpg rename to assets/images/docs/en/split-path.jpg diff --git a/assets/images/docs/visual-commands-attach.jpg b/assets/images/docs/en/visual-commands-attach.jpg similarity index 100% rename from assets/images/docs/visual-commands-attach.jpg rename to assets/images/docs/en/visual-commands-attach.jpg diff --git a/assets/images/docs/visual-commands-symbol-set.jpg b/assets/images/docs/en/visual-commands-symbol-set.jpg similarity index 100% rename from assets/images/docs/visual-commands-symbol-set.jpg rename to assets/images/docs/en/visual-commands-symbol-set.jpg diff --git a/collections/_developers/de/001-001-introduction.md b/collections/_developers/de/001-001-introduction.md new file mode 100644 index 000000000..119ccb34b --- /dev/null +++ b/collections/_developers/de/001-001-introduction.md @@ -0,0 +1,15 @@ +--- +title: "Get Involved" +permalink: /de/developers/introduction/ +last_modified_at: 2018-07-21 +toc: false +--- +This section will provide information for developers, translators and documenters. +Please visit the particular sections to get more informations. + +* [Developing Ink/Stitch](/developers/inkstitch/) +* [Documentation](/developers/documentation/) +* [Localization](/developers/localize/) +* [Bug Reports](/developers/report-bugs/) + +Whenever you have questions or remarks, please don't hesitate to get in touch with us through the [github issues](https://github.com/inkstitch/inkstitch/issues). diff --git a/collections/_developers/de/002-001-inkstitch.md b/collections/_developers/de/002-001-inkstitch.md new file mode 100644 index 000000000..af8aa54f8 --- /dev/null +++ b/collections/_developers/de/002-001-inkstitch.md @@ -0,0 +1,21 @@ +--- +title: "Developing Ink/Stitch" +permalink: /de/developers/inkstitch/ +last_modified_at: 2018-07-21 +toc: true +--- +## Ink/Stitch Organization +The [plugin code](https://github.com/inkstitch/inkstitch) as well as the [pyembroidery repository](https://github.com/inkstitch/pyembroidery) can be found within the [Ink/Stitch organization](https://github.com/inkstitch/) on github. Additionaly you will find some other useful things like [embroidery fonts](https://github.com/inkstitch/embroidery-fonts). + +## Inkscape Plugin +Ink/Stitch is an [Inkscape](https://inkscape.org/) plugin. See their website to read a short introduction about [how to write Inkscape plugins](https://inkscape.org/en/develop/extensions/). + +## Ink/Stitch Languages + +Ink/Stitch and pyembroidery are written in [Python](https://www.python.org/) 2.
We cannot use Python 3 because inkex.py, the extension framework for Inkscape, is in Python 2 only. + +Print PDF, which will be displayed in your operating systems default browser, uses web languages such as HTML5, CSS and JQuery. It is build with the help of the [Jinja Template Framework](http://jinja.pocoo.org/). + +## Developers Documentation +* [Manual Setup](/developers/inkstitch/manual-setup/) +* [Python Modules](/developers/inkstitch/python-modules/) diff --git a/collections/_developers/de/002-002-manual-setup.md b/collections/_developers/de/002-002-manual-setup.md new file mode 100644 index 000000000..95cc660c9 --- /dev/null +++ b/collections/_developers/de/002-002-manual-setup.md @@ -0,0 +1,36 @@ +--- +title: "Manual Setup" +permalink: /de/developers/inkstitch/manual-setup/ +last_modified_at: 2018-07-21 +toc: false +--- +A manual setup will allow you to edit the code while running the extension. + +1. Clone the extension source + + ``` + git clone https://github.com/inkstitch/inkstitch + ``` +2. Python Dependencies + + A few python modules are needed. In some cases this extension uses features that aren’t available in the versions of the modules pre-packaged in distributions, so I recommend installing them directly with pip: + ``` + pip install -r requirements.txt + ``` + + **Info:** You might need to remove wxPython and [install](https://wiki.wxpython.org/How%20to%20install%20wxPython) a platform specific package (e.g. Debian uses `python-wxgtk3.0`). + {: .notice--info } +3. Symbolically link into the Inkscape extensions directory + + ``` + cd ~/.config/inkscape/extensions + ln -s /path/to/inkstitch + for i in inkstitch/inx/inkstitch_*.inx; do ln -s $i; done + ln -s inkstitch/inkstitch.py + ``` + +4. Run Inkscape. + + +**Info:** Changes to the Python code take effect the next time the extension is run. Changes to the extension description files (*.inx) take effect the next time Inkscape is restarted. +{: .notice--info } diff --git a/collections/_developers/de/002-003-python-modules.md b/collections/_developers/de/002-003-python-modules.md new file mode 100644 index 000000000..5f07b7b46 --- /dev/null +++ b/collections/_developers/de/002-003-python-modules.md @@ -0,0 +1,63 @@ +--- +title: "Python Modules" +permalink: /de/developers/inkstitch/python-modules/ +last_modified_at: 2018-07-22 +toc: false +--- +Ink/Stitch uses various Python modules. Follow the links to learn more about specific ones. Bold modules are not part of the standard python library and are also listed in the `requirement.txt` file. The ones being displayed in cursive style belong to the [Inkscape Python modules for extensions](http://wiki.inkscape.org/wiki/index.php/Python_modules_for_extensions). + +--- + +[**appdirs**](https://pypi.org/project/appdirs/), +[argparse](https://docs.python.org/2.7/library/argparse.html), +[**backports.functools_lru_cache**](https://pypi.org/project/backports/), +[base64](https://docs.python.org/2.7/library/base64.html#module-base64), +[collections](https://docs.python.org/2.7/library/collections.html), +[**colormath**](https://python-colormath.readthedocs.io/en/latest/), +[colorsys](https://docs.python.org/2/library/colorsys.html), +[copy](https://docs.python.org/2/library/copy.html), +[*cspsubdiv*](http://wiki.inkscape.org/wiki/index.php/Python_modules_for_extensions#cspsubdiv.py), +[cStringIO](https://docs.python.org/2/library/stringio.html), +[*cubicsuperpath*](http://wiki.inkscape.org/wiki/index.php/Python_modules_for_extensions#cubicsuperpath.py), +[datetime](https://docs.python.org/2.7/library/datetime.html#module-datetime), +[errno](https://docs.python.org/2/library/errno.html), +[**flask**](http://flask.pocoo.org/), +[functools](https://docs.python.org/2/library/functools.html#module-functools), +[glob](https://docs.python.org/2/library/glob.html), +[i18n](https://docs.python.org/2/library/i18n.html), +[*inkex*](http://wiki.inkscape.org/wiki/index.php/Python_modules_for_extensions#inkex.py), +[io](https://docs.python.org/2/library/io.html), +[itertools](https://docs.python.org/2/library/itertools.html), +[**jinja2**](https://pypi.org/project/Jinja2/), +[json](https://docs.python.org/2/library/json.html), +[logging](https://docs.python.org/2/library/logging.html), +[math](https://docs.python.org/2/library/math.html), +[**lxml**](https://lxml.de/compatibility.html), +[**networkx**](https://networkx.github.io/), +[**numpy**](http://www.numpy.org/), +[os](https://docs.python.org/2/library/os.html), +[**pyembroidery**](https://github.com/inkstitch/pyembroidery), +[random](https://docs.python.org/2/library/random.html), +[re](https://docs.python.org/2/library/re.html), +[**requests**](https://pypi.org/project/requests/), +[**shapely**](https://pypi.org/project/Shapely/), +[shutil](https://docs.python.org/2/library/shutil.html), +[*simplepath*](http://wiki.inkscape.org/wiki/index.php/Python_modules_for_extensions#simplepath.py), +[*simpletransform*](http://wiki.inkscape.org/wiki/index.php/Python_modules_for_extensions#simpletransform.py), +[*simplestyle*](http://wiki.inkscape.org/wiki/index.php/Python_modules_for_extensions#simplestyle.py), +[socket](https://docs.python.org/2/library/socket.html), +[subprocess](https://docs.python.org/2/library/subprocess.html), +[sys](https://docs.python.org/2/library/sys.html), +[tempfile](https://docs.python.org/2/library/tempfile.html), +[threading](https://docs.python.org/2/library/threading.html), +[time](https://docs.python.org/2/library/time.html), +[traceback](https://docs.python.org/2/library/traceback.html), +[webbrowser](https://docs.python.org/2/library/webbrowser.html), +[**win32api**](https://github.com/mhammond/pywin32), +[**winutils**](https://pypi.org/project/pywinutils/), +[**wx**](https://docs.wxpython.org/wx.1moduleindex.html), +[**wx.lib**](https://docs.wxpython.org/wx.lib.html), +[zipfile](https://docs.python.org/2/library/zipfile.html) + +--- + diff --git a/collections/_developers/de/002-004-namespace.md b/collections/_developers/de/002-004-namespace.md new file mode 100644 index 000000000..ef265761e --- /dev/null +++ b/collections/_developers/de/002-004-namespace.md @@ -0,0 +1,7 @@ +--- +title: "Ink/Stitch XML Namespace" +permalink: /de/developers/inkstitch/namespace/ +last_modified_at: 2018-07-27 +toc: true +--- +{% include namespace %} diff --git a/collections/_developers/de/003-001-documentation.md b/collections/_developers/de/003-001-documentation.md new file mode 100644 index 000000000..75989d259 --- /dev/null +++ b/collections/_developers/de/003-001-documentation.md @@ -0,0 +1,16 @@ +--- +title: "Documentation" +permalink: /de/developers/documentation/ +excerpt: "" +last_modified_at: 2018-07-21 +--- +We want to describe every possible function with text, images and/or videos. Also provide instructions about the installation process and give an overview of the best workflow. Additionally we want to provide sample files which other users can make use of. It also would be nice to get some example images of embroidered designs to prove what Ink/Stitch is able to do. + +An other and quiet unfinished part of the documentation will be, to help other developers to get started diving into the code. Enable them to introduce new functionalities to Ink/Stitch or whatever they might come up with. + +## Get involved +This website needs a lot of care. Generating new content and updating existing content with the ongoing developement of Ink/Stitch. We could use any helpful hand. + +You do not need to know how to build a website, since we use [Markdown](https://help.github.com/articles/basic-writing-and-formatting-syntax/) for text formatting. More information about the documentation project can be found in the [README](https://github.com/inkstitch/inkstitch/tree/gh-pages) file on github. That is also where you will find all files needed to build this website. + +If you have interest to help with the documentation, file an issue on [github](https://github.com/inkstitch/inkstitch/issues) and tell us, that you are willing to help. diff --git a/collections/_developers/de/005-001-localize.md b/collections/_developers/de/005-001-localize.md new file mode 100644 index 000000000..0768d4a5c --- /dev/null +++ b/collections/_developers/de/005-001-localize.md @@ -0,0 +1,26 @@ +--- +title: "Ink/Stitch Localization" +permalink: /de/developers/localize/ +excerpt: "" +last_modified_at: 2018-04-14 +toc: false +--- +The goal of the Ink/Stitch project is to put free, high-quality embroidery design tools in the hands of folks that might normally not have access to such tools. To further that goal, we seek to support as many languages and locales as possible. + +Ink/Stitch supports displaying text in the user's preferred language in the Params dialog and in error messages displayed by the Embroider extension. Future work will add translations for the extension settings window (displayed by Inkscape) and project documentation (such as this file). + +## Help wanted! + +Want to help translate? We'd really appreciate your contributions! Ink/Stitch uses a the collaborative translation platform CrowdIn to facilitate community translations. Through their generous open source program, we're able to use their platform free of charge, and we greatly appreciate their support. + +To start translating, visit our project page on CrowdIn. It's easy to sign in using your GitHub account. Pick a language and start suggesting translations! + +Approved contributors can accept your translations, which causes them to be submitted to this GitHub repository as a pull request. If you'd like to become an approver, please ping [**@lexelby**](https://github.com/lexelby) or another approved contributor, or email **inkstitch-l10n** at **lex** dot **gd**. + +**Please note that our [code of conduct](CODE_OF_CONDUCT.md) also covers contributions and interactions on our CrowdIn page.** + +## Continuous Translation + +When new code is added to ink/stitch, user-facing text can change and new messages can be added. CrowdIn picks these changes up automatically and makes the new messages available to translators. + +When CrowdIn creates a pull request, our [Travis-CI](http://travis-ci.org) integration (also generously provided for free!) picks up the new translations and builds a new version of Ink/Stitch as a development release. Once Travis-CI finishes building, the new version is posted to our releases page [here](https://github.com/inkstitch/inkstitch/releases/tag/dev-build-l10n), and you can install it and make sure everything looks right before we merge. diff --git a/collections/_developers/de/006-001-report-bugs.md b/collections/_developers/de/006-001-report-bugs.md new file mode 100644 index 000000000..0c2b52404 --- /dev/null +++ b/collections/_developers/de/006-001-report-bugs.md @@ -0,0 +1,14 @@ +--- +title: "Report Bugs " +permalink: /de/developers/report-bugs/ +excerpt: "" +last_modified_at: 2018-06-05 +--- + +**Having Issues with Ink/Stitch?** + +It would be very helpful, if you reported this back to us on github: + +Also have look at these existing issues: +* [Reported Bugs](https://github.com/inkstitch/inkstitch/issues?q=is%3Aissue+is%3Aopen+label%3Abug) +* [Feature Requests](https://github.com/inkstitch/inkstitch/issues?q=is%3Aissue+is%3Aopen+label%3A%22feature+request%22) diff --git a/_developers/001-001-introduction.md b/collections/_developers/en/001-001-introduction.md similarity index 100% rename from _developers/001-001-introduction.md rename to collections/_developers/en/001-001-introduction.md diff --git a/_developers/002-001-inkstitch.md b/collections/_developers/en/002-001-inkstitch.md similarity index 100% rename from _developers/002-001-inkstitch.md rename to collections/_developers/en/002-001-inkstitch.md diff --git a/_developers/002-002-manual-setup.md b/collections/_developers/en/002-002-manual-setup.md similarity index 100% rename from _developers/002-002-manual-setup.md rename to collections/_developers/en/002-002-manual-setup.md diff --git a/_developers/002-003-python-modules.md b/collections/_developers/en/002-003-python-modules.md similarity index 100% rename from _developers/002-003-python-modules.md rename to collections/_developers/en/002-003-python-modules.md diff --git a/_developers/002-004-namespace.md b/collections/_developers/en/002-004-namespace.md similarity index 100% rename from _developers/002-004-namespace.md rename to collections/_developers/en/002-004-namespace.md diff --git a/_developers/003-001-documentation.md b/collections/_developers/en/003-001-documentation.md similarity index 100% rename from _developers/003-001-documentation.md rename to collections/_developers/en/003-001-documentation.md diff --git a/_developers/005-001-localize.md b/collections/_developers/en/005-001-localize.md similarity index 100% rename from _developers/005-001-localize.md rename to collections/_developers/en/005-001-localize.md diff --git a/_developers/006-001-report-bugs.md b/collections/_developers/en/006-001-report-bugs.md similarity index 100% rename from _developers/006-001-report-bugs.md rename to collections/_developers/en/006-001-report-bugs.md diff --git a/_i18n/de/_docs/001-001-install.md b/collections/_docs/de/001-001-install.md similarity index 100% rename from _i18n/de/_docs/001-001-install.md rename to collections/_docs/de/001-001-install.md diff --git a/_i18n/de/_docs/001-002-customize.md b/collections/_docs/de/001-002-customize.md similarity index 100% rename from _i18n/de/_docs/001-002-customize.md rename to collections/_docs/de/001-002-customize.md diff --git a/_i18n/de/_docs/001-003-basic-usage.md b/collections/_docs/de/001-003-basic-usage.md similarity index 100% rename from _i18n/de/_docs/001-003-basic-usage.md rename to collections/_docs/de/001-003-basic-usage.md diff --git a/_i18n/de/_docs/001-004-workflow.md b/collections/_docs/de/001-004-workflow.md similarity index 100% rename from _i18n/de/_docs/001-004-workflow.md rename to collections/_docs/de/001-004-workflow.md diff --git a/_i18n/de/_docs/002-001-params.md b/collections/_docs/de/002-001-params.md similarity index 95% rename from _i18n/de/_docs/002-001-params.md rename to collections/_docs/de/002-001-params.md index 1b5197c90..77092a796 100644 --- a/_i18n/de/_docs/002-001-params.md +++ b/collections/_docs/de/002-001-params.md @@ -27,4 +27,4 @@ Schaue das Dokument [Stichtypen](/assets/images/docs/stitch-types.svg){: downloa Es besteht auch die Möglichkeit, die bevorzugten Sticheinstellungen zu speichern und bei Bedarf zu laden. -![Presets Dialog](/assets/images/docs/params-presets.jpg) +![Presets Dialog](/assets/images/docs/en/params-presets.jpg) diff --git a/_i18n/de/_docs/002-002-simulate.md b/collections/_docs/de/002-002-simulate.md similarity index 100% rename from _i18n/de/_docs/002-002-simulate.md rename to collections/_docs/de/002-002-simulate.md diff --git a/_i18n/de/_docs/002-003-flip-satin-columns.md b/collections/_docs/de/002-003-flip-satin-columns.md similarity index 82% rename from _i18n/de/_docs/002-003-flip-satin-columns.md rename to collections/_docs/de/002-003-flip-satin-columns.md index 39e2d266b..45f7ba39d 100644 --- a/_i18n/de/_docs/002-003-flip-satin-columns.md +++ b/collections/_docs/de/002-003-flip-satin-columns.md @@ -17,11 +17,11 @@ Dies ist ein kleines Werkzeug, mit dem der Stichpfad genau geplant werden kann. Kehrt eine Satinkolumne, die auf der linken Seite beginnt und auf der rechten Seite endet, um. Diese wird nun auf der rechten Seite beginnen und auf der linken Seite enden. Sonst wird nichts an der Satinkolumne verändert. -![Satinkolumne umkehren](/assets/images/docs/flip-satin-column.jpg) +![Satinkolumne umkehren](/assets/images/docs/en/flip-satin-column.jpg) **Beispiel** Satinkolumne umkehren, um die Verbindungen zwischen zwei verschiedenen Abschnitten zu verkürzen. -![Satinkolumne umkehren](/assets/images/docs/flip-satin-columns-02.jpg) +![Satinkolumne umkehren](/assets/images/docs/en/flip-satin-columns-02.jpg) diff --git a/_i18n/de/_docs/002-004-addons.md b/collections/_docs/de/002-004-addons.md similarity index 97% rename from _i18n/de/_docs/002-004-addons.md rename to collections/_docs/de/002-004-addons.md index 4a94087cb..f2aafca5e 100644 --- a/_i18n/de/_docs/002-004-addons.md +++ b/collections/_docs/de/002-004-addons.md @@ -57,13 +57,13 @@ Start- und Endpunkt gelten derzeit nur für Objekte mit Füllstich, während Tri * Aktiviere die gewünschten Befehle und wenden sie an * Automatische Füllung: Verschiebe Start- und Endpunkte. Der Endpunkt der Verknüpfung, der dem Füllobjekt am nächsten ist, ist der Punkt, an dem das Sticken beginnt oder endet. -![Visiual Commands - Attach](/assets/images/docs/visual-commands-attach.jpg) +![Visiual Commands - Attach](/assets/images/docs/en/visual-commands-attach.jpg) ### Visuelle Befehle manuell anhängen * Gehe zu `Objekt -> Symbole` oder benutze `Shift+Strg+Y`, um über den Symboldialog auf die Marker zuzugreifen. * Wähle "Ink/Stitch Commands" als Symbolsatz. -! [Symbolsatz](/assets/images/docs/visual-commands-symbol-set.jpg) +! [Symbolsatz](/assets/images/docs/en/visual-commands-symbol-set.jpg) * Ziehe einen Marker auf den Arbeitsbereich (egal wo). * Verwende das Flussdiagramm-Werkzeug ("Diagramm-Konnektoren erstellen", `Strg + F2`), um eine Verbindung zwischen dem Marker und dem Füllobjekt zu erstellen, auf das es angewendet werden soll. Dies wird einen Verbindungspfad hinzufügen. * Wenn der Marker verschoben wird, ändert sich die Position der Verknüpfung. Die Endpunkte der Verknüpfung kann auch manuell verschoben werden. Der Endpunkt der Verknüpfung, der dem Füllobjekt am nächsten ist, ist der Punkt, an dem das Sticken beginnt oder endet. diff --git a/_i18n/de/_docs/002-005-print.md b/collections/_docs/de/002-005-print.md similarity index 98% rename from _i18n/de/_docs/002-005-print.md rename to collections/_docs/de/002-005-print.md index aef0ae449..42778d089 100644 --- a/_i18n/de/_docs/002-005-print.md +++ b/collections/_docs/de/002-005-print.md @@ -28,7 +28,7 @@ Die Designvorschau hat auch verschiedene Optionen. Dort können die Größe entw Standardmäßig verwendet die Druckvorschau den Linienzeichnungsmodus. Aktiviere `Realistisch`, wenn eine realistische Vorschau gewünscht wird. Es wird eine Weile dauern um diese Ansicht darzustellen, aber es lohnt sich zu warten. Diese Einstellung muss für jede einzelne Seite aktiviert werden, die verwendet werden soll. -![Linienzeichnung und realistische Vorschau](/assets/images/docs/print-realistic-rendering.jpg){: width="450x" } +![Linienzeichnung und realistische Vorschau](/assets/images/docs/en/print-realistic-rendering.jpg){: width="450x" } ### Einstellungen diff --git a/_i18n/de/_docs/002-006-import-export.md b/collections/_docs/de/002-006-import-export.md similarity index 93% rename from _i18n/de/_docs/002-006-import-export.md rename to collections/_docs/de/002-006-import-export.md index 0b5ca14fa..b23ed108d 100644 --- a/_i18n/de/_docs/002-006-import-export.md +++ b/collections/_docs/de/002-006-import-export.md @@ -33,14 +33,14 @@ Die Version 1.10.0 von Ink/Stitch hat die Möglichkeit, Dateien direkt über den Wähle ein Dateiformat, das die Stickmaschine lesen kann, und speichere die Datei im gewünschten Ausgabeverzeichnis. -![Ausgabeformat](/assets/images/docs/export-selection-field.jpg) +![Ausgabeformat](/assets/images/docs/en/export-selection-field.jpg) Für zukünftige Änderungen stelle sicher, dass auch eine SVG-Version des Designs behalten wird. ### Methode 2 (Stichplan anzeigen) Um Designs zu exportieren, starte `Erweiterungen -> Ink/Stitch -> Sticken ...`. -![Sticken ...](/assets/images/docs/embroider.jpg){: width="450" } +![Sticken ...](/assets/images/docs/en/embroider.jpg){: width="450" } Einstellungen|Beschreibung ---|--- @@ -61,6 +61,6 @@ Unter `Datei -> Speichern unter ...` wähle den kleinen Pfeil im Dateiformat-Aus Navigiere zum gewünschten Ausgabeverzeichnis und wähle dort das `Ink/Stitch: Export von mehreren Formaten (.zip)` aus. Klicke auf "Speichern". Dort wird gefragt, welche Dateiformate hinein sollen. -![Batch Export](/assets/images/docs/export-batch.jpg) +![Batch Export](/assets/images/docs/en/export-batch.jpg) diff --git a/_i18n/de/_docs/003-001-stroke.md b/collections/_docs/de/003-001-stroke.md similarity index 95% rename from _i18n/de/_docs/003-001-stroke.md rename to collections/_docs/de/003-001-stroke.md index 847d79b99..b7a74ae4c 100644 --- a/_i18n/de/_docs/003-001-stroke.md +++ b/collections/_docs/de/003-001-stroke.md @@ -9,7 +9,7 @@ toc: true Wähle eine Linie aus und öffne `Erweiterungen -> Ink/Stitch -> Parameter`. -![Kontur Parameter](/assets/images/docs/params-stroke.jpg) +![Kontur Parameter](/assets/images/docs/en/params-stroke.jpg) Einstellung|Beschreibung ---|--- @@ -37,7 +37,7 @@ Gehe zu `Objekt -> Füllung und Kontur ...` oder benutze `Umschalt + Strg + F` u {: .notice--info style="clear: both;" } **Sample inklusive Laufstich** -{% include tutorial_list key="stitch-type" value="Running Stitch" %} +{% include tutorials/tutorial_list key="stitch-type" value="Running Stitch" %} ## Bean Stitch Modus @@ -55,7 +55,7 @@ Aktiviere `Manuelle Stichplatzierung`, um den manuellen Stichmodus zu verwenden. **Sample inklusive Manueller Stich** {: style="clear: both;" } -{% include tutorial_list key="stitch-type" value="Manual Stitch" %} +{% include tutorials/tutorial_list key="stitch-type" value="Manual Stitch" %} ## Zick-Zack Modus (vormals Simple Satin) Zick-Zack-Stiche können durch Setzen einer **durchgehenden Linie** (ohne gestrichelte Linie) erstellt werden. Mit Ink/Stich werden Stiche entlang des Pfads mit der angegebenen Linienbreite erstellt. diff --git a/_i18n/de/_docs/003-002-satin.md b/collections/_docs/de/003-002-satin.md similarity index 97% rename from _i18n/de/_docs/003-002-satin.md rename to collections/_docs/de/003-002-satin.md index 77c97bf7a..2ee663407 100644 --- a/_i18n/de/_docs/003-002-satin.md +++ b/collections/_docs/de/003-002-satin.md @@ -52,7 +52,7 @@ Original Design von [Liv Iko](https://thenounproject.com/liv_iko/collection/bird ## Parameter -![Parameter Satinkolumne.jpg](/assets/images/docs/params-satincolumn.jpg) +![Parameter Satinkolumne.jpg](/assets/images/docs/en/params-satincolumn.jpg) Einstellung|Beschreibung ---|--- @@ -78,5 +78,5 @@ Dies ist eine Reihe von Laufstichen die auf einer Seite der Kolumne hoch und auf Dies ist im Wesentlichen ein Satinstich mit geringerer Dichte, der an das Ende der Kolumne und zurück an den Anfang genäht wird. Wird eine Konturunterlage hinzugefügt, erhält man, wie im oben verlinkten Artikel erwähnt, die "Deutsche Unterlage". Für breite Kolumnen oder anspruchsvolle Stoffe können alle drei Unterlagentypen zusammen verwendet werden. ## Sample inklusive einer Satinkolumne -{% include tutorial_list key="stitch-type" value="Satin Stitch" %} +{% include tutorials/tutorial_list key="stitch-type" value="Satin Stitch" %} diff --git a/_i18n/de/_docs/003-003-fill.md b/collections/_docs/de/003-003-fill.md similarity index 94% rename from _i18n/de/_docs/003-003-fill.md rename to collections/_docs/de/003-003-fill.md index 6095eb538..9deb779b0 100644 --- a/_i18n/de/_docs/003-003-fill.md +++ b/collections/_docs/de/003-003-fill.md @@ -20,7 +20,7 @@ Seit Ink/Stitch v1.11.0 können Start- und Endpunkte für automatisch gefüllte ### Parameter -![Parameter Automatische Füllung](/assets/images/docs/params-autofill.jpg) +![Parameter Automatische Füllung](/assets/images/docs/en/params-autofill.jpg) Einstellung|Beschreibung ---|--- @@ -40,7 +40,7 @@ Um dies zu lösen, benötigt man eine Unterlage: eine erste Lage von Stichen, di In den **Parametern** sieht man neben der Registerkarte "Auto-Füllung" eine andere mit dem Namen AutoFill-Unterlage. Aktiviert wird sie, indem das Kontrollkästchen `Unterlage` aktiviert wird. -![Parameter AutoFill-Unterlage](/assets/images/docs/params-autofill-underlay.jpg) +![Parameter AutoFill-Unterlage](/assets/images/docs/en/params-autofill-underlay.jpg) Einstellung|Beschreibung ---|--- @@ -51,7 +51,7 @@ Maximale Stichlänge | Stiche können am Anfang oder am Ende einer Reihe verkür Reihenabstand | Reihenabstand der Unterlage. Standard ist der 3fache Abstand der obersten Ebene. ### Sample inklusive Füllstiche -{% include tutorial_list key="stitch-type" value="Fill Stitch" %} +{% include tutorials/tutorial_list key="stitch-type" value="Fill Stitch" %} ## Manuelle Füllung Manuelle Füllung ist der alte Modus, bevor die automatische Füllfunktion implementiert wurde. In einigen Fällen ist Automatische Füllung möglicherweise keine Option, z. B. wenn die Laufstiche zwischen den Abschnitten für das Design nicht akzeptabel sind. In der Regel werden die Kanten der Füllbereiche von Satin bedeckt, aber nicht immer. @@ -60,7 +60,7 @@ Bei dem Manuellen Füllen zerlegt die Erweiterung die Form in Abschnitte auf, vo Mit ziemlicher Sicherheit wird man die Form in kleinere zerlegen und diese mit [Laufstichen](/docs/stitches/stroke/#running-stitch-mode) verbinden wollen. Es ist eine mühsame Arbeit, die zeitaufwendig ist, weil es zweimal gemacht werden muss: einmal für die Unterlage und das zweite mal für die daraufliegnde Lage. -![Parameter Automatische Füllung](/assets/images/docs/params-manualfill.jpg) +![Parameter Automatische Füllung](/assets/images/docs/en/params-manualfill.jpg) Einstellung|Beschreibung ---|--- diff --git a/_i18n/de/_docs/005-001-get-help.md b/collections/_docs/de/005-001-get-help.md similarity index 100% rename from _i18n/de/_docs/005-001-get-help.md rename to collections/_docs/de/005-001-get-help.md diff --git a/_i18n/de/_docs/005-002-faq.md b/collections/_docs/de/005-002-faq.md similarity index 100% rename from _i18n/de/_docs/005-002-faq.md rename to collections/_docs/de/005-002-faq.md diff --git a/_docs/001-001-install.md b/collections/_docs/en/001-001-install.md similarity index 100% rename from _docs/001-001-install.md rename to collections/_docs/en/001-001-install.md diff --git a/_docs/001-002-customize.md b/collections/_docs/en/001-002-customize.md similarity index 100% rename from _docs/001-002-customize.md rename to collections/_docs/en/001-002-customize.md diff --git a/_docs/001-003-basic-usage.md b/collections/_docs/en/001-003-basic-usage.md similarity index 100% rename from _docs/001-003-basic-usage.md rename to collections/_docs/en/001-003-basic-usage.md diff --git a/_docs/001-004-workflow.md b/collections/_docs/en/001-004-workflow.md similarity index 100% rename from _docs/001-004-workflow.md rename to collections/_docs/en/001-004-workflow.md diff --git a/_docs/002-001-params.md b/collections/_docs/en/002-001-params.md similarity index 94% rename from _docs/002-001-params.md rename to collections/_docs/en/002-001-params.md index a2812418a..58f812ac6 100644 --- a/_docs/002-001-params.md +++ b/collections/_docs/en/002-001-params.md @@ -27,4 +27,4 @@ Ink/Stitch can produce the following stitch types You also have the possibility to save your preferred stitch settings and load them when needed. -![Presets Dialog](/assets/images/docs/params-presets.jpg) +![Presets Dialog](/assets/images/docs/en/params-presets.jpg) diff --git a/_docs/002-002-simulate.md b/collections/_docs/en/002-002-simulate.md similarity index 100% rename from _docs/002-002-simulate.md rename to collections/_docs/en/002-002-simulate.md diff --git a/_docs/002-003-flip-satin-columns.md b/collections/_docs/en/002-003-flip-satin-columns.md similarity index 81% rename from _docs/002-003-flip-satin-columns.md rename to collections/_docs/en/002-003-flip-satin-columns.md index 810c8da1a..caa84205a 100644 --- a/_docs/002-003-flip-satin-columns.md +++ b/collections/_docs/en/002-003-flip-satin-columns.md @@ -18,11 +18,11 @@ This is a little tool to help you to plan your stitch path precisely. If you have a satin column that starts on the left rail and ends on the right, this will make it start on the right rail and end on the left. Nothing else about the satin is changed. -![Flip Satin Columns](/assets/images/docs/flip-satin-column.jpg) +![Flip Satin Columns](/assets/images/docs/en/flip-satin-column.jpg) **Usage Example** Flip satin columns to shorten connections between two different sections. -![Flip Satin Columns](/assets/images/docs/flip-satin-columns-02.jpg) +![Flip Satin Columns](/assets/images/docs/en/flip-satin-columns-02.jpg) diff --git a/_docs/002-004-addons.md b/collections/_docs/en/002-004-addons.md similarity index 96% rename from _docs/002-004-addons.md rename to collections/_docs/en/002-004-addons.md index 9127433ef..df6ff0c22 100644 --- a/_docs/002-004-addons.md +++ b/collections/_docs/en/002-004-addons.md @@ -57,13 +57,13 @@ Starting and ending point currently apply only to fill-stitch objects, while tri * Enable desired commands and apply * Auto-Fill: Move starting and ending points. The connector's endpoint nearest to the fill object is the point at which stitching will start or end. -![Visiual Commands - Attach](/assets/images/docs/visual-commands-attach.jpg) +![Visiual Commands - Attach](/assets/images/docs/en/visual-commands-attach.jpg) ### Attach visual commands manually * Go to `Object > Symbols` or hit `Shift+Ctrl+Y` to access the markers through the symbols dialog. * Select "Ink/Stitch Commands" as the symbol set. -![Symbol Set](/assets/images/docs/visual-commands-symbol-set.jpg) +![Symbol Set](/assets/images/docs/en/visual-commands-symbol-set.jpg) * Drag a marker out onto your canvas (doesn't matter where). * Use the Flow-Chart Tool ("create diagram connectors" `Ctrl+F2`) to draw a connection between the marker and the fill object to which it should apply. This will add a connector path. * Moving the marker will change the connector's position to match. You can also move the endpoints of the connector manually. The connector's endpoint nearest to the fill object is the point at which stitching will start or end. diff --git a/_docs/002-005-print.md b/collections/_docs/en/002-005-print.md similarity index 96% rename from _docs/002-005-print.md rename to collections/_docs/en/002-005-print.md index 609a24811..396dc98fb 100644 --- a/_docs/002-005-print.md +++ b/collections/_docs/en/002-005-print.md @@ -28,7 +28,7 @@ The design preview also has different options. You can adjust the size either by By default the print preview uses the line drawing mode. Check `Realistic` if you wish a realistic rendering preview. It will take a little while to calculate this view, but it's worth waiting. This setting needs to be activated to each single page where you want to use it. -![Line Drawing and Realistic render](/assets/images/docs/print-realistic-rendering.jpg){: width="450x" } +![Line Drawing and Realistic render](/assets/images/docs/en/print-realistic-rendering.jpg){: width="450x" } ### Settings diff --git a/_docs/002-006-import-export.md b/collections/_docs/en/002-006-import-export.md similarity index 92% rename from _docs/002-006-import-export.md rename to collections/_docs/en/002-006-import-export.md index 3ab4d3b4f..6999b2351 100644 --- a/_docs/002-006-import-export.md +++ b/collections/_docs/en/002-006-import-export.md @@ -33,14 +33,14 @@ Ink/Stitch version 1.10.0 introduced the possibility to export files directly th Select a file format that your embroidery machine can read and `Save` the file in your desired output directory. -![File Format Field](/assets/images/docs/export-selection-field.jpg) +![File Format Field](/assets/images/docs/en/export-selection-field.jpg) For later changes make sure that you keep an SVG version of your design as well. ### Method 2 (Display Stitch Plan) To export your designs run `Extensions > Embroidery > Embroider...`. -![Embroider...](/assets/images/docs/embroider.jpg){: width="450" } +![Embroider...](/assets/images/docs/en/embroider.jpg){: width="450" } Settings|Description ---|--- @@ -61,6 +61,6 @@ Go to `File > Save as...` and click on the little arrow on the file format selec Navigate to your desired output folder and choose the Ink/Stitch ZIP file format. Click `Save`. You then will be asked which file formats you wish to be included. -![Batch Export](/assets/images/docs/export-batch.jpg) +![Batch Export](/assets/images/docs/en/export-batch.jpg) diff --git a/_docs/003-001-stroke.md b/collections/_docs/en/003-001-stroke.md similarity index 95% rename from _docs/003-001-stroke.md rename to collections/_docs/en/003-001-stroke.md index e6180cba9..e0f325914 100644 --- a/_docs/003-001-stroke.md +++ b/collections/_docs/en/003-001-stroke.md @@ -9,7 +9,7 @@ toc: true Select a stroke and open `Extensions > Embroidery > Params`. -![Params Stroke](/assets/images/docs/params-stroke.jpg) +![Params Stroke](/assets/images/docs/en/params-stroke.jpg) Settings|Description ---|--- @@ -37,7 +37,7 @@ Go to `Object > Fill and Stroke...` or hit `Shift+Ctrl+F` and choose one of the {: .notice--info style="clear: both;" } **Sample Files Including Running Stitch** -{% include tutorial_list key="stitch-type" value="Running Stitch" %} +{% include tutorials/tutorial_list key="stitch-type" value="Running Stitch" %} ## Bean Stitch Mode @@ -55,7 +55,7 @@ Enable `Manual stitch placement` to make use of the manual stitch mode. Line sty **Sample Files Including Manual Stitch** {: style="clear: both;" } -{% include tutorial_list key="stitch-type" value="Manual Stitch" %} +{% include tutorials/tutorial_list key="stitch-type" value="Manual Stitch" %} ## Zig-Zag Stitch Mode (previously Simple Satin) Zig-Zag stitches can be created by setting a **continuous line** (without dashes). Ink/Stitch will create stitches along the path using the stroke width you specified. diff --git a/_docs/003-002-satin.md b/collections/_docs/en/003-002-satin.md similarity index 97% rename from _docs/003-002-satin.md rename to collections/_docs/en/003-002-satin.md index f91cb1ec6..d02227410 100644 --- a/_docs/003-002-satin.md +++ b/collections/_docs/en/003-002-satin.md @@ -52,7 +52,7 @@ Original design by [Liv Iko](https://thenounproject.com/liv_iko/collection/birds ## Params -![Params Satin Column.jpg](/assets/images/docs/params-satincolumn.jpg) +![Params Satin Column.jpg](/assets/images/docs/en/params-satincolumn.jpg) Settings|Description ---|--- @@ -78,5 +78,5 @@ This is a row of running stitch up one side of the column and back down the othe This is essentially a lower-density satin stitch sewn to the end of the column and back to the start. Added with contour underlay, you get the "German Underlay" mentioned in the article linked above. For wide columns or challenging fabrics, you can use all three underlay types together. ## Sample Files Including Satin Column -{% include tutorial_list key="stitch-type" value="Satin Stitch" %} +{% include tutorials/tutorial_list key="stitch-type" value="Satin Stitch" %} diff --git a/_docs/003-003-fill.md b/collections/_docs/en/003-003-fill.md similarity index 95% rename from _docs/003-003-fill.md rename to collections/_docs/en/003-003-fill.md index a804cef78..2ed7a5af7 100644 --- a/_docs/003-003-fill.md +++ b/collections/_docs/en/003-003-fill.md @@ -20,7 +20,7 @@ Since Ink/Stitch v1.11.0 it is possible to set start and end points for autofill ### Params -![Params AutoFill](/assets/images/docs/params-autofill.jpg) +![Params AutoFill](/assets/images/docs/en/params-autofill.jpg) Settings|Description ---|--- @@ -40,7 +40,7 @@ To solve this, you need underlay: an initial layer of stitches that hold up the In **Params**, you'll see an underlay tab next to the AutoFill tab. Enable it by checking the box. -![Params AutoFill](/assets/images/docs/params-autofill-underlay.jpg) +![Params AutoFill](/assets/images/docs/en/params-autofill-underlay.jpg) Settings|Description ---|--- @@ -51,7 +51,7 @@ Max stitch length|Maximum stitch length. Stitches can be shortened at the start Row spacing|Underlay row spacing. Defaults to 3x the spacing of the top layer. ### Samples Files Including Fill Stitches -{% include tutorial_list key="stitch-type" value="Fill Stitch" %} +{% include tutorials/tutorial_list key="stitch-type" value="Fill Stitch" %} ## Manual-Fill Manual Fill is the old mode before automatic fill routing was implemented. In some cases, AutoFill may not be an option, such as when the running stitches between sections are not acceptable for your design. Usually, fill region edges are covered over by satin, but not always. @@ -60,7 +60,7 @@ In manual fill, the extension will still break up the shape into sections, each You'll almost certainly want to break your shape up into smaller shapes and connect them using [running stitches](/docs/stitches/stroke/#running-stitch-mode). It's a painstaking process, made more so because you'll need to do it twice: once for the underlay and again for the top stitching. -![Params AutoFill](/assets/images/docs/params-manualfill.jpg) +![Params AutoFill](/assets/images/docs/en/params-manualfill.jpg) Settings|Description ---|--- diff --git a/_docs/004-001-fonts.md b/collections/_docs/en/004-001-fonts.md similarity index 100% rename from _docs/004-001-fonts.md rename to collections/_docs/en/004-001-fonts.md diff --git a/_docs/004-002-features.md b/collections/_docs/en/004-002-features.md similarity index 100% rename from _docs/004-002-features.md rename to collections/_docs/en/004-002-features.md diff --git a/_docs/004-003-inkscape-tips.md b/collections/_docs/en/004-003-inkscape-tips.md similarity index 100% rename from _docs/004-003-inkscape-tips.md rename to collections/_docs/en/004-003-inkscape-tips.md diff --git a/_docs/005-001-get-help.md b/collections/_docs/en/005-001-get-help.md similarity index 100% rename from _docs/005-001-get-help.md rename to collections/_docs/en/005-001-get-help.md diff --git a/_docs/005-002-faq.md b/collections/_docs/en/005-002-faq.md similarity index 100% rename from _docs/005-002-faq.md rename to collections/_docs/en/005-002-faq.md diff --git a/_docs/005-003-error-messages.md b/collections/_docs/en/005-003-error-messages.md similarity index 96% rename from _docs/005-003-error-messages.md rename to collections/_docs/en/005-003-error-messages.md index b578a65e2..c1f9d5650 100644 --- a/_docs/005-003-error-messages.md +++ b/collections/_docs/en/005-003-error-messages.md @@ -50,7 +50,7 @@ No embroiderable paths found in document.
Tip: use Path -> Object to Path t Error Message|Description ---|--- -One or more rails crosses itself, and this is not allowed.
Please split into multiple satin columns.|With *Node Edit Tool* select a node at the position where you want to split your path. Click on `Break path at selected nodes` within the *Tool Controls Bar*.

![Split Path](/assets/images/docs/split-path.jpg)
Hit `Ctrl+Shift+K` to seperate all pieces. Recombine selected rails and rungs with `Ctrl+K`. Then apply param settings to both seperated satin columns. +One or more rails crosses itself, and this is not allowed.
Please split into multiple satin columns.|With *Node Edit Tool* select a node at the position where you want to split your path. Click on `Break path at selected nodes` within the *Tool Controls Bar*.

![Split Path](/assets/images/docs/en/split-path.jpg)
Hit `Ctrl+Shift+K` to seperate all pieces. Recombine selected rails and rungs with `Ctrl+K`. Then apply param settings to both seperated satin columns. satin column: One or more of the rungs doesn't intersect both rails.|Make sure rungs intersect both rails.
[More information](/docs/stitches/satin/#rung-method) Each rail should intersect both rungs once.|Make sure rungs intersect both rails once.
[More information](/docs/stitches/satin/#rung-method) satin column: One or more of the rungs intersects the rails more than once.|Make sure rungs intersect rails only once. If this is already the case and you still are receiving this message, one or more rungs might be longer than the rails. In this case you should consider using the [node method](/docs/stitches/satin/#node-method) or to prolong the rails. diff --git a/_docs/005-004-localization.md b/collections/_docs/en/005-004-localization.md similarity index 100% rename from _docs/005-004-localization.md rename to collections/_docs/en/005-004-localization.md diff --git a/collections/_posts/de/2018-06-16-v1.9.1.md b/collections/_posts/de/2018-06-16-v1.9.1.md new file mode 100644 index 000000000..9fa4a5773 --- /dev/null +++ b/collections/_posts/de/2018-06-16-v1.9.1.md @@ -0,0 +1,16 @@ +--- +layout: single +title: "Ink/Stitch v1.9.1: Viele Fehlerbehebungen" +date: 2018-06-16 +categories: Releases +--- +**Changelog:** + +* properly handle case where stroke width is not set (defaults to 1 per SVG spec) +* properly handle case where `` width and height not set (defaults to viewbox) +* properly handle case where fill is not set (defaults to "black" rather than "none") +* show error message (rather than crashing) if satin column set for a path with only one subpath +* don't leave the simulate window around after "use last settings" +* show a useful error message in Params if the user hasn't selected anything embroiderable + +[Download](https://github.com/lexelby/inkstitch/releases/tag/v1.9.1){: .btn .btn--primary .btn--large } diff --git a/collections/_posts/de/2018-06-18-v1.10.0.md b/collections/_posts/de/2018-06-18-v1.10.0.md new file mode 100644 index 000000000..ddb33eedc --- /dev/null +++ b/collections/_posts/de/2018-06-18-v1.10.0.md @@ -0,0 +1,18 @@ +--- +layout: single +title: "v1.10.0 Unterstützung von Datei > Kopie speichern und Massenexport" +date: 2018-06-18 +categories: Releases +--- +**Changelog:** + +This version adds an exciting new feature: File -> Save Copy support to +directly save your design in machine format (PES, DST, etc). Better still, +you can save as an Ink/Stitch ZIP file. Ink/Stitch will export your design +in your selected machine formats and zip it all together, ready for sale +as a stock design. + +In order to use the new output extensions, you'll need to restart Inkscape +after you install this version. + +[Download](https://github.com/lexelby/inkstitch/releases/tag/v1.10.0){: .btn .btn--primary .btn--large } diff --git a/collections/_posts/de/2018-06-21-v1.10.1.md b/collections/_posts/de/2018-06-21-v1.10.1.md new file mode 100644 index 000000000..2c261a88f --- /dev/null +++ b/collections/_posts/de/2018-06-21-v1.10.1.md @@ -0,0 +1,13 @@ +--- +layout: single +title: "Ink/Stitch v1.10.1: Kleine Fehlerbehebungen in der Druckausgabe" +date: 2018-06-21 +categories: Releases +--- +**Changelog:** + +* correctly hide the "choose file" button (#209) +* make the "close" button work even if the connection to ink/stitch is lost +* clean up some leftover commented-out code + +[Download](https://github.com/lexelby/inkstitch/releases/tag/v1.10.1){: .btn .btn--primary .btn--large } diff --git a/collections/_posts/de/2018-06-30-v1.11.0.md b/collections/_posts/de/2018-06-30-v1.11.0.md new file mode 100644 index 000000000..1a4a8e949 --- /dev/null +++ b/collections/_posts/de/2018-06-30-v1.11.0.md @@ -0,0 +1,17 @@ +--- +layout: single +title: "Ink/Stitch v1.11.0: Füllstich Start- und Endpunkt" +date: 2018-06-30 +categories: Releases +--- +**Changelog:** + +This version contains a long-awaited feature: the ability to specify the start and end point for autofill stitch. + +To use: + 1. Restart Inkscape after installing this version. + 2. Run the "Embroidery -> Install add-ons for Inkscape" extension. + 3. Restart Inkscape again. + 4. Take a look at images/examples/Fill Stitch Starting and Ending Point.svg for further instructions - or read on our website about the [add-on features](/docs/addons/). + +[Download](https://github.com/inkstitch/inkstitch/releases/tag/v1.11.0){: .btn .btn--primary .btn--large } diff --git a/collections/_posts/de/2018-07-13-v1.12.0.md b/collections/_posts/de/2018-07-13-v1.12.0.md new file mode 100644 index 000000000..947749e63 --- /dev/null +++ b/collections/_posts/de/2018-07-13-v1.12.0.md @@ -0,0 +1,15 @@ +--- +layout: single +title: "Ink/Stitch v1.12.0: Satinkolumne umkehren und dynamische Vorschaubild-Größe in Druckausgabe" +date: 2018-07-13 +categories: Releases +--- +**Changelog:** + + * new extension to swap the rails of a satin column + * Print PDF + * size of thumbnails in operator detailed view is now changeable + * when thumbnails are large, it switches to a more optimal row-based layout + * updated wxPython to the latest version + +[Download](https://github.com/inkstitch/inkstitch/releases/tag/v1.12.0){: .btn .btn--primary .btn--large } diff --git a/collections/_posts/de/2018-07-14-v1.13.0.md b/collections/_posts/de/2018-07-14-v1.13.0.md new file mode 100644 index 000000000..6a2c4714f --- /dev/null +++ b/collections/_posts/de/2018-07-14-v1.13.0.md @@ -0,0 +1,14 @@ +--- +layout: single +title: "Ink/Stitch v1.13.0: Neue Erweiterung: \"Kommandos anhängen\"" +date: 2018-07-14 +categories: Releases +--- +**Changelog:** + + * use the extension to add command symbols to any object: + * auto-fill start and end positions + * trim thread + * stop (pause) sewing + +[Download](https://github.com/inkstitch/inkstitch/releases/tag/v1.13.0){: .btn .btn--primary .btn--large } diff --git a/collections/_posts/de/2018-07-26-v1.14.0.md b/collections/_posts/de/2018-07-26-v1.14.0.md new file mode 100644 index 000000000..523c84b03 --- /dev/null +++ b/collections/_posts/de/2018-07-26-v1.14.0.md @@ -0,0 +1,18 @@ +--- +layout: single +title: "Ink/Stitch v1.14.0: Neue Bibliothek zum Speichern von Stickdateien" +date: 2018-07-26 +categories: Releases +--- +**Changelog:** + +This release integrates pyembroidery, a pure Python machine embroidery file format library. This fixes major bugs in several file formats and may make a Mac OS version significantly easier. + + * known working file formats: + * writing: PEC PES EXP DST JEF VP3 + * reading: PEC PES EXP DST JEF VP3 XXX SEW u01 SHV 10o 100 BRO DSB DSZ EMD INB TBF KSM TAP STX + * stop handling is much better + * Ink/Stitch ends the color block at a STOP + * Stop blocks are denoted in Print PDF's operator detail view + +[Download](https://github.com/inkstitch/inkstitch/releases/tag/v1.14.0){: .btn .btn--primary .btn--large } diff --git a/collections/_posts/de/2018-08-03-v1.15.0.md b/collections/_posts/de/2018-08-03-v1.15.0.md new file mode 100644 index 000000000..60b30507d --- /dev/null +++ b/collections/_posts/de/2018-08-03-v1.15.0.md @@ -0,0 +1,16 @@ +--- +layout: single +title: "Ink/Stitch v1.15.0: Mac Version!" +date: 2018-08-03 +categories: Releases +--- +**Changelog:** + +This is the first version of Ink/Stitch to officially support Mac OS X! + + * mac support + * known issue: simulation window appears off-screen to the top + * workaround: press q to close the window + * buttons in the simulator to speed up, slow down, pause, restart, and quit + +[Download](https://github.com/inkstitch/inkstitch/releases/tag/v1.15.0){: .btn .btn--primary .btn--large } diff --git a/collections/_posts/de/2018-08-13-v1.16.0.md b/collections/_posts/de/2018-08-13-v1.16.0.md new file mode 100644 index 000000000..594a31d44 --- /dev/null +++ b/collections/_posts/de/2018-08-13-v1.16.0.md @@ -0,0 +1,18 @@ +--- +layout: single +title: "Ink/Stitch v1.16.0: Neue Sticharten und ein Satinkolumnen-Konvertierungs-Werkzeug" +date: 2018-08-13 +categories: Releases +--- +**Changelog:** + + * new stitches: + * bean stitch + * E stitch (satin column only) + * new tool: convert line to satin column + * makes it easy to start a satin column + * use as-is or customize the rungs or rails + * added more tooltips in Params + * fix for JEF output corruption + +[Download](https://github.com/inkstitch/inkstitch/releases/tag/v1.16.0){: .btn .btn--primary .btn--large } diff --git a/collections/_posts/de/2018-08-18-v1.17.0.md b/collections/_posts/de/2018-08-18-v1.17.0.md new file mode 100644 index 000000000..bce935dfe --- /dev/null +++ b/collections/_posts/de/2018-08-18-v1.17.0.md @@ -0,0 +1,19 @@ +--- +layout: single +title: "Ink/Stitch v1.17.0 Verbesserter Simulator, \"Objekt ignorieren\"-Befehl und ein paar Fehlerbehebungen" +date: 2018-08-18 +categories: Releases +--- +**Changelog:** + + * improved simulator + * simulator window is positioned better on all platforms + * shortcut keys are consistent across all platforms and keyboard layouts + * current stitch number is displayed + * "ignore" commands + * "ignore object" command to ignore a specific object when stitching + * "ignore layer" command to ignore a whole layer + * try to avoid cutting corners in auto-fill + * bug fix: File -> Save as machine embroidery formats produced corrupted files on Windows + +[Download](https://github.com/inkstitch/inkstitch/releases/tag/v1.17.0){: .btn .btn--primary .btn--large } diff --git a/_posts/2017-12-06-video-demo.md b/collections/_posts/en/2017-12-06-video-demo.md similarity index 100% rename from _posts/2017-12-06-video-demo.md rename to collections/_posts/en/2017-12-06-video-demo.md diff --git a/_posts/2018-01-01-video-stitch-preview.md b/collections/_posts/en/2018-01-01-video-stitch-preview.md similarity index 100% rename from _posts/2018-01-01-video-stitch-preview.md rename to collections/_posts/en/2018-01-01-video-stitch-preview.md diff --git a/_posts/2018-01-05-dpi.md b/collections/_posts/en/2018-01-05-dpi.md similarity index 100% rename from _posts/2018-01-05-dpi.md rename to collections/_posts/en/2018-01-05-dpi.md diff --git a/_posts/2018-02-05-translation.md b/collections/_posts/en/2018-02-05-translation.md similarity index 100% rename from _posts/2018-02-05-translation.md rename to collections/_posts/en/2018-02-05-translation.md diff --git a/_posts/2018-02-22-windows-support.md b/collections/_posts/en/2018-02-22-windows-support.md similarity index 100% rename from _posts/2018-02-22-windows-support.md rename to collections/_posts/en/2018-02-22-windows-support.md diff --git a/_posts/2018-04-16-new-website.md b/collections/_posts/en/2018-04-16-new-website.md similarity index 100% rename from _posts/2018-04-16-new-website.md rename to collections/_posts/en/2018-04-16-new-website.md diff --git a/_posts/2018-05-05-v1.7.1.md b/collections/_posts/en/2018-05-05-v1.7.1.md similarity index 100% rename from _posts/2018-05-05-v1.7.1.md rename to collections/_posts/en/2018-05-05-v1.7.1.md diff --git a/_posts/2018-05-20-v1.8.0.md b/collections/_posts/en/2018-05-20-v1.8.0.md similarity index 100% rename from _posts/2018-05-20-v1.8.0.md rename to collections/_posts/en/2018-05-20-v1.8.0.md diff --git a/_posts/2018-05-30-v1.8.1.md b/collections/_posts/en/2018-05-30-v1.8.1.md similarity index 100% rename from _posts/2018-05-30-v1.8.1.md rename to collections/_posts/en/2018-05-30-v1.8.1.md diff --git a/_posts/2018-06-08-v1.8.2.md b/collections/_posts/en/2018-06-08-v1.8.2.md similarity index 100% rename from _posts/2018-06-08-v1.8.2.md rename to collections/_posts/en/2018-06-08-v1.8.2.md diff --git a/_posts/2018-06-10-v1.9.0.md b/collections/_posts/en/2018-06-10-v1.9.0.md similarity index 100% rename from _posts/2018-06-10-v1.9.0.md rename to collections/_posts/en/2018-06-10-v1.9.0.md diff --git a/_posts/2018-06-16-v1.9.1.md b/collections/_posts/en/2018-06-16-v1.9.1.md similarity index 100% rename from _posts/2018-06-16-v1.9.1.md rename to collections/_posts/en/2018-06-16-v1.9.1.md diff --git a/_posts/2018-06-18-v1.10.0.md b/collections/_posts/en/2018-06-18-v1.10.0.md similarity index 100% rename from _posts/2018-06-18-v1.10.0.md rename to collections/_posts/en/2018-06-18-v1.10.0.md diff --git a/_posts/2018-06-21-v1.10.1.md b/collections/_posts/en/2018-06-21-v1.10.1.md similarity index 100% rename from _posts/2018-06-21-v1.10.1.md rename to collections/_posts/en/2018-06-21-v1.10.1.md diff --git a/_posts/2018-06-30-v1.11.0.md b/collections/_posts/en/2018-06-30-v1.11.0.md similarity index 100% rename from _posts/2018-06-30-v1.11.0.md rename to collections/_posts/en/2018-06-30-v1.11.0.md diff --git a/_posts/2018-07-13-v1.12.0.md b/collections/_posts/en/2018-07-13-v1.12.0.md similarity index 100% rename from _posts/2018-07-13-v1.12.0.md rename to collections/_posts/en/2018-07-13-v1.12.0.md diff --git a/_posts/2018-07-14-v1.13.0.md b/collections/_posts/en/2018-07-14-v1.13.0.md similarity index 100% rename from _posts/2018-07-14-v1.13.0.md rename to collections/_posts/en/2018-07-14-v1.13.0.md diff --git a/_posts/2018-07-26-v1.14.0.md b/collections/_posts/en/2018-07-26-v1.14.0.md similarity index 100% rename from _posts/2018-07-26-v1.14.0.md rename to collections/_posts/en/2018-07-26-v1.14.0.md diff --git a/_posts/2018-08-03-v1.15.0.md b/collections/_posts/en/2018-08-03-v1.15.0.md similarity index 100% rename from _posts/2018-08-03-v1.15.0.md rename to collections/_posts/en/2018-08-03-v1.15.0.md diff --git a/_posts/2018-08-13-v1.16.0.md b/collections/_posts/en/2018-08-13-v1.16.0.md similarity index 100% rename from _posts/2018-08-13-v1.16.0.md rename to collections/_posts/en/2018-08-13-v1.16.0.md diff --git a/_posts/2018-08-18-v1.17.0.md b/collections/_posts/en/2018-08-18-v1.17.0.md similarity index 100% rename from _posts/2018-08-18-v1.17.0.md rename to collections/_posts/en/2018-08-18-v1.17.0.md diff --git a/_tutorial/applique.md b/collections/_tutorial/en/applique.md similarity index 100% rename from _tutorial/applique.md rename to collections/_tutorial/en/applique.md diff --git a/_tutorial/custom-origin.md b/collections/_tutorial/en/custom-origin.md similarity index 100% rename from _tutorial/custom-origin.md rename to collections/_tutorial/en/custom-origin.md diff --git a/_tutorial/embroidering-the-inkscape-logo.md b/collections/_tutorial/en/embroidering-the-inkscape-logo.md similarity index 100% rename from _tutorial/embroidering-the-inkscape-logo.md rename to collections/_tutorial/en/embroidering-the-inkscape-logo.md diff --git a/_tutorial/free-standing-lace.md b/collections/_tutorial/en/free-standing-lace.md similarity index 100% rename from _tutorial/free-standing-lace.md rename to collections/_tutorial/en/free-standing-lace.md diff --git a/_tutorial/fringe.md b/collections/_tutorial/en/fringe.md similarity index 100% rename from _tutorial/fringe.md rename to collections/_tutorial/en/fringe.md diff --git a/_tutorial/hoop-template.md b/collections/_tutorial/en/hoop-template.md similarity index 100% rename from _tutorial/hoop-template.md rename to collections/_tutorial/en/hoop-template.md diff --git a/_tutorial/inkstitch-logo.md b/collections/_tutorial/en/inkstitch-logo.md similarity index 100% rename from _tutorial/inkstitch-logo.md rename to collections/_tutorial/en/inkstitch-logo.md diff --git a/_tutorial/monogram.md b/collections/_tutorial/en/monogram.md similarity index 100% rename from _tutorial/monogram.md rename to collections/_tutorial/en/monogram.md diff --git a/_tutorial/puff.md b/collections/_tutorial/en/puff.md similarity index 100% rename from _tutorial/puff.md rename to collections/_tutorial/en/puff.md diff --git a/_tutorial/push-pull-compensation.md b/collections/_tutorial/en/push-pull-compensation.md similarity index 100% rename from _tutorial/push-pull-compensation.md rename to collections/_tutorial/en/push-pull-compensation.md diff --git a/_tutorials/001-001-galleries.md b/collections/_tutorials/en/001-001-galleries.md similarity index 100% rename from _tutorials/001-001-galleries.md rename to collections/_tutorials/en/001-001-galleries.md diff --git a/_tutorials/002-001-branding-guide.md b/collections/_tutorials/en/002-001-branding-guide.md similarity index 100% rename from _tutorials/002-001-branding-guide.md rename to collections/_tutorials/en/002-001-branding-guide.md diff --git a/_tutorials/002-002-samples.md b/collections/_tutorials/en/002-002-samples.md similarity index 59% rename from _tutorials/002-002-samples.md rename to collections/_tutorials/en/002-002-samples.md index 1e8211f99..577ae0d13 100644 --- a/_tutorials/002-002-samples.md +++ b/collections/_tutorials/en/002-002-samples.md @@ -7,4 +7,4 @@ read_time: false classes: wide --- -{% include tutorial_list key="tutorial-type" value="Sample File" %} +{% include tutorials/tutorial_list key="tutorial-type" value="Sample File" %} diff --git a/_tutorials/002-003-templates.md b/collections/_tutorials/en/002-003-templates.md similarity index 60% rename from _tutorials/002-003-templates.md rename to collections/_tutorials/en/002-003-templates.md index b589a1d9c..71fcf2505 100644 --- a/_tutorials/002-003-templates.md +++ b/collections/_tutorials/en/002-003-templates.md @@ -7,4 +7,4 @@ read_time: false classes: wide --- -{% include tutorial_list key="tutorial-type" value="Template" %} +{% include tutorials/tutorial_list key="tutorial-type" value="Template" %} diff --git a/_tutorials/003-001-inkstitch-tutorials.md b/collections/_tutorials/en/003-001-inkstitch-tutorials.md similarity index 84% rename from _tutorials/003-001-inkstitch-tutorials.md rename to collections/_tutorials/en/003-001-inkstitch-tutorials.md index cf4d4ef8d..bccd8a1df 100644 --- a/_tutorials/003-001-inkstitch-tutorials.md +++ b/collections/_tutorials/en/003-001-inkstitch-tutorials.md @@ -8,4 +8,4 @@ classes: wide {% comment %}This is the list of keys you can set to categorize tutorials, use slugified version in tutorial file: f.e. Tutorial Type would become tutorial-type{% endcomment %} {% assign tutorial_cats = 'Tutorial Type*Stitch Type*Techniques*User Level' | split: '*' %} -{% include display_tutorials tutorial_cats=tutorial_cats %} +{% include tutorials/display_tutorials tutorial_cats=tutorial_cats %} diff --git a/_tutorials/003-002-videos.md b/collections/_tutorials/en/003-002-videos.md similarity index 85% rename from _tutorials/003-002-videos.md rename to collections/_tutorials/en/003-002-videos.md index e5cd7004e..18b1a6b13 100644 --- a/_tutorials/003-002-videos.md +++ b/collections/_tutorials/en/003-002-videos.md @@ -9,6 +9,6 @@ classes: wide For now [Evan West inkStitch Tutotials - Youtube](https://www.youtube.com/watch?v=w7ZjgxdcAp4&list=PLMNtO24YQeCzjclRoMFO-fZFu4TrZUKs3) it is the closest thing to a user manual you get :) -{% include tutorial_list key="tutorial-type" value="Video" %} +{% include tutorials/tutorial_list key="tutorial-type" value="Video" %} Also make sure to checkout the [Ink/Stitch Youtube-Channel](https://www.youtube.com/channel/UCJCDCFuT_xQoI55e10HRiRw). diff --git a/index.html b/index.html index ea88886e6..cec1257e3 100644 --- a/index.html +++ b/index.html @@ -3,6 +3,7 @@ title: "Ink/Stitch" permalink: / sidebar: nav: "pages" +lang: en ---

An open source machine embroidery design platform based on Inkscape.

@@ -13,5 +14,6 @@ sidebar:

Download Ink/Stitch

News

-
    {% for post in site.posts offset: 0 limit: 10 %}
  • {{ post.date | date: "%B %-d, %Y" }}: {{ post.title }}
  • {% endfor %}
-

Read more

+{% assign posts = site.posts | where: "lang", "en" %} +
    {% for post in posts offset: 0 limit: 10 %}
  • {{ post.date | date: "%B %-d, %Y" }}: {{ post.title }}
  • {% endfor %}
+

{{ site.data.ui-text[page.lang].more_label | default: "Read more" }}

diff --git a/_i18n/de/index_de.html b/index_de.html similarity index 69% rename from _i18n/de/index_de.html rename to index_de.html index 2a7db93a5..50d8a0390 100644 --- a/_i18n/de/index_de.html +++ b/index_de.html @@ -15,5 +15,6 @@ sidebar:

Download Ink/Stitch

Neuigkeiten

-
    {% for post in site.posts offset: 0 limit: 10 %}
  • {{ post.date | date: "%B %-d, %Y" }}: {{ post.title }}
  • {% endfor %}
-

{{ f.btn_label | default: site.data.ui-text[page.lang].more_label }}

+{% assign posts = site.posts | where: "lang", "de" %} +
    {% for post in posts offset: 0 limit: 10 %}
  • {{ post.date | date: "%B %-d, %Y" }}: {{ post.title }}
  • {% endfor %}
+

{{ site.data.ui-text[page.lang].more_label | default: "Read more" }}