Шаблонов генератор: Генератор Шаблонов

Содержание

Создание шаблона генератора демонстраций Azure DevOps

Twitter LinkedIn Facebook Адрес электронной почты

  • Статья
  • Чтение занимает 2 мин

Azure DevOps Services

генератор Azure DevOps предоставляет ряд шаблонов, которые поддерживают широкий спектр сценариев, от разных типов проектов до разных языков программирования, платформ развертывания и т. д., в дополнение к этому генератор также позволяет пользователям создавать собственные шаблоны. Пользователи могут преобразовать существующие проекты в шаблоны, а затем подготовить новые проекты с помощью этого шаблона. Возможность создания пользовательских шаблонов может быть полезна во многих сценариях, таких как создание пользовательских учебных материалов, подготовка только определенных артефактов и т. д.,

В этом документе описаны действия по использованию средства извлечения.

Перед началом работы

Настройте проект Azure DevOps и убедитесь, что он готов к извлечению. Средство извлечения будет записывать содержимое проекта и сохранять их в виде JSON-файлов, которые будут архивироваться в ZIP-файл.

Создание нового настраиваемого шаблона

  1. Получите доступ к генератору с помощью параметра запроса enableextractor=true, добавленного в URL-адрес: https://azuredevopsdemogenerator.azurewebsites.net/?enableextractor=true

  2. После входа на главной странице появится новая ссылка с меткой «Сборка шаблона».

  3. Выбрав, что откроет главную страницу средства извлечения на новой вкладке.

  4. Выберите организацию, а затем проект, который вы хотите превратить в шаблон.

  5. Нажмите кнопку «Анализ«. Это позволит проверить, поддерживается ли проект одним из поддерживаемых типов (только проекты на основе гибких, scrum и базовых процессов в настоящее время) и что все содержимое можно прочитать. В конце анализа вы увидите артефакты и количество элементов, чтобы убедиться, что средство извлечения правильно считывает все элементы.

  6. Если это правильно и вы хотите продолжить, нажмите кнопку «Создать Artifacts

    «. Это снова будет считывать все элементы из проекта, но на этот раз содержимое будет сохранено в виде данных JSON. После извлечения всех элементов папка будет архивирована в ZIP-файл.

  7. Щелкните ссылку, чтобы скачать ZIP-файл. Обратите внимание, что ZIP-файл не хранится на стороне сервера, поэтому убедитесь, что вы скачали файл. Он будет недоступен после закрытия страницы.

Примечание: Средство извлечения поддерживает только ограниченные артефакты и типы рабочих элементов, поэтому его не следует рассматривать как средство миграции для перемещения проектов с одного сервера на другой. Сведения о поддерживаемых и не поддерживаемых ограничениях см. в разделе «Ограничения»

Подготовка проекта из настраиваемого шаблона

  1. Вернитесь на страницу генератора или снова откройте ее, если она уже закрыта. В URL-адресе следует использовать параметр

    запроса enableextractor=true .

  2. Выбор шаблона

  3. Появится новая вкладка с меткой Private. Выберите вкладку.

  4. На закрытой вкладке можно импортировать шаблон с локального диска, GitHub или любой URL-адрес HTTPS.

    Если URL-адресу требуется проверка подлинности, укажите маркер доступа или пароль имени пользователя&.

  5. Нажмите кнопку «Отправить» , чтобы проверить шаблон и учетные данные.

  6. Если проверка действина, она примет шаблон. В поле «Выбранный шаблон » будет представлено имя шаблона.

    Теперь все готово к созданию проекта с помощью собственного шаблона


Предыдущий: использование генератора

Создание и настройка генераторов и шаблонов Rails

Генераторы Rails — необходимый инструмент, если вы планируете улучшить свой рабочий процесс. С помощью этого руководства вы изучите, как создавать генераторы и настраивать существующие.

После прочтения этого руководства, вы узнаете:

  • Как посмотреть, какие генераторы доступны в вашем приложении.
  • Как создать генератор с использованием шаблонов.
  • Как Rails ищет генераторы, чтобы вызвать их.
  • Как Rails генерирует код Rails из шаблонов.
  • Как настроить скаффолд, создавая новые генераторы.
  • Как настроить скаффолд, изменяя шаблоны генератора.
  • Как использовать фолбэки, чтобы избежать переопределения большого набора генераторов.
  • Как создать шаблон приложения.

1. Первый контакт

При создании приложения с помощью команды rails фактически вы используете генератор Rails. После этого можно получить список всех доступных генераторов, просто вызвав

bin/rails generate:

$ rails new myapp
$ cd myapp
$ bin/rails generate

Чтобы создать новое приложение rails, мы используем глобальную команду rails, которую установил гем rails с помощью gem install rails. Когда внутри директории вашего приложения, мы используем команду bin/rails, которая использует комплект rails этого приложения.

Вы получите список всех генераторов, поставляющихся с Rails. Если необходимо подробное описание, к примеру, генератора helper, можно просто сделать так:

$ bin/rails generate helper --help

2.

Создание своего генератора

Начиная с Rails 3.0, генераторы создаются на основе Thor. Thor представляет мощные опции для парсинга и великолепный API для взаимодействия с файлами. Например, давайте создадим генератор, создающий файл инициализатора с именем initializer.rb внутри config/initializers

.

Первым шагом является создание файла lib/generators/initializer_generator.rb со следующим содержимым:

class InitializerGenerator < Rails::Generators::Base
  def create_initializer_file
    create_file "config/initializers/initializer.rb", "# Add initialization content here"
  end
end

create_file — это метод, представленный Thor::Actions. Документация по create_file и другие методы Thor находятся в документации по Thor

Наш новый генератор очень прост: он наследуется от Rails::Generators::Base и содержит одно определение метода. Когда генератор вызывается, каждый публичный метод в генераторе выполняется в порядке, в котором он определен. Наконец, мы вызываем метод create_file, который создаст файл в указанном месте с заданным содержимым. Если вы знакомы с Rails Application Templates API, API генераторов покажется вам очень знакомым.

Чтобы вызвать наш новый генератор, нужно всего лишь выполнить:

