Сайт

Шаблон сайт: Личный сайт — шаблоны сайтов | Портфолио и резюме

09.07.2023

Содержание

что это такое и на чём его сделать

Если нужно срочно создать сайт, но нет времени набирать огромный код, потратив на это несколько дней, изучая тонкости языков программирования, то есть оптимальное решение – шаблон сайта, или по-другому, готовый макет веб-ресурса. Поговорим сегодня, что это такое и на чём его сделать.

Что такое шаблон сайта

Итак, шаблон сайта – это готовый макет ресурса, представляющий собой HTML-страницу с готовым дизайном и основными компонентами. Как правило, такие шаблон находятся в общем доступе на распространённым площадках, таких как WordPress.

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

Главным преимущество сайта на шаблоне, как уже было сказано в анонсе – уменьшение времени, которое тратиться на разработку и вырисовку макета сайта. Такая схема хорошо подойдёт небольшим компаниям или отдельным специалистам, занимающимся продвижением молодого сайта в Яндексе в качестве сайта-визитки.

Так же, финансовая сторона проекта – ещё одно преимущества шаблонного сайта, так как не нужно платить программистам за сайт-самописку и в дальнейшем за его обслуживание в случае каких-либо неполадок.

Купил шаблон сайта: что делать дальше

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

  • Дизайн – может быть шаблонный, то есть предложенный самой системой управления или же нарисован индивидуально;
  • Данные компании или лица, для которого делается сайт.

Да, дизайн в шаблоне есть уже готовый, но если Вас он по каким-то причинам не устроил, можно нарисовать свой, собственный. С таким поручение, конечно к директологу не обратишься, но к дизайнеру – пожалуйста. Остаётся только решить цену вопроса.

На чем сделать шаблон сайта

Решение, на чём сделать шаблон сайта зависит от того, какая CMS будет у него.

Если же это, как мы уже говорили довольно популярная платформа WordPress или Joomla, то у этих сервисов уже есть своим готовые темы. Если же CMS другого типа, где свобода выбора полностью перепадает на разработчика, шаблон будет представлять собой только HTML-страницу.

Так же есть сайты, где предоставляются бесплатные шаблоны. Да-да, пока что в мире Интернет-коммерции, помимо SEO продвижения молодого сайта ещё остались недорогие и даже бесплатные услуги. Немного отошли от темы, ну так вот: бесплатные шаблоны, точнее самые популярные из них называются так:

  • Templatemonster;
  • Html5;
  • Joomla-master и другие.

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

Но есть и такая практика, когда сайты, где находится биржа программистов и разработчиков по созданию сайтов под ключ (/services/web) проводят акции и распродажи, а иногда, конечно для собственных целей, как правило, в качестве рекламы, раздают сайты для бесплатного качества в общий доступ.

Готовый шаблон сайта с регистрацией, юзерами и админами на Flask с базами SQL или MongoDB / Хабр

Бывает, приходится делать сайты на flask, у которых есть пользователи и админы. Чисто для себя решил как-то это стандартизировать и, главное, не терять время, когда такая задача появляется. Цель — в несколько команд получить рабочий сайт у которого есть:

  • Регистрация
  • Email подтверждение
  • Авторизация
  • Выход (logout)
  • Администраторы и роли администраторов
  • Административная, пользовательская и публичная часть сайта
  • Возможность юзера менять пароль
  • Восстановление пароля
  • Локализация для иностранных языков

Скриншоты

Вот что получается из коробки:

Профиль пользователя после авторизации:

Админка на flask-admin:

Получить такой сайт можно двумя вариантами:

I Вариант.

С использованием flask-user и SQL-базы данных

Установка и запуск

Установка

cd ~
# Создаем виртуальное окружение
virtualenv env
# Активируем виртуальное окружение
. env/bin/activate
mkdir -p ~/www/my_app
cd www
git clone https://github.com/Alexmod/Flask-User-and-Flask-admin.git  my_app
cd my_app/
# Ставим необходимые модули
pip install -r requirements.txt
# Инициируем базу данных
python manage.py init_db
# Запускаем тесты
py.test tests/
# Если тесты успешно завершились, запускаем сервер
python manage.py runserver

