• Bash проверка открытого порта. Как проверить результат работы команды?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Переменная $? содержит результат последней выполненной команды (0=успех)

    #!/bin/bash
    
    nc -z <host> <port>
    
    if [ $? -ne 0 ]; then
    echo 'Открыт'
    else
    echo 'Закрыт'
    fi
    Ответ написан
    Комментировать
  • Как выровнять текст в колонке flex по вертикали?

    HamSter007
    @HamSter007
    HTML/CSS верстальщик
    .l {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    Ответ написан
    3 комментария
  • Как в MySQL 8.0 поменять значение глобальной переменной default_authentication_plugin?

    @Ma5t3r
    ALTER USER 'root'@'localhost'
    IDENTIFIED WITH mysql_native_password
    BY 'password';
    https://dev.mysql.com/doc/refman/8.0/en/upgrading-...
    Ответ написан
    Комментировать
  • Как разбить число на разряды в input?

    KorsaR-ZN
    @KorsaR-ZN
    Вот так можно сделать,
    var nubmer = 1205345,
        format = String(nubmer).replace(/(\d)(?=(\d{3})+([^\d]|$))/g, '$1 ');
    Ответ написан
    4 комментария
  • Как убрать браузерную обводку у кнопок (появляющуюся в состоянии :focus) в Chrome и Firefox?

    wprivalov
    @wprivalov
    Разрабатываю сайты на токарном станке)
    для bootstrap 4 (100% рабочий вариант):

    a.active.focus,
    a.active:focus,
    a.focus,
    a:active.focus,
    a:active:focus,
    a:focus,
    button.active.focus,
    button.active:focus,
    button.focus,
    button:active.focus,
    button:active:focus,
    button:focus,
    .btn.active.focus,
    .btn.active:focus,
    .btn.focus,
    .btn:active.focus,
    .btn:active:focus,
    .btn:focus {
    outline: 0!important;
    outline-color: transparent!important;
    outline-width: 0!important;
    outline-style: none!important;
    box-shadow: 0 0 0 0 rgba(0,123,255,0)!important;
    }
    Ответ написан
    4 комментария
  • Nginx redirect from http to https?

    nikitasius
    @nikitasius
    еще хороший вариант:
    if ($ssl_protocol = "") {                                
                                    rewrite ^/(.*) https://$server_name/$1 permanent;
    }

    У меня такой код для определенных location сделан. К примеру чтобы admin и иже с ними только через https работыли.
    Ответ написан
    Комментировать
  • Как настроить редирект с www на без www + HTTPS в Nginx?

    @lexjusto Автор вопроса
    Всем спасибо. Сам пришел к правильному решению. Делюсь с вами:

    server {
        server_name www.example.com example.com;
        return 301 https://example.com$request_uri;
    }
    
    server {
        listen 443 ssl;
    
        ssl_certificate /path/to/server.cert;
        ssl_certificate_key /path/to/server.key;
    
        server_name www.example.com;
        return 301 https://example.com$request_uri;
    }
    
    server {
        listen 443 ssl;
        ssl_certificate /path/to/server.cert;
        ssl_certificate_key /path/to/server.key;
        server_name example.com;
    
        <все локации основного домена>
    }
    Ответ написан
    1 комментарий
  • Yii2 и bootstrap 4, как обновить компоненты yiisoft/yii2-bootstrap до bootstrap4?

    @grozzzny
    Люблю кодить
    Подключите расширение через композер:
    composer require grozzzny/depends "dev-master"

    Затем в assets добавьте

    class AppAsset extends AssetBundle
    {
        public $depends = [
            'yii\web\YiiAsset',
            'grozzzny\depends\bootstrap4\Bootstrap4Asset',
            'grozzzny\depends\bootstrap4\Bootstrap4PluginAsset',
        ];
    }


    Класс Bootstrap4Asset при инициализации подписывается на события View и при возможности удаляет bootsrap 3
    class Bootstrap4Asset extends AssetBundle
    {
        public $sourcePath = '@vendor/twbs/bootstrap/dist';
        public $css = [
            'css/bootstrap.css',
        ];
    
        public function init()
        {
            parent::init(); // TODO: Change the autogenerated stub
            Yii::$app->view->on(View::EVENT_AFTER_RENDER, function (){
                unset(Yii::$app->view->assetBundles['yii\bootstrap\BootstrapAsset']);
            });
            Yii::$app->view->on(View::EVENT_BEGIN_BODY, function (){
                unset(Yii::$app->view->assetBundles['yii\bootstrap\BootstrapAsset']);
            });
        }
    }


    Таким образом можно играться с layouts.. Например админка может спокойно работать на bootstrap 3, а фронтенд на bootstrap 4.

    Но это еще не все.. Есть нюансы..
    С модальным окном пришлось унаследоваться от модального класса bootstrap 3
    С валидацией инпутов, перенаследовал миксины bootstrapa 4 и дописал в миксин реализацию от bootsrapa 3. (SCSS)
    Виджет меню стал примерно таким:
    <?= Nav::widget([
        'options' => ['class' => 'navbar-nav d-flex justify-content-between w-100'],
        'items' => [
            [
                'label' => ''Услуги,
                'options' => ['class' => 'nav-item'],
                'linkOptions' => ['class' => 'nav-link'],
                'url' => ['services'],
                'active' => Yii::$app->controller->id == 'services'
            ],
     ....
            [
                'label' => 'Контакты',
                'options' => ['class' => 'nav-item'],
                'linkOptions' => ['class' => 'nav-link'],
                'active' => Yii::$app->controller->id == 'contacts',
                'url' => ['/contacts']
            ]
        ]
    ]);?>

    Хлебные крошки:
    <nav aria-label="breadcrumb" class="mb-3">
        <?= Breadcrumbs::widget([
            'links' => $this->params['breadcrumbs'],
            'options' => ['class' => 'breadcrumb'],
            'tag' => 'ol',
            'itemTemplate' => "<li class='breadcrumb-item'>{link}</li>\n",
            'activeItemTemplate' => "<li class=\"breadcrumb-item active\" aria-current=\"page\">{link}</li>\n",
        ])?>
    </nav>

    Пагинация:
    <nav aria-label="Page navigation">
                <?= LinkPager::widget([
                    'pagination' => $provider->pagination,
                    'linkContainerOptions' => ['class' => 'page-item'],
                    'linkOptions' => ['class' => 'page-link'],
                    'disabledListItemSubTagOptions' => ['tag' => 'a', 'class' => 'page-link']
                ]) ?>
            </nav>


    Alerts:
    <?= Alert::widget([
                'options' => ['class' => 'alert alert-danger show', 'role' => 'alert'],
                'body' => $message,
            ]) ?>


    В общем в этой сборке cms от easyiicms, с которой можно спокойно работать с bootstrap 4. Там смеси от less и scss. CMS чисто шаблонная и измененная.. для себя писал, но решать вам
    composer create-project --prefer-dist --stability=dev grozzzny/yiicms www dev-master


    Вот еще надстройка Material Design for Bootstrap 4 с модулями от https://mdbootstrap.com:

    class AppAsset extends AssetBundle
    {
        public $depends = [
            ..
            //Material Design for Bootstrap 4
            'grozzzny\depends\mdbootstrap\MDBootstrapAsset',
            'grozzzny\depends\mdbootstrap\MDBootstrapPluginAsset',
            ..
       ];
    }


    В assetManager в главной конфигурации можно указать надстройки:
    'assetManager' => [
                'bundles' => [
                    // Если решили переопределить scss:
                    'grozzzny\depends\mdbootstrap\MDBootstrapAsset' => [
                        'basePath' => '@webroot',
                        'baseUrl' => '@web',
                        'css' => ['css/mdbootstrap/mdb.css'], 
                    ],
                    // Если решили подключить доступные модули в коллекции MDB:
                    'grozzzny\depends\mdbootstrap\MDBootstrapPluginAsset' => [
                        'chart' => true,
                        'enhancedModals' => true,
                        'formsFree' => true,
                        'jqueryEasing' => true,
                        'scrollingNavbar' => true,
                        'velocity' => true,
                        'waves' => true,
                        'wow' => true,
                    ],
                ],
            ],


    Создам нормальный лаяулт под Bootstrap 4 со всеми примерами и объяснениями, если данный ответ наберет лайки
    Ответ написан
    Комментировать
  • Как загрузить готовый проект в пустой репозиторий?

    @tagplus5
    git commit -m 'initial commit'
    git push -u origin master

    Ответ написан
    Комментировать
  • Что лучше для конкретного проекта Yii2 или ModX?

    ap0stal
    @ap0stal
    Web-разработчик
    Yii2 оптимальней для кастомного маркетплейса. Вы с правилами валидациями и отношениями замаетесь в Modx.
    Ответ написан
    Комментировать
  • Как создать появляющееся горизонтальное меню после прокрутки?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    Зачем Вам новое меню? При скролле добавляйте новый класс своему меню, исключайте его из потока с использованием fixed, а чтобы при этом контент не уезжал на высоту меню наверх — используйте margin-top.
    А уж в новом классе переопределяйте свое меню как хотите, хоть внешний вид, хоть некоторые пункты скрывайте.
    Вот пример писал для подобного вопроса.
    codepen.io/iiil/pen/InDbp
    Ответ написан
    8 комментариев