$ bin/rails generate initializer

Перед тем, как продолжить, давайте посмотрим на описание нашего нового генератора:

$ bin/rails generate initializer --help

Rails обычно способен генерировать хорошие описания, если генератор расположен в пространствах имен, таких как ActiveRecord::Generators::ModelGenerator, но не в этом частном случае. Эту проблему можно решить двумя способами. Первым является вызов desc внутри нашего генератора:

class InitializerGenerator < Rails::Generators::Base
  desc "This generator creates an initializer file at config/initializers"
  def create_initializer_file
    create_file "config/initializers/initializer.rb", "# Add initialization content here"
  end
end

Теперь можно просмотреть новое описание, вызвав --help

на новом генераторе. Вторым способом является добавление описания в файле USAGE в той же директории, что и наш генератор. Мы это сделаем на следующем этапе.

3. Создание генераторов с помощью генераторов

У самих генераторов есть генератор:

$ bin/rails generate generator initializer
      create  lib/generators/initializer
      create  lib/generators/initializer/initializer_generator.rb
      create  lib/generators/initializer/USAGE
      create  lib/generators/initializer/templates
      invoke  test_unit
      create    test/lib/generators/initializer_generator_test.rb

Вот только что созданный генератор:

class InitializerGenerator < Rails::Generators::NamedBase
  source_root File.expand_path('templates', __dir__)
end

Сперва обратите внимание, что он унаследован от Rails::Generators::NamedBase вместо Rails::Generators::Base

. Это означает, что наш генератор ожидает как минимум один аргумент, который будет именем инициализатора и будет доступным в нашем коде в переменной name.

Это можно увидеть, если вызвать описание для генератора (не забудьте удалить файл старого генератора):

$ bin/rails generate initializer --help
Usage:
  bin/rails generate initializer NAME [options]

Также можно увидеть, что в нашем новом генераторе есть метод класса source_root. Этот метод указывает на место расположения шаблонов нашего генератора, если таковые имеются, и по умолчанию он указывает на созданную директорию lib/generators/initializer/templates.

Чтобы понять, что такое шаблон генератора, давайте создадим файл lib/generators/initializer/templates/initializer.rb со следующим содержимым:

# Add initialization content here

А теперь изменим генератор, чтобы он копировал этот файл при вызове:

class InitializerGenerator < Rails::Generators::NamedBase
  source_root File.expand_path('templates', __dir__)
  def copy_initializer_file
    copy_file "initializer.rb", "config/initializers/#{file_name}. rb"
  end
end

И выполним наш генератор:

$ bin/rails generate initializer core_extensions

Теперь мы видим, что инициализатор с именем core_extensions был создан в config/initializers/core_extensions.rb с содержимым нашего шаблона. Это означает, что copy_file копирует файл из корневой директории исходников в заданный путь назначения. Метод file_name автоматически создается, когда мы наследуем от Rails::Generators::NamedBase.

Доступные для генераторов методы раскрываются в последнем разделе этого руководства.

4. Поиск генераторов

При запуске bin/rails generate initializer core_extensions Rails затребует эти файлы в следующем порядке, пока один из них не будет найден:

rails/generators/initializer/initializer_generator.rb
generators/initializer/initializer_generator.rb
rails/generators/initializer_generator.rb
generators/initializer_generator.rb

Если ни один не найден, вы получите сообщение об ошибке.

Вышеуказанный пример положит файлы в папку lib приложения, поскольку сказано, что эта директория принадлежит $LOAD_PATH.

5. Настройка рабочего процесса

Собственные генераторы Rails достаточно гибки, чтобы позволить вам настроить скаффолд. Они могут быть настроены в config/application.rb, вот несколько настроек по умолчанию:

config.generators do |g|
  g.orm             :active_record
  g.template_engine :erb
  g.test_framework  :test_unit, fixture: true
end

Так как мы настраиваем наш рабочий процесс, давайте сперва посмотрим, как выглядит наш скаффолд:

$ bin/rails generate scaffold User name:string
      invoke  active_record
      create    db/migrate/20130924151154_create_users.rb
      create    app/models/user.rb
      invoke    test_unit
      create      test/models/user_test.rb
      create      test/fixtures/users.yml
      invoke  resource_route
       route    resources :users
      invoke  scaffold_controller
      create    app/controllers/users_controller. rb
      invoke    erb
      create      app/views/users
      create      app/views/users/index.html.erb
      create      app/views/users/edit.html.erb
      create      app/views/users/show.html.erb
      create      app/views/users/new.html.erb
      create      app/views/users/_form.html.erb
      invoke    test_unit
      create      test/controllers/users_controller_test.rb
      invoke    helper
      create      app/helpers/users_helper.rb
      invoke    jbuilder
      create      app/views/users/index.json.jbuilder
      create      app/views/users/show.json.jbuilder
      invoke  test_unit
      create    test/application_system_test_case.rb
      create    test/system/users_test.rb

Глядя на этот вывод, легко понять, как работают генераторы в Rails 3.0 и выше. Генератор скаффолда фактически не генерирует ничего, он просто вызывает другие. Это позволяет нам добавить/заменить/убрать любые из этих вызовов. Например, генератор скаффолда вызывает генератор scaffold_controller, который вызывает генераторы erb, test_unit и helper. Поскольку у каждого генератора одна функция, их просто использовать повторно, избегая дублирования кода.

Следующей настройкой рабочего процесса будет полное прекращение генерации таблиц стилей и фикстур для тестов скаффолда. Этого можно достичь, изменив конфигурацию следующим образом:

config.generators do |g|
  g.orm             :active_record
  g.template_engine :erb
  g.test_framework  :test_unit, fixture: false
end

Если мы сгенерируем другой ресурс с помощью генератора скаффолда, мы увидим, что ни таблица стилей, ни JavaScript, ни фикстуры более не будут созданы. Если мы захотим настраивать его дальше, например использовать DataMapper и RSpec вместо Active Record и TestUnit, это достигается всего лишь добавлением соответствующих гемов в приложение и настройкой ваших генераторов.

