Создание шаблона генератора демонстраций Azure DevOps
Twitter LinkedIn Facebook Адрес электронной почты
- Статья
- Чтение занимает 2 мин
Azure DevOps Services
генератор Azure DevOps предоставляет ряд шаблонов, которые поддерживают широкий спектр сценариев, от разных типов проектов до разных языков программирования, платформ развертывания и т. д., в дополнение к этому генератор также позволяет пользователям создавать собственные шаблоны. Пользователи могут преобразовать существующие проекты в шаблоны, а затем подготовить новые проекты с помощью этого шаблона. Возможность создания пользовательских шаблонов может быть полезна во многих сценариях, таких как создание пользовательских учебных материалов, подготовка только определенных артефактов и т. д.,
В этом документе описаны действия по использованию средства извлечения.
Перед началом работы
Настройте проект Azure DevOps и убедитесь, что он готов к извлечению. Средство извлечения будет записывать содержимое проекта и сохранять их в виде JSON-файлов, которые будут архивироваться в ZIP-файл.
Создание нового настраиваемого шаблона
Получите доступ к генератору с помощью параметра запроса enableextractor=true, добавленного в URL-адрес: https://azuredevopsdemogenerator.azurewebsites.net/?enableextractor=true
После входа на главной странице появится новая ссылка с меткой «Сборка шаблона».
Выбрав, что откроет главную страницу средства извлечения на новой вкладке.
Выберите организацию, а затем проект, который вы хотите превратить в шаблон.
Нажмите кнопку «Анализ«. Это позволит проверить, поддерживается ли проект одним из поддерживаемых типов (только проекты на основе гибких, scrum и базовых процессов в настоящее время) и что все содержимое можно прочитать. В конце анализа вы увидите артефакты и количество элементов, чтобы убедиться, что средство извлечения правильно считывает все элементы.
Если это правильно и вы хотите продолжить, нажмите кнопку «Создать Artifacts
Щелкните ссылку, чтобы скачать ZIP-файл. Обратите внимание, что ZIP-файл не хранится на стороне сервера, поэтому убедитесь, что вы скачали файл. Он будет недоступен после закрытия страницы.
Примечание: Средство извлечения поддерживает только ограниченные артефакты и типы рабочих элементов, поэтому его не следует рассматривать как средство миграции для перемещения проектов с одного сервера на другой. Сведения о поддерживаемых и не поддерживаемых ограничениях см. в разделе «Ограничения»
Подготовка проекта из настраиваемого шаблона
Вернитесь на страницу генератора или снова откройте ее, если она уже закрыта. В URL-адресе следует использовать параметр запроса enableextractor=true .
Выбор шаблона
Появится новая вкладка с меткой Private. Выберите вкладку.
На закрытой вкладке можно импортировать шаблон с локального диска, GitHub или любой URL-адрес HTTPS.
Если URL-адресу требуется проверка подлинности, укажите маркер доступа или пароль имени пользователя&.
Нажмите кнопку «Отправить» , чтобы проверить шаблон и учетные данные.
Если проверка действина, она примет шаблон. В поле «Выбранный шаблон » будет представлено имя шаблона.
Теперь все готово к созданию проекта с помощью собственного шаблона
Предыдущий: использование генератора
Создание и настройка генераторов и шаблонов 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 на рынке.
Узнать больше
Шаблоны сумок
Не тратя деньги и часы, создайте свой следующий шаблон сумки с помощью лучшего инструмента для дизайна. представить свою коллекцию своим подписчикам.