После этих команд по адресу http://localhost:5000/ должен открыться сайт как на скриншотах.

Юзер: [email protected] Пароль: Password1.
Админ: [email protected] Пароль: Password1.

Я запускал и тестировал на linux с версией Python 3.4, но предполагаю, что должно «взлететь» и на любых 3.x.

Ссылка на GitHub.

Образец установки в консоле

Подробности первого варианта

Подробности

За основу я взял модуль Flask-User и вот этот репозиторий.

Что было добавлено / изменено:

  1. Добавлена локализация как темплейтов, так и флэш-сообщений. Поддержка языков: (Немецкий, Английский, Испанский, Фарси, Финский, Французский, Итальянский, Датский, Русский, Шведский, Турецкий, Китайский). Если языка нет в списке, то по умолчанию в конфиге русский язык установлен в качестве дефолтного.
    # local_settings.py
    BABEL_DEFAULT_LOCALE = 'ru' 
    

    На русский язык я сделал свою локализацию.
    app/translations/ru/LC_MESSAGES/flask_user.po

    С flash-сообщениями отлично справился Flask-Babel, а вот чтобы в темплейтах заработал перевод на русский язык строк вида:
    {%trans%}Forgot your Password?{%endtrans%}
    или
    {{ _('Sign in') }}

    Пришлось поваландаться. Добавил:
    import gettext
    

    и вот такую функцию:
    def set_lang(lang):
        i18n_dir = app.config['BABEL_TRANSLATION_DIRECTORIES']
        gettext.install('lang', i18n_dir)
        trans_file = i18n_dir + lang + '/LC_MESSAGES/flask_user'
        tr = gettext. translation(trans_file, 'locale',  languages=[lang])
        tr.install(True)
        app.jinja_env.install_gettext_translations(tr)

  2. Удалил поля имени и фамилии при регистрации. По моему опыту это редко когда требуется, а юзеров раздражает.
  3. Все *.py файлы приведены к стандарту pep-8
  4. Вычищены модули, которые подгружаются, но не используются
  5. Роуты разбиты на 3 части: публичный, админский и пользовательский (public_view.py, members_views.py, про админку ниже)
  6. Добавлен модуль flask_bootstrap и вместе с ним изменены темплейты и показ flash-сообщений
    {% import "bootstrap/utils.html" as utils %} {{ utils.flashed_messages(dismissible=True, container=False) }}

    В файле layout.html.
  7. Добавил админку Flask-Admin (статья на хабре о ней). После нехитрых манипуляций она позволила активировать, деактивировать и удалять юзеров, дала возможность добавления ролей. Плюс работа со статическими файлами (загрузка на сервер, удаление, создание папок и т.
    д.). Пока без локализации.

    Дружить Flask-Admin и Flask-User не хотели при совместном использовании user_models.py.

    Пришлось для Flask-Admin создать отдельный файл models.py, и я так и не смог разобраться, почему они друг другу мешали.


II Вариант. С использованием flask-security и MongoDB

Скриншоты

Скриншоты

Вот что получается из коробки:



Установка и запуск

Установка

Надеюсь, что у вас уже установлен git, virtualenv и mongoDB.

cd ~
# Создаем виртуальное окружение
virtualenv env
# Активируем его
. env/bin/activate
# Создаем папку проекта
mkdir -p ~/www/my_app
cd www
git clone https://github.com/Alexmod/flask-security-flask-admin-mongodb.git  my_app
cd my_app
# Ставим все необходимые модули
pip install -r requirements.txt
# Запускаем сервер
python manage.py runserver

После этих команд по адресу http://localhost:5000/ должен открыться сайт как на скриншотах.

Юзер: [email protected] Пароль: Password1.
Админ: [email protected] Пароль: Password1.

Я запускал на linux с версией Python 3.6, но предполагаю, что должно «взлететь» и на любых 3.x.

Ссылка на GitHub для MongoDB

Деплой первого и второго варианта

Способов деплоя множество. Вот один самый простецкий.
Ставим gunicorn:

pip install gunicorn

В папке my_app создаем новый файл wsgi.py со следующим содержанием:

from app import create_app
app = create_app()

И запускаем:

gunicorn wsgi:app

Если все пройдет без ошибок, то по адресу http://127.0.0.1:8000 будет сайт, который можно прикручивать к nginx или apache. Дальше настраиваем systemd, чтобы он стартовал автоматически, и не забываем в файле local_settings.py изменить строку:

DEBUG = True # Меняем на False

Используйте шаблоны сайта SharePoint Topic, Showcase и Blank

SharePoint

Места

Места

Использование шаблонов SharePoint Topic, Showcase и Blank коммуникационного сайта

SharePoint Server Subscription Edition SharePoint Server 2019 SharePoint в Microsoft 365 Office для бизнеса Дополнительно. .. Меньше

Информационный сайт SharePoint — отличное место для передачи информации другим. Делитесь новостями, отчетами, обновлениями статуса и многим другим в визуально привлекательном формате. Используйте коммуникационные сайты для привлечения и информирования широкой аудитории.

  • Создание порталов, сайтов отделов или проектов

  • Делитесь новостями компании, объявлениями и событиями

  • Привлечь десятки или тысячи зрителей

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

Параметры шаблона базового информационного сайта

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

.
  • Тема для обмена информацией, такой как новости, события и другой контент.

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

  • Заготовка для создания собственного дизайна.

Примечание. Тематический сайт является коммуникационным сайтом SharePoint по умолчанию.

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

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

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

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

1. Содержание тематического сайта

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

  • Hero : используйте веб-часть Hero, чтобы привлечь внимание и привлечь внимание к странице. Вы можете отобразить до пяти элементов в веб-части Hero и добавить привлекательные изображения, чтобы привлечь внимание к каждому из них. Дополнительные сведения см. в статье Использование веб-части Hero на современной странице.

  • News : вы можете держать свою команду в курсе событий, а также привлекать их важными или интересными историями с помощью веб-части новостей. Дополнительные сведения см. в статье Использование веб-частей «Заголовки новостей» и «Список новостей» на современной странице.

  • События : отображение предстоящих событий с помощью веб-части событий. Дополнительные сведения см. в статье Использование веб-части «События».

  • org/ListItem»>

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

2. Демонстрация содержимого сайта

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

  • Hero : используйте веб-часть Hero, чтобы привлечь внимание и привлечь внимание к странице. С дизайном Showcase вы можете выбрать один из двух макетов: Tile и Layer , а также добавить привлекательные изображения, чтобы привлечь внимание к каждому элементу. Дополнительные сведения см. в статье Использование веб-части Hero на современной странице.

  • Галерея изображений : Используйте веб-часть галереи изображений для совместного использования коллекций изображений на странице. Дополнительные сведения см. в статье Использование веб-части «Коллекция изображений».

3. Пустое содержимое сайта

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

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

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

  • Редактировать и настраивать навигацию по сайту.

  • Измените внешний вид своего сайта, настроив тему, логотип, макеты заголовков и внешний вид сайта.

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

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

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

  1. Выберите  Поделиться сайтом  в правом углу.

  2. org/ListItem»>

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

  3. На панели  Поделиться сайтом  введите имена людей, с которыми вы хотите поделиться сайтом. Вы можете выбрать Все (кроме внешних пользователей) , если хотите, чтобы все сотрудники вашей организации имели доступ к сайту. Уровень разрешений по умолчанию – 9.0037 Только чтение .

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

  5. Выберите Поделиться.

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

Рекомендации по обслуживанию сайта:

  • План обслуживания сайта — Установите график проверки содержимого сайта так часто, как это необходимо, чтобы обеспечить его точность и актуальность.

  • Регулярно публиковать новости — Распространять последние объявления, информацию и информацию о статусе в организации. Узнайте, как добавить публикацию новостей на сайт группы или сайт для общения, и покажите другим, кто будет публиковать объявления, как они могут использовать новости SharePoint.

  • . Проверяйте ссылки и веб-части. . Обновляйте ссылки и веб-части, чтобы использовать все возможности своего сайта.

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

  • Периодически проверяйте настройки своего сайта.  После создания сайта в SharePoint вы можете вносить изменения в настройки, сведения о сайте и разрешения для сайта.