Для демонстрации мы собираемся создать новый генератор хелперов, который просто добавляет несколько методов-ридеров для переменных экземпляра. Сначала мы создадим генератор в пространстве имен rails, так как тут rails ищет генераторы, используемые как хуки:

$ bin/rails generate generator rails/my_helper
      create  lib/generators/rails/my_helper
      create  lib/generators/rails/my_helper/my_helper_generator. rb
      create  lib/generators/rails/my_helper/USAGE
      create  lib/generators/rails/my_helper/templates
      invoke  test_unit
      create    test/lib/generators/rails/my_helper_generator_test.rb

Можно опробовать наш новый генератор, создав хелпер для продуктов:

$ bin/rails generate my_helper products
      create  app/helpers/products_helper.rb

И следующий хелпер будет сгенерирован в app/helpers:

module ProductsHelper
  attr_reader :products, :product
end

Что, собственно, и ожидалось. Можно сообщить скаффолду использовать наш новый генератор хелпера, снова отредактировав config/application.rb:

config.generators do |g|
  g.orm             :active_record
  g.template_engine :erb
  g.test_framework  :test_unit, fixture: false
  g.helper          :my_helper
end

и увидев его в действии при вызове генератора:

$ bin/rails generate scaffold Article body:text
      [...]
      invoke    my_helper
      create      app/helpers/articles_helper. rb

Можно отметить в выводе, что был вызван наш новый генератор хелпера вместо генератора Rails по умолчанию. Однако мы кое-что упустили, это тесты для нашего нового генератора, и чтобы их сделать, мы воспользуемся старыми генераторами теста для хелперов.

Начиная с Rails 3.0, это просто, благодаря концепции хуков. Наш новый хелпер не должен быть сфокусирован на какой-то определенный тестовый фреймворк, он просто представляет хук, и тестовому фреймворку нужно всего-лишь реализовать этот хук, чтобы быть совместимым.

Для этого мы изменим генератор следующим образом:

# lib/generators/rails/my_helper/my_helper_generator.rb
class Rails::MyHelperGenerator < Rails::Generators::NamedBase
  def create_helper_file
    create_file "app/helpers/#{file_name}_helper.rb", <<-FILE
module #{class_name}Helper
  attr_reader :#{plural_name}, :#{plural_name.singularize}
end
    FILE
  end
  hook_for :test_framework
end

Теперь, когда вызывается генератор хелпера, и как тестовый фреймворк настроен TestUnit, он попытается вызвать Rails::TestUnitGenerator и TestUnit::MyHelperGenerator. Поскольку ни один из них не определен, можно сообщить нашему генератору вместо них вызывать TestUnit::Generators::HelperGenerator, который определен, так как это генератор Rails. Для этого нужно всего лишь добавить:

# Search for :helper instead of :my_helper
hook_for :test_framework, as: :helper

Теперь можно снова запустить скаффолд для другого ресурса и увидеть, что он также генерирует тесты!

6. Настройка рабочего процесса, изменяя шаблоны генераторов

На предыдущем шаге мы просто хотели добавить строчку в сгенерированный хелпер без добавления какой-либо дополнительной функциональности. Имеется более простой способ, чтобы сделать такое — замена шаблонов для уже существующих генераторов, в нашем случае Rails::Generators::HelperGenerator.

В Rails 3.0 и выше генераторы не просто ищут шаблоны в корневом пути, они также ищут по другим путям. И одно из них — lib/templates. Поскольку мы хотим изменить Rails::Generators::HelperGenerator, можно это осуществить, просто сделав копию шаблона в lib/templates/rails/helper с именем helper. rb. Так давайте же создадим этот файл со следующим содержимым:

module <%= class_name %>Helper
  attr_reader :<%= plural_name %>, :<%= plural_name.singularize %>
end

и отменим последнее изменение в config/application.rb:

config.generators do |g|
  g.orm             :active_record
  g.template_engine :erb
  g.test_framework  :test_unit, fixture: false
  g.stylesheets     false
end

Теперь, если сгенерируете другой ресурс, то увидите похожий результат!

Еще одним обычным использованием пользовательских шаблонов является переопределение шаблонов скаффолда вью по умолчанию. Любой из них можно переопределить, создав соответствующий файл (например, index.html.erb, show.html.erb, и т.д.) в lib/templates/erb/scaffold.

Шаблоны скаффолда в Rails часто используют теги ERB; эти теги необходимо экранировать, чтобы сгенерированный результат являлся валидным кодом ERB.

Например, в шаблоне необходим следующий экранированный тег ERB (обратите внимание на дополнительный %). ..

<%%= stylesheet_link_tag :application %>

…чтобы сгенерировать следующий результат:

<%= stylesheet_link_tag :application %>

7. Добавление фолбэков генераторов

Еще одна особенность генераторов, которая очень полезна, это фолбэки. Например, представим, что вы хотите добавить особенность над TestUnit, такую как shoulda. Так как TestUnit уже реализует все генераторы, требуемые Rails, а shoulda всего лишь хочет переопределить часть из них, нет необходимости для shoulda переопределять некоторые генераторы, она может просто сообщить Rails использовать генератор TestUnit, если такой не найден в пространстве имен Shoulda.

Можно с легкостью смоделировать это поведение, снова изменив наш config/application.rb:

config.generators do |g|
  g.orm             :active_record
  g.template_engine :erb
  g.test_framework  :shoulda, fixture: false
  # Добавим фолбэк!
  g.fallbacks[:shoulda] = :test_unit
end

Теперь, если создать скаффолд Comment, вы увидите, что были вызваны генераторы shoulda, но в итоге они всего лишь переуступили генераторам TestUnit:

