ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Simple FTP Deploy

by HexRx ST3

This package for Sublime Text 3 give you possibility to auto upload file to FTP server when you save local file.

Labels ftp

Details

Installs

  • Total 46K
  • Win 30K
  • Mac 10K
  • Linux 5K
Jan 27 Jan 26 Jan 25 Jan 24 Jan 23 Jan 22 Jan 21 Jan 20 Jan 19 Jan 18 Jan 17 Jan 16 Jan 15 Jan 14 Jan 13 Jan 12 Jan 11 Jan 10 Jan 9 Jan 8 Jan 7 Jan 6 Jan 5 Jan 4 Jan 3 Jan 2 Jan 1 Dec 31 Dec 30 Dec 29 Dec 28 Dec 27 Dec 26 Dec 25 Dec 24 Dec 23 Dec 22 Dec 21 Dec 20 Dec 19 Dec 18 Dec 17 Dec 16 Dec 15 Dec 14 Dec 13
Windows 4 4 9 5 3 5 3 4 3 3 7 5 3 2 18 11 8 21 4 4 4 11 10 9 5 1 3 5 8 2 8 6 3 3 7 6 3 12 3 1 5 4 5 5 9 1
Mac 4 1 2 1 1 2 5 2 1 3 2 3 0 0 1 1 4 3 0 2 1 0 1 1 0 1 0 1 0 1 1 0 0 0 1 1 2 3 2 0 1 2 0 1 1 1
Linux 1 2 0 0 0 0 0 1 0 0 1 0 1 0 1 0 2 1 0 1 1 0 2 1 0 1 0 0 0 0 0 0 0 1 0 2 0 1 1 0 3 0 0 1 1 0

Readme

Source
raw.​githubusercontent.​com

Simple FTP Deploy

This package for Sublime Text ¾ gives you possibility to automatically upload or delete files from FTP server when you save or delete local files and also execute custom triggers.

Features

  • Upload or delete files from FTP server when you locally save or delete files
  • TLS support
  • Highly configurable
  • Automatically create directory if it doesn't exists on the server
  • Execute custom triggers on save / delete (see example usage here)

How to Install

Using Package Control

  1. In Sublime Text open menu Tools -> Command Palette...
  2. Enter Package Control: Install Package
  3. Find and install Simple FTP Deploy

Manual

  1. Download the .zip
  2. Open Packages directory, which you can find using the Sublime Text menu item Preferences -> Browse Packages...
  3. Unzip the archive to this directory.

How to Use

  1. Open folder which contains your local files in Sublime Text - open menu File -> Open Folder... or Project -> Add Folder to Project....
  2. Create new simple-ftp-deploy.json config file in the root of an opened directory (its settings see to configuration section)
  3. Save the config file.
  4. Now open file which you want to edit, it must be located in an opened directory or in the inside folders, if you save it, this file will be upload to FTP server which you entered in the config file.

Configuration

Minimal simple-ftp-deploy.json file:

{
    "host": "localhost",
    "username": "user",
    "password": "pass"
}

Format

The format is JSON, so every property consists of a key-value pair:

{
    "host": "localhost",
    "port": 21,
    "username": "user",
    "password": "pass",
    "rootDirectory": "/path/",
    "ignoredFilenames": ["example.py", "anotherFilename.json"],
    "ignoredExtensions": [".ignore", ".txt"],
    "ignoredFolders": ["ignore", "IGNORE"],
    "reuseSessions": true,
    "connectionTimeout": 600,
    "passive": true,
    "useTLS": true,
    "disabledEvents": ["deleteFile"],
    "noPromptEvents": ["createFolder"],
    "triggers": [
        {
            "on": "save",
            "extensions": [".css", ".js"],
            "execute": ".simple-ftp-deploy/minifier.py"
        }
    ]
}

Properties

"host" string
The hostname or IP address of your FTP server.

"port" number, optional (default: 21)
The port of the FTP server.

"username" string
The username.

"password" string
The password.

"rootDirectory" string, optional (default: "/")
The FTP path to deploy.
Example: in the root of FTP you have three folders site1, site2, site3 and if you need to upload in site2 folder, you must set this property to /site2, because if you skip this property, files will be upload to the root of FTP.

"ignoredFilenames" array of strings, optional (default: [])
List of filenames, that are ignored and not uploaded. Note that "simple-ftp-deploy.json" is ALWAYS ignored. Case-sensitive

"ignoredExtensions" array of strings, optional (default: [])
List of extensions to ignore. Note that it only check last extension (so file.tar.gz has extension ".gz") and if you want to ignore files like .htaccess, this file has no extension => use "ignoredFilenames" instead. Case-sensitive

"ignoredFolders" array of strings, optional (default: [])
List of folder names to ignore. The file is ignored, if it is in at least one of the specified folders (so folder1/folder2/file.py is ignored if "ignoredFolders" contains "folder1" and/or "folder2"). Case-sensitive

"reuseSessions" boolean, optional (default: true)
Whatever FTP session will be reused for next action (keeps session open for "connectionTimeout"; previously named "sessionCacheEnabled").

"connectionTimeout" number, optional (default: 600)
Sets timeout for FTP connections (in seconds).

"passive" boolean, optional (default: true)
Whether to connect to the FTP server in passive mode.

"useTLS" boolean, optional (default: false)
Whether to connect to the FTP server with TLS connection (May not work correctly in Sublime Text 3).

"disabledEvents" array of strings, optional (default: [])
List of events that will be disabled (for example if you do not want to click Cancel every time you are asked if you want to delete file(s) from FTP server too) Available events are: "deleteFile"

"noPromptEvents" array of strings, optional (default: [])
List of events that won't prompt you (for example if you do not want to click Delete every time you are asked if you want to delete file(s) from FTP server too) Available events are: "deleteFile", "createFolder"

"triggers" array of triggers (objects), optional (default: [])
List of custom triggers to call when specific event happens. Each trigger can contain:

  • "on" string - When to call trigger (available values: "save" or "delete").
  • "extensions" array of string, optional - For which file extensions call this trigger. See "ignoredExtension" for more info.
  • "filenames" array of string, options - For which filenames call this trigger. See "ignoredFilenames" for more info.
  • "execute" string - Path (relative from project root) to python file to execute

See example usage of triggers here

Contributors

License

The MIT License