Дополнительные сведения о сайтах для общения и SharePoint

Узнайте больше о планировании, создании и обслуживании сайтов SharePoint.

См. дополнительные шаблоны сайтов SharePoint.

Купить коллекцию | Шаблоны веб-сайтов Showit

Lillet Blanc

EDITORIAL PROFISTICATED COOL

Вырванные со страниц модных журналов, Lillet Blanc создает атмосферу крутой девушки + типографика, редакционный дизайн. Впечатляющая типографика, чистые тона, черно-белое и OMG-моменты во всем дизайне — она идеальный шаблон для всех, кому нужно такое же крутое онлайн-пространство, как и они.

Полностью настраиваемый шаблон веб-сайта Showit для лидеров мнений, блоггеров и креативщиков

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

Совершенно новый

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

Мы создали продукт, о котором вы просили: полностью настраиваемый, потрясающий Canva ва социальный Медиа Шаблоны Instagram, созданные с учетом всей фирменной стратегии TONIC, которые вы ожидаете, разработаны, чтобы помочь ВАМ превзойти алгоритм + выделиться в ленте.

Полностью настраиваемые шаблоны Canva для инфлюенсеров, блоггеров и креативщиков

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

Совершенно НОВИНКА

Шаблоны Canva

Страница партнерского магазина

Готовы добавить поток дохода или… шесть? Добавьте страницу партнерского магазина на любой сайт Showit и стильно оптимизируйте свои партнерские ссылки. Стилизованный под потрясающий сайт электронной коммерции, вы можете добавлять свои любимые продукты, коды скидок, сообщения в блогах о покупках и многое другое!

Полностью настраиваемый шаблон веб-сайта Showit для инфлюенсеров, блоггеров и креативщиков

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

Brand New

Vesper

TIMELESS
ОТ РЕДАКЦИИ
ИЗЫСКАННЫЙ

Первое впечатление? *GASP* Масштабный дизайн Vesper сочетается с романтическими кремовыми нейтральными тонами и утонченной, потрясающей эстетикой. Ее редакционный, ориентированный на изображение дизайн идеально подходит для фотографов, дизайнеров, художников, креативщиков и других визуальных брендов.

Полностью настраиваемый шаблон веб-сайта Showit для фотографов и творческих людей

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

БЕСТСЕЛЛИНГ

Борзая

минималистичный
нейтральный
шикарный

Элегантный, эффектный и шикарный… мы хотим быть похожими на нее. Успокаивающий просмотр и предназначенный для продажи, наш Greyhound был создан буквально для всех, кто любит свое онлайн-пространство без помех и хочет быстро запустить свой красивый сайт.

Полностью настраиваемый шаблон веб-сайта Showit для фотографов и творческих людей

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

BESTSELLER

Manhattan

Editorial
уверенный в себе
сексуальный

Подобно вневременной сумке Chanel, наш шаблон веб-сайта Manhattan Showit был создан для тренеров, брендов, фотографов, подкастеров и креативщиков, которым нужен сайт не только смело красиво, но с множеством функций + создан для продажи.

Полностью настраиваемый шаблон веб-сайта Showit для фотографов и творческих людей

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

ЛУЧШАЯ ПРОДАЖА

Paper Plane

Органический
Стратегический
Современный

Как глоток свежего воздуха для Интернета, мы создали наш шаблон веб-сайта Paper Plane Showit для тренеров, брендов, фотографов, подкастеров и креативщиков, которые хотят *все* вещи, но хотите, чтобы они были сделаны красиво (и построены для продажи).

Полностью настраиваемый шаблон веб-сайта Showit для фотографов и творческих людей

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

БЕСТСЕЛЛИНГ

Lita Grey

Изысканный
Просторный редакционный

Типографический, запоминающийся, редакционный. Наша Lita Grey эстетически современна, с легким классическим влиянием; это идеальное место для дизайнеров интерьеров, фотографов и всех, кто хочет, чтобы их бренд заявлял о себе.

Полностью настраиваемый шаблон веб-сайта Showit для фотографов и творческих людей

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

БЕСТСЕЛЛИНГ