$ bin/rails generate scaffold Comment body:text
      invoke  active_record
      create    db/migrate/20130924143118_create_comments. rb
      create    app/models/comment.rb
      invoke    shoulda
      create      test/models/comment_test.rb
      create      test/fixtures/comments.yml
      invoke  resource_route
       route    resources :comments
      invoke  scaffold_controller
      create    app/controllers/comments_controller.rb
      invoke    erb
      create      app/views/comments
      create      app/views/comments/index.html.erb
      create      app/views/comments/edit.html.erb
      create      app/views/comments/show.html.erb
      create      app/views/comments/new.html.erb
      create      app/views/comments/_form.html.erb
      invoke    my_helper
      create      app/helpers/comments_helper.rb
      invoke      shoulda
      create        test/helpers/comments_helper_test.rb
      invoke    jbuilder
      create      app/views/comments/index.json.jbuilder
      create      app/views/comments/show.json.jbuilder
      invoke  test_unit
      create    test/application_system_test_case.rb
      create    test/system/comments_test. rb

Фолбэки позволяют вашим генераторам иметь единственную ответственность, увеличить повторное использование кода и уменьшить дублирование.

8. Шаблоны приложения

Теперь, когда вы узнали, как генераторы используются внутри приложения, знаете ли вы, что они используются и для генерации приложения тоже? Этот тип генератора называют «template». Далее идет краткий обзор Templates API. Подробную информацию смотрите в руководстве Шаблоны приложения на Rails.

gem "rspec-rails", group: "test"
gem "cucumber-rails", group: "test"
if yes?("Would you like to install Devise?")
  gem "devise"
  generate "devise:install"
  model_name = ask("What would you like the user model to be called? [user]")
  model_name = "user" if model_name.blank?
  generate "devise", model_name
end

В вышеприведенном шаблоне мы определили, что приложение полагается на гемы rspec-rails и cucumber-rails, поэтому они будут добавлены в группу test в Gemfile. Затем мы зададим вопрос пользователю относительно того, хочет ли он установить Devise. Если пользователь ответит «y» или «yes» на этот вопрос, тогда шаблон добавит Devise в Gemfile вне какой-либо группы, а затем запустит генератор devise:install. Затем этот шаблон возьмет пользовательский ввод и запустит генератор devise с переданным ответом пользователя из последнего вопроса.

Представим, что этот шаблон был в файле template.rb. Можно его использовать, чтобы модифицировать результат команды rails new с помощью опции -m и передачей имени файла:

$ rails new thud -m template.rb

Эта команда сгенерирует приложение Thud, а затем применит шаблон к сгенерированному результату.

Шаблоны не обязательно должны храниться в локальной системе, опция -m также поддерживает онлайн шаблоны:

$ rails new thud -m https://gist.github.com/radar/722911/raw/

В то время как последний раздел этого руководства не раскрывает, как генерировать замечательные шаблоны, он познакомит вас с доступными методами, с помощью которых вы сможете создать их самостоятельно. Абсолютно те же методы доступны и для генераторов.

9. Добавление аргументов командной строки

Генераторы Rails легко модифицировать, чтобы они принимали произвольные аргументы командной строки. Эта функциональность исходит из Thor:

class_option :scope, type: :string, default: 'read_products'

Теперь наш генератор может быть вызван следующим образом:

$ bin/rails generate initializer --scope write_products

К аргументам командной строки можно обратиться с помощью метода options в классе генератора. То есть:

@scope = options['scope']

10. Методы генератора

Следующие методы доступны как для генераторов, так и для шаблонов Rails.

Методы, представленные Thor не раскрываются в этом руководстве, а находятся в документации по Thor

10.1.
gem

Указывает зависимость приложения от гема.

gem "rspec", group: "test", version: "2.1.0"
gem "devise", "1.1.5"

Доступны следующие опции:

  • :group — Группа в Gemfile, где должен быть гем.
  • :version — Строка версии гема, которую нужно использовать. Также может быть указана в качестве второго аргумента метода.
  • :git — URL репозитория git для этого гема.

Любые дополнительные опции, переданные в этот метод помещаются в конце строчки:

gem "devise", git: "https://github.com/plataformatec/devise.git", branch: "master"

Вышеприведенный код поместит следующую строчку в Gemfile:

gem "devise", git: "https://github.com/plataformatec/devise.git", branch: "master"
10.2.
gem_group

Оборачивает вхождения гемов в группу:

gem_group :development, :test do
  gem "rspec-rails"
end
10.3.
add_source

Добавляет определенный источник в Gemfile:

add_source "http://gems.github.com"

Этот метод также принимает блок:

add_source "http://gems.github.com" do
  gem "rspec-rails"
end
10.4.
inject_into_file

Встраивает блок кода в определенную позицию вашего файла.

inject_into_file 'name_of_file.rb', after: "#The code goes below this line. Don't forget the Line break at the end\n" do <<-'RUBY'
  puts "Hello World"
RUBY
end
10.5.
gsub_file

Заменяет текст в файле.

gsub_file 'name_of_file.rb', 'method.to_be_replaced', 'method.the_replacing_code'

Этот метод можно сделать более точным с помощью регулярных выражений. Таким же образом можно использовать append_file и prepend_file, чтобы поместить код в начало или конец файла соответственно.

10.6.
application

Добавляет строчку в config/application.rb непосредственно после определения класса приложения.

application "config.asset_host = 'http://example.com'"

Также этот метод может принимать блок:

application do
  "config.asset_host = 'http://example.com'"
end

Доступные опции:

  • :env — Определяет среду для этой конфигурационной опции. Если хотите использовать эту опцию с блочным синтаксисом, рекомендуемый синтаксис следующий:
application(nil, env: "development") do
  "config.asset_host = 'http://localhost:3000'"
end
10.7.
git

Запускает определенную команду git:

git :init
git add: "."
git commit: "-m First commit!"
git add: "onefile.rb", rm: "badfile.cxx"

Значения хэша будут аргументами или опциями, переданными в определенную команду git. Как показано в последнем примере, одновременно могут быть определены несколько команд git, но не гарантируется соответствие порядка их запуска порядку, в котором они определены.

10.8.
vendor

Помещает файл, содержащий указанный код, в vendor.

vendor "sekrit.rb", '#top secret stuff'

Этот метод также принимает блок:

vendor "seeds.rb" do
  "puts 'in your app, seeding your database'"
end
10.9.
lib

Помещает файл, содержащий указанный код, в lib.

lib "special.rb", "p Rails.root"

Этот метод также принимает блок:

lib "super_special.rb" do
  "puts 'Super special!'"
end
10.10.
rakefile

Создает файл Rake в директории lib/tasks приложения.

rakefile "test.rake", 'task(:hello) { puts "Hello, there" }'

Этот метод также принимает блок:

rakefile "test.rake" do
  %Q{
    task rock: :environment do
      puts "Rockin'"
    end
  }
end
10.11.
initializer

Создает инициализатор в директории config/initializers приложения:

initializer "begin.rb", "puts 'this is the beginning'"

Этот метод также принимает блок и ожидает возврата строки:

initializer "begin.rb" do
  "puts 'this is the beginning'"
end
10.12.
generate

Запускает указанный генератор, где первый аргумент это имя генератора, а оставшиеся аргументы передаются непосредственно в генератор.

generate "scaffold", "forums title:string description:text"
10.
13. rake

Запускает указанную задачу Rake.

rake "db:migrate"

Доступные опции:

  • :env — Указывает среду, в которой запускается эта задача rake.
  • :sudo — Запускать ли эту задачу с помощью sudo. По умолчанию false.
10.14.
route

Добавляет текст в файл config/routes.rb:

route "resources :people"
10.15.
readme

Выводит содержимое файла из source_path шаблона, обычно README.

readme "README"

✂Изготовитель шаблонов ︎

Сумка

Типичный бумажный пакет, который можно хранить в горизонтальном положении. Этот шаблон может быть используется для создания как гладкой маленькой сумки для подарков, так и большой сумки для продуктов. Этот Дизайн также часто используется для подарочной упаковки винных бутылок. Верхняя часть сумки сложен для усиления.

Единицы мм см дюйм

Длина

Ширина

Высота

Сложить

Дополнительные параметры…

Коробка с крышкой

Коробка с крышкой, например, коробка для обуви или коробка для настольных игр. Длина ширина и Высота — все внутренние размеры.

Для удобства использования Зазор устанавливается в процентах. Длина и ширина будут масштабироваться этим количество.

Единицы мм см дюйм

Длина

Ширина

Высота

Высота крышки

Дополнительные параметры…

Коробка для торта

Коробка треугольной формы, в которой можно хранить кусочки торта.

коробка состоит из верхней и нижней части. Верхняя часть – крышка. нижняя часть, лоток, не нуждается в клее, потому что она будет заперта крышка.

По умолчанию крышка на 5 % больше лотка, но это можно изменить. настраивается в экспертных настройках.

Угол является мерой того, как большой кусок пирога может поместиться. Посмотрите на рисунок, если вы не знаете, что Вход здесь. Например, угол в 30° достаточен для 1 шт. Торт из 12 штук. Длина – это длина куска, которая должна быть примерно половина диаметра всего торта. Но обязательно добавьте немного пособие здесь.

Единицы мм см дюйм

Длина

Высота

Угол

Дополнительные параметры…

Коробка для карточек

Самая обычная коробка. Длинная тонкая коробка. Размеры по умолчанию подходят для набор стандартных, европейских, игральных карт («бридж-сайз»).

Единицы мм см дюйм

Длина

Ширина

Высота

Дополнительные параметры…

Гроб

Коробка в форме гроба или шкатулки для Хэллоуина, украшения или, может быть, для умерший питомец.

Вы хотите стильно подать свою конфету «сладость или угощение»? Подарите конфету в гробу! Данная конструкция состоит из коробки и крышки. Использовать лишний скотч, чтобы прикрепить крышку к коробке, а то она может открыться в полночь… позволяя контенту бродить по вашему дому. Мвахахаха!

Единицы мм см дюйм

Длина

Ширина

Высота

Высота крышки

Дополнительные параметры…

Конус (усеченный)

Конус, опционально со срезанным верхом. (В таком случае это называется усеченный). Может использоваться для создания геометрии стакана, вазы, колпака для вечеринки. или абажур. Если вам нужен настоящий конус, просто используйте ноль для верхнего диаметра. Совет: не делайте надрезов и не загибайте линию сгиба на этом шаблоне, чтобы шов был ровным.

Единицы мм см дюйм

Верхний диаметр

Диаметр дна

Высота

Дополнительные параметры…

Дисплей счетчика

Поднос со срезанными под углом сторонами, который можно использовать для хранения или отображение предметов.

Единицы мм см дюйм

Длина

Ширина

Высота

Передний

Дополнительные параметры…

Изогнутая коробка

Коробка с изогнутыми сторонами. Значение размера кривой может быть как положительным, так и отрицательный. Вы можете ввести любое значение, но не делайте кривую слишком большой, иначе коробка сломается или погнется в сложенном виде. Имейте в виду, что длина и ширина не учитывать размер кривой.

Единицы мм см дюйм

Длина

Ширина

Высота

Размер кривой

Дополнительные параметры…

Коробка в форме яйца

Яйцо необычная коробка в форме яйца. Яйцо может быть заостренным или тупым, круглые или удлиненные. Посмотрите примеры яиц, чтобы получить представление о том, что делают эти значения.

Шаблон состоит из шести частей: трех для основания и трех для крышки. Основание и крышка состоят из трубки и двух крышек. Шляпки образуют два слоев, один внутри и один снаружи, с клеевыми клапанами зажатый между ними.

Тот, что снаружи, немного больше меньше заданного диаметра, чтобы аккуратно покрыть основание и крышку. Тот самый внутри немного меньше, чтобы компенсировать прочность бумага или картон. Эта разница в размере дается «дополнительным смещением для Колпачки».

Единицы мм см дюйм

Длина яйца

Ширина яйца

Высота

Высота крышки

Резкость

Дополнительное смещение для колпачков

Дополнительные параметры…

Эллиптическая коробка

Коробка эллиптической или овальной формы.

Эта модель может быть построена в так же, как коробка в форме сердца и круглая коробка.

Шаблон состоит из двух частей: основания и верха.

Каждая часть состоит из обода и двух штук для каждой из шапок. Одна часть используется внутри и удерживает обод на месте. Поскольку это выглядит некрасиво, снаружи помещается дополнительная деталь, чтобы закройте клеевые клапаны.

Единицы мм см дюйм

Длина

Ширина

Высота

Высота крышки

Дополнительное смещение для колпачков

Дополнительные параметры…

Конверт

Классический почтовый конверт, чаще всего используемый для личных писем.

Единицы мм см дюйм

Ширина

Высота

Дополнительные параметры…

Взрывающаяся коробка

Коробка, состоящая из лотка и крышки. Бока подноса не проклеены, но держится вместе крышкой. Как только крышка снята, коробка «взрывается», как стороны выпадают наружу.

Единицы мм см дюйм

Внутренний диаметр

Высота

Высота крышки

Количество сторон

Дополнительные параметры…

Шкатулка с драгоценными камнями

Шкатулка в форме драгоценного камня, состоящая из двух одинаковых многоугольных пирамид, склеенных вместе на своих базах. Это настоящая коробка, которую можно использовать для упаковки. Может быть хранится (и транспортируется) совершенно плоско. Когда вы тянете за две вершины («верхушки») кроме того, коробка приобретет полную форму. Легче всего склеить эту форму, когда обе половины плоские. Просто загните клеевые язычки до упора и приклейте верхнюю часть. ко дну. Только не забудьте не приклеивать закругленные клапаны.

Единицы мм см дюйм

Количество сторон

Внутренний диаметр

Высота

Дополнительные параметры…

Подарочная коробка

Типичная, простая подарочная коробка. Эта коробка очень похожа на открытку Коробка, но компоновка другая. Этот шаблон наиболее эффективно использует свой лист бумаги, если размеры близки друг к другу. Создатель шаблонов попытается исправить невозможные значения автоматически. Помните об этом, если для Например, отверстие для большого пальца меньше, чем вы ожидаете.

Единицы мм см дюйм

Длина

Ширина

Высота

Дополнительные параметры…

Коробка в форме сердца

Коробка в форме сердца, просто потому что песня Nirvana такая потрясающий!

Размеры отличаются от стандартных коробок из-за как смоделировано сердце: Оно сделано из эллипса, который повернут, вырезан пополам по вертикали, а затем зеркально.

Длина меры между двумя острыми углами сердца. Ширина рассчитывается по формуле программа для соответствия вращению ( Tilt ) и Shape эллипс. (Думайте о форме как об «индексе массы тела» сердце).

Коробка состоит из основания и крышки. Каждая часть имеет два сердца фигурные «шапки»: самая маленькая заходит внутрь, большая заходит на снаружи, чтобы скрыть уродливые клеевые клапаны. Легче всего приклеить сердце- фигурные колпачки вместо клеевых клапанов на ободе. Толщина бумаги ” Параметр используется только для того, чтобы сделать внешние заглушки больше, чем внутри.

Единицы мм см дюйм

Длина

Форма

Наклон

Высота

Высота крышки

Дополнительное смещение для колпачков

Еще варианты…

Почтовая программа

Почтовый конверт — это очень толстый конверт, который можно использовать для упаковки предметов, плоские, но толще, чем просто лист бумаги. Он может содержать, например, куча карт мешка семян цветов. Используйте кусок липкой ленты чтобы крышка оставалась на месте.

Единицы мм см дюйм

Длина

Ширина

Высота

Перекрытие

Дополнительные параметры…

Спичечный коробок

Простая коробка с подносом и рукавом. Размеры указаны внутренние. зазор добавляется дважды и к высоте и к ширине. Лоток может быть собирается без клея, хотя немного клея, конечно, не помешает.

Единицы мм см дюйм

Длина

Ширина

Высота

Толщина материала

Клиренс

Дополнительные параметры…

Пакет для молока

Коробка трубчатая со складчатым отверстием. Эта модель не будет водонепроницаемой. если вы сделаете это дома, хотя!

Единицы мм см дюйм

Длина

Ширина

Высота

Высота крыши

Верхний клапан

Дополнительные параметры…

Цилиндр (скошенный)

Трубка, трубка, цилиндр или сердцевина рулона туалетной бумаги. Необязательно «скошенный», что означает он срезан под углом. С настройками по умолчанию этот шаблон дает стандартный рулон туалетной бумаги. Вы также можете выбрать «укороченный» цилиндр с разные углы скоса для верха и низа и с поворотом между эти двое. Используйте эти настройки, если вам нужно создать трубы, которые свариваются (или склеены) вместе под углом.

Единицы мм см дюйм

Диаметр

Верхний уголок

Нижний уголок

Твист

Длина

Дополнительные параметры…

Конус (скошенный)

Конус, скошенный в двух плоскостях под произвольным углом. Эти углы скоса должны быть совсем маленьким. Если шаблон выглядит действительно странно, проверьте эти углы.

(Допускаются только круглые и эллиптические конические сечения. Параболические и гиперболические сечения невозможны. шаблон.)

Верхний и нижний углы лежат в пределах той же плоскости: параметр «закручивания», присутствующий в скошенном цилиндре, не (пока) реализовано.

Единицы мм см дюйм

Высота (В)

Топ

Верхний угол

Верхний уголок

Нижний уголок

Дополнительные параметры…

Коробка с несколькими листами

Как досадно, что лист формата А4 или Letter такой маленький, не это? Этот шаблон позволяет вам создавать гораздо большие коробки, используя 6 отдельных листы. Вам потребуется немного больше клея, но вы сможете сделать гораздо более впечатляющую коробку! Используйте прочный материал. Вы можете использовать старые коробки из-под хлопьев или коробки для пиццы. Имейте в виду, что ваш настольный принтер может нуждаться в некотором «убеждении», чтобы принять это.

Единицы мм см дюйм

Длина

Ширина

Высота

Толщина бумаги

Дополнительные параметры…

Встраиваемый лоток

Базовый поднос со склеенными сторонами и уголком уклона. Используйте 0º, если хотите прямой стороны, но используйте большее значение, если вы хотите, чтобы лотки можно было складывать в стопку. друг друга.

Длина и ширина измеряются сверху, поэтому при использовать ненулевой угол уклона, размеры внизу будут меньше.