Французский 75

классический
стильный
вневременной

Классический, модный и женственный, наш шаблон веб-сайта French 75 Showit похож на Меган Маркл и Риз Уизерспун в одном лице. Оформлен редакционными шрифтами, румяными и кремовыми нейтральными тонами и готов для любого креативщика, фотографа, влиятельного лица, преподавателя или бренда.

Полностью настраиваемый шаблон веб-сайта Showit для фотографов и творческих людей

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

ЛУЧШАЯ ПРОДАЖА

Маргарита

красочный
стратегический
modern

Смелый, веселый, стратегический и полный индивидуальности, мы разработали наш шаблон веб-сайта Margarita Showit для тренеров, брендов, фотографов и креативщиков, которые хотят, чтобы их веб-сайт чувствовал себя как они (и конвертировал, конвертировал, конвертировал).

Полностью настраиваемый шаблон веб-сайта Showit для фотографов и творческих людей

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

ЛУЧШИЕ ПРОДАЖИ

«Мы нашли TONIC, когда рылись в титрах сайтов, которые нам нравились — мы быстро поняли, что TONIC разработал все самое лучшее те! У Джен и Джеффа самые красивые шаблоны для любой ниши».

— Крис Лавс Джулия, блог о дизайне + влиятельные лица

Похвала TONIC:

«Шаблоны TONIC разработаны с таким уровнем стратегии, намерения и эстетики, которые вы просто не найдете больше нигде. Это лучший вариант для любого предпринимателя, который хочет повысить уровень своего присутствия в Интернете».

— KT Merry, знаменитый фотограф + педагог

Похвала TONIC:

«Линейка настраиваемых шаблонов сайтов Tonic для современных креативщиков — это в основном шаблоны сайтов для людей, которые думают, что им не нравятся шаблоны сайтов. Они делают красивый дизайн доступным + доступным для всех!»

— Натали и Даниэль, основатели Bossbabe

Похвала TONIC:

«Я не могу остановиться, не перестану восхищаться тем, как сильно я люблю сайты TONIC. Наконец-то у меня есть веб-сайт, отражающий суть моей фирмы, и на его запуск ушла всего неделя! Теперь комплименты и клиенты посыпались! ”

— Айви Макнил, юрист по бизнесу и товарным знакам

Похвала TONIC:

«До TONIC я действительно не знала, каким активом может быть отличный, уникальный веб-сайт для моего бизнеса. Джен и Джефф создают самые красивые, полностью настраиваемые шаблоны веб-сайтов SHOWIT в игре!»

— Дженна Катчер, подкаст Goal Digger + преподаватель

Похвала TONIC:

«Это, несомненно, лучшая инвестиция, которую я сделал в своем бизнесе за последние 15 лет. Если вы думаете о создании нового веб-сайта, есть только один способ. Сайт TONIC полностью изменит ваш бизнес».

— Мелисса Мэйо, шеф-повар Food Network

Благодарность TONIC:

Читать дальше отзывы →

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

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

…это совершенно не похоже на шаблон.

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

Легко редактируйте все, что хотите.

Или не делайте этого и оставьте все как есть! В любом случае, без кода, без ограничений. Не плачь в клавиатуру. (И никаких навыков Photoshop или дизайнерских навыков не требуется… это наша работа, чувак!)

То, что вы видите, это именно то, что вы получите.

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

Включены звонки, свистки и звонки для кошек.

SEO-оптимизация. Отзывчивый. Удобство для мобильных устройств. Готовы к созданию списков, продажам страниц, восхищению клиентов и многому другому. Вы знаете все эти коробки модных словечек, которые люди говорят, что вы должны проверить? Мы проверили их для вас.

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

— elena / @modernmarket

«Невероятно, что наконец-то у меня появился веб-сайт, который на 100% соответствует тому, о чем я всегда мечтал… место для всех моих идей, мечтаний и ресурсов. собрались вместе, как я всегда хотел, чтобы сайт моей мечты выглядел так!»

— jenna / @jennakutcher

«До TONIC я действительно не знала, каким активом может быть отличный, уникальный веб-сайт для моего бизнеса.

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

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