Благодаря углу наклона лотки можно вкладывать друг в друга. Это делает это Модель идеальна в качестве органайзера для хранения мелочей. LEGO®, для пример.

Если вы выберете слишком большое значение угла уклона или слишком маленькое значение высоты, угол уклона будет отрегулирован.

Единицы мм см дюйм

Длина

Ширина

Высота

Угол уклона

Дополнительные параметры…

Параллелепипед

Трехмерная фигура, образованная шестью параллелограммами. Эта модель также может использоваться для создания простой формы кирпича или кости (куба). В таком случае сохраните углы на 90º.

Единицы мм см дюйм

Длина

Ширина

Высота

α — Угол Альфа

β — Угол бета

γ — Гамма угла

Дополнительные параметры…

Паспарту

Паспарту, фоторамка или коробочка теней. Бесклеевой, полый, с двойными стенками лоток. Может также использоваться как вкладыш в коробку.

Создайте фоторамку для своего фото в шикарной широкой рамке.

Введите размер «внутреннего пространство» (размер изображения или объекта для отображения), а также толщина и широкой вы хотите, чтобы граница кадра была. Окончательная модель будет больше, из-за ширины границы кадра. Модель может быть изготовлены без использования клея, хотя немного клея не повредит.

Когда используется в качестве вставки, вам может не понадобиться внутренняя часть.

Для сборки инструкции, посмотрите ролик на YouTube

Единицы мм см дюйм

Длина изображения

Ширина изображения

Высота

Ширина кадра

Глубина кадра

Дополнительные параметры…

Пакет подушек

Простая, экономичная, но очаровательная форма для упаковки таких предметов, как ваучеры, украшения или одежду. Не делайте подушку слишком толстой, иначе бумага рвутся, когда вы складываете концы. Сохраняйте ширину как минимум в два раза больше длины высота. В сложенном виде ширина и длина будут немного меньше, чем у значения, которые вы ввели из-за кривизны картона.

Единицы мм см дюйм

Длина

Ширина

Высота

Дополнительные параметры…

Платоновые тела

Модели всех пяти так называемых Платоновых тел. Платоновые тела – это пять правильных выпуклых многогранников.

Куб — самый известный из Конечно, хотя в кругу друзей он любит, когда его называют «шестигранником». Так же другие платоновые тела названы в честь количества граней (или эдров), которые они имеют. т.е. Тетра эдр, Окта эдр, Додека эдр, Икоса эдр. (Теперь вы знаете, как счет в классическом греческом тоже!)

Есть только параметр:диаметр средняя сфера. Мидсфера — это сфера из центра объекта, касается всех краев ровно посередине.

Единицы мм см дюйм

Диаметр средней сферы

Дополнительные параметры…

Многоугольная коробка

Трубчатая (или призматическая) многоугольная коробка со складками и встроенной крышкой.

Эта коробка очень декоративна и идеальна для упаковки подарков нестандартной формы. Представляет. На крышке используются как горные, так и долинные складки. Клеевые язычки на дно точно сходится. Крышка будет складываться легче, если вы удалите некоторые материал от места, где встречаются пять линий сгиба.

Модель не не работает для 3 или менее сторон

Единицы мм см дюйм

Внутренний диаметр

Количество сторон

Высота

Высота крышки

Дополнительные параметры…

Многоугольная коробка с крышкой

Это призматическая коробка с правильным многоугольником в качестве основания. Размеры определить геометрию основания. Зазор определяет, насколько крышка масштабируется.

Единицы мм см дюйм

Внутренний диаметр

Количество сторон

Высота

Высота крышки

Клиренс (в процентах)

Дополнительные параметры…

Многоугольная пирамида

Пирамидальная форма с заданной высотой и правильным многоугольником в качестве основания.

Единицы мм см дюйм

Внешний диаметр

Высота

Количество сторон

Дополнительные параметры…

Пирамидальная шкатулка

Коробка в форме пирамиды. Основание фигур выполняет функцию крышкой, поэтому, чтобы открыть ее, вы должны держать ее нижней стороной вверх.

Значения по умолчанию дают пирамиду в том же соотношении, что и пирамида Хеопса.

Единицы мм см дюйм

Длина

Ширина

Высота

Дополнительные параметры…

Коробка с ромбами

Ромб (ромбовидный или скошенный), призматическая коробка с крышкой. Коробка состоит из основание и крышка. Размеры даны для основания. Крышка будет масштабироваться с заданным процентом (клиренсом).

Единицы мм см дюйм

Длина

Высота

Угол

Высота крышки

Дополнительные параметры…

Круглая коробка

Круглая цилиндрическая коробка.

Эта модель может быть построена в так же, как коробка в форме сердца и эллиптическая коробка.

Шаблон состоит из двух частей: основания и верха.

Каждый часть состоит из ободка и по две штуки на каждую из крышек. Один кусочек используется внутри и удерживает обод на месте. Потому что это выглядит некрасиво, дополнительный кусок помещается снаружи, чтобы закрыть клапаны клея.

Единицы мм см дюйм

Диаметр

Высота

Высота крышки

Дополнительное смещение для колпачков

Дополнительные параметры…

Неглубокая коробка

Обычная коробка, очень похожая на Коробку для открыток и Коробку с подарками. Этот конкретный шаблон очень экономичен для коробок, которые имеют небольшую высоту по сравнению с обоими ширина и высота, например коробка для торта или пиццы. Templatemaker.nl попытается настроить «невозможные» значения, имейте в виду, когда например, отверстие для большого пальца или клейкие клапаны имеют размеры, которых вы не знаете. ожидать.

Единицы мм см дюйм

Длина

Ширина

Высота

Дополнительные параметры…

Куб Сомы

Коллекция из 7 вогнутых поликубов с 4 или менее кубиками. Эти семь части вместе могут сформировать куб SOMA. То есть, если вам удастся решить головоломка. Куб SOMA был изобретен датским математиком и поэтом Питом. Хайн.

Единицы мм см дюйм

Единица измерения длины ячейки

Дополнительные параметры…

Сфера

Шаблон создает один сегмент для создания сферы. Вам нужно распечатать копию этого шаблона для каждого сегмента. (Они все идентичны) Когда собранные, вместе они создают сферу или глобус.

Единицы мм см дюйм

Внешний диаметр

Сегменты

Кольца

Дополнительные параметры…

Форма звезды

Звездообразная форма произвольной толщины и количества точек. Генератор будет создайте один шаблон шипа для каждой точки звезды. Клеевые лоскуты сделаны вдвое, так что вы можете сложить их так: _/\_ (Думайте «намасте»!). Если вы сделаете это сейчас хотите двойные клеевые клапаны, выберите размер «0» для «нечетных клапанов».

Единицы мм см дюйм

Внешний диаметр

Внутренний диаметр

Толщина формы

Количество точек

Дополнительные параметры…

Звездный ящик

Вы когда-нибудь мечтали просто рассыпать звезды? ✨Теперь вы можете, и вы можете даже спрятать в них подарок! Складки немного похожи на оригами, хорошо их оценивайте. и убедитесь, что звезда достаточно толстая. «5» — идеальное количество баллов, но меньше или больше, безусловно, возможно. Светить!

Единицы мм см дюйм

Внешний диаметр

Высота

Количество точек

Дополнительные параметры…

Трапециевидная коробка

Также называется трапециевидной призмой или трапецоидагоном (просто для звучания). впечатляющий). Одним из типичных применений этой модели является упаковка пралине. Это может быть основа для многих форм, пока верх и низ параллельны и противоположны стороны имеют равные углы уклона. Если вы используете желтую или золотую бумагу, вы можете использовать ее сделать бумажные «золотые слитки». (Или прессованная золотом латунь, если хотите.)

Единицы мм см дюйм

Верхняя длина

Нижняя длина

Верхняя ширина

Нижняя ширина

Высота

Дополнительные параметры…

Лоток-вставка

Коробка-вкладыш для тонких предметов. Используйте этот шаблон для создания вставки в коробку, которая надежно фиксирует предмет в центре коробки. Оставляет дополнительное место для отверстие для большого пальца, поэтому его легко извлечь.

Единицы мм см дюйм

Длина

Ширина

Высота

Длина изделия

Ширина предмета

Высота предмета

Толщина материала

Ширина отверстия для большого пальца

Длина отверстия для большого пальца

Дополнительные параметры…

Online Template Maker — Artboard Studio

Artboard Studio предлагает совершенно новый уровень создания шаблонов. Ознакомьтесь с нашей постоянно растущей библиотекой и выберите наиболее подходящий шаблон для вашего бренда.

Начните бесплатно

Выберите один из наших тщательно разработанных бесплатных шаблонов или начните с нуля и создайте собственную сцену с помощью нашей обширной библиотеки элементов.

Просмотреть все шаблоны

  • Минималистичный современный геометрический стиль Новые поступления Модная распродажа Instagram Story Template

  • Вид спереди Шаблон макета с двумя негабаритными футболками

  • Шаблон макета для iPhone 13 Pro Graphite «Полет в темноте»

  • Вид сверху На открытом воздухе Жесткая тень Крафт-картонная коробка для рассылки с круглыми наклейками Шаблон 904 4 09 105 Шаблон 904 Жесткая тень Желтая стеклянная бутылка-капельница с лаймовым макетом Шаблон

  • Вид в высоком ракурсе Открытая толстая книга в твердом переплете Шаблон макета

  • Листовая ветвь и круглый деревянный поднос США Канада Размер визитной карточки Шаблон макета

  • Простой зеленый фирменный стиль Шаблон макета для печати

  • Шаблон макета веб-сайта Apple для нескольких устройств

Просмотреть все шаблоны

Футболки Create your browser mockup inquality. t-shirt

5 Различные макеты рубашек разных форм и цветов ждут замены ваших дизайнов.

Шаблоны для социальных сетей

Выделитесь среди своих конкурентов, используя эти привлекательные шаблоны для социальных сетей. В несколько кликов ваш шаблон готов.

Шаблоны для iPhone

Не ищите больше самых эффективных шаблонов. Проявите творческий подход с этими шаблонами для iPhone. Просто добавьте информацию за считанные секунды. Вот и все!

Шаблоны для канцелярских принадлежностей

Ознакомьтесь с нашими любимыми шаблонами для канцелярских принадлежностей, которые подходят для любого бизнеса. Все они легко настраиваются, удобны для пользователя и визуально привлекательны.

Шаблоны историй Instagram

Создавайте привлекательный контент для своего Instagram за считанные секунды с помощью лучших шаблонов историй Instagram на рынке.

Шаблоны сумок

Не тратя деньги и часы, создайте свой следующий шаблон сумки с помощью лучшего инструмента для дизайна. представить свою коллекцию своим подписчикам.

  • Шаблоны футболок

    Создавайте высококачественные макеты футболок в своем браузере. Различные макеты рубашек разных форм и цветов ждут замены ваших дизайнов.

    Подробнее

  • Шаблоны для социальных сетей

    Выделитесь среди своих конкурентов, используя эти привлекательные шаблоны для социальных сетей. В несколько кликов ваш шаблон готов.

    Узнать больше

  • Шаблоны для iPhone

    Не ищите дальше самые эффективные шаблоны. Проявите творческий подход с этими шаблонами для iPhone. Просто добавьте информацию за считанные секунды. Вот и все!

    Узнать больше

  • Шаблоны для канцелярских принадлежностей

    Ознакомьтесь с нашими любимыми шаблонами для канцелярских принадлежностей, которые подходят для любого бизнеса. Все они легко настраиваются, удобны для пользователя и визуально привлекательны.

    Узнать больше

  • Шаблоны историй в Instagram

    Создавайте привлекательный контент для своего Instagram за считанные секунды с помощью лучших шаблонов историй в Instagram на рынке.

    Узнать больше

  • Шаблоны сумок

    Не тратя деньги и часы, создайте свой следующий шаблон сумки с помощью лучшего инструмента для дизайна. представить свою коллекцию своим подписчикам.

Опубликовано в категории: Разное

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *