ellipsis

授权协议 MIT License
开发语言 SHELL
所属分类 应用工具、 文档/文本编辑
软件类型 开源软件
地区 不详
投 递 者 申宜
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Ellipsis

 _    _    _
/\_\ /\_\ /\_\
\/_/ \/_/ \/_/   …because $HOME is where the <3 is!

Ellipsis is a package manager for dotfiles.

Features

  • Creating new packages is trivial (any git repository is already a package).
  • Modular configuration files are easier to maintain and share with others.
  • Allows you to quickly see which dotfiles have been modified, and keep themupdated and in-sync across systems.
  • Adding new dotfiles to your collection can be automated with ellipsis add.
  • Cross platform, known to work on Mac OS X, Linux, FreeBSD and even Cygwin.
  • Large test suite to ensure your $HOME doesn't get ravaged.
  • Completely customizable.
  • Works with existing dotfiles!

Install

Requirements: bash, curl, git

Clone and symlink or use handy-dandy installer:

# Manual install
$ git clone https://github.com/ellipsis/ellipsis .ellipsis

# Using installer
$ curl ellipsis.sh | sh

...no you didn't read that wrong, the ellipsis.sh website also doubles as the installer

With the installer you can also specify which packages to install by settingthe PACKAGES variable, i.e.:

$ curl https://ellipsis.sh | PACKAGES='vim zsh' sh

Add ~/.ellipsis/bin to your $PATH (or symlink somewhere convenient) andstart managing your dotfiles in style :)

As of version 1.7.3 you can also use the init system toautomatically setup you environment. As a bonus it will allow you to use thepowerful pkg.init hook to do the same for your packages.

Usage

Ellipsis comes with no dotfiles out of the box. To install packages, useellipsis install. Packages can be specified by github-user/repo or fullssh/git/http(s) urls:

$ ellipsis install ssh://github.com/zeekay/private.git
$ ellipsis install zeekay/vim
$ ellipsis install zsh

...all work. By convention username/package and package are aliases forhttps://github.com/username/dot-package. (customizable using ELLIPSIS_PREFIX)

For full usage information you can read the docs or ask help fromthe command line with the -h option.

Configuration

You can customize ellipsis by exporting a few different variables:

Variable Description
GITHUB_USER / ELLIPSIS_USER Customizes whose dotfiles are installed when you ellipsis install without specifying user or a full repo url. Defaults to $(git config github.user) or whoami.
ELLIPSIS_REPO Customize location of ellipsis repo cloned during a curl-based install. Defaults to https://github.com/ellipsis/ellipsis.
ELLIPSIS_PROTO Customizes which protocol new packages are cloned with, you can specify https,ssh, git. Defaults to https.
ELLIPSIS_PREFIX Customizes the prefix of ellipsis configuration packages (default: dot-).
ELLIPSIS_HOME Customize which folder files are symlinked into, defaults to $HOME. (Mostly useful for testing)
ELLIPSIS_PATH Customize where ellipsis lives on your filesystem, defaults to ~/.ellipsis.
ELLIPSIS_PACKAGES Customize where ellipsis installs packages on your filesystem, defaults to ~/.ellipsis/packages.
ELLIPSIS_LOGFILE Customize location of the logfile, defaults to /tmp/ellipsis.log.
export ELLIPSIS_USER="zeekay"
export ELLIPSIS_PROTO="ssh"
export ELLIPSIS_PATH="~/.el"

Packages

A package is any repo with files you want to symlink into $ELLIPSIS_HOME(typically $HOME). By default all of a repository's non-hidden files (read:not beginning with a .) will naively be linked into place, with the exceptionof a few common text files (README, LICENSE, etc).

You can customize how ellipsis interacts with your package by adding anellipsis.sh file to the root of your project. Here's an example of a completeellipsis.sh file:

#!/usr/bin/env bash

Yep, that's it :) If all you want to do is symlink some files into $HOME,adding an ellipsis.sh to your package is completely optional. But what if youneed more? That's where hooks come in...

Docs

Please consult the docs for more information.

Specific parts that could be off interest:

Development

Pull requests welcome! New code should follow the existing style(and ideally include tests).

Suggest a feature or report a bug? Create an issue!

License

Ellipsis is open-source software licensed under the MIT license.

  • [转] Ellipsis (and why to avoid them) In all of the functions we’ve seen so far, the number of parameters a function will take must be known in advance (even if they have default values). However, ther

  • 关键字: text-overflow:ellipsis 语法:text-overflow : clip | ellipsis   取值: clip :默认值 。不显示省略标记(...),而是简单的裁切. ellipsis: 当对象内文本溢出时显示省略标记(...).   可惜text-overflow 还只是ie的私有属性而已,也没被收录到w3c标准里 .   如果想让某个容器(div或者li或者

  • 作者:zccst 2015-06-19 今天这个问题上又踩坑了。说的没错, .className{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;} 外部结构如下是就失效了:(移动端) <a class="ha"> <span>范冰冰摔倒李晨"英雄救美" 事后大呼:吓死牛了(图)</span> <p class="date"> <

  • .groupNickname { width: 1.5rem; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } 必须配合overflow: hidden; 和 white-space: nowrap;使用才有效。

  • 什么是Ellipsis对象? 中文解释:省略 用于表示索引查找[]中省略号(...)是否存在。Ellipsis对象没有任何属性,等价于True。 Ellipsis对象表现形式:省略号 举例1: a = [1,2] a.append(a) print a 输出:[1,2,[...]] 出现“...”的原因:出现了类似无限循环的结构,因为a[2] = a print a[2]  输出:[1,2,[..

  • 完整错误信息如下: IndexError: only integers, slices (:), ellipsis (...), numpy.newaxis (None) and integer or boolean arrays are valid indices 经检查,错误之处在索引处使用了浮点数,修改后部分代码如下: h=int(h) #修改成整型 w=int(w) #修改成整型 retu

  • Ellipsis对象。 写作 : ‘…’ 中文解释:省略 该对象bool测试是为真 用途: 1.用来省略代码,作用类似于pass的一种替代方案,这是python的’TBD’(未确定内容)。 def fun(): … 2.循环数据结构, 一个复合对象包含指向自身的引用。 L = [1,2,3] L.append(L) print(L) 此时输出为[1,2,3,[…]] 3.用来模拟一些情况,使结果看

  • 参考链接:https://stackoverflow.com/questions/772124/what-does-the-python-ellipsis-object-do 我一直困惑,python当中经常出现[...],看了这个stackoverflow之后明白了其中的意思: This came up in another question recently. I'll elaborate

  • 平时翻阅源码的时候可能会遇到过这样的函数定义。点。点。点(Ellipsis对象,py2中没有这个...语法) def main(module: Union[None, str, ModuleType] = ..., defaultTest: Union[str, Iterable[str], None] = ..., argv: Optional[List[st

  • 常见的单行文本溢出显示省略号 写法:text-overflow: ellipsis;overflow: hidden;white-space: nowrap; <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <style type="text/css"> .p{ w

  • p y t h o n python python— e l l i p s i s ellipsis ellipsis 中文 省略 代码 l = [1,2] l.append(l) 你想象的 1 输出: [1,2,[1,2]] 2 输出: [1,2,[1,2,[1,2,[1,2,[1,2]]]]] <无限嵌套直到python终端内存爆炸> 3(逻辑问题) 输出: [1,2,1,2] … pyt

  • 出现这个错误是因为需要整形(int)而没有输入整形数。可以尝试加强制类型转换,即int(a) # a为输入 常见错误 li = [1, 2, 3, 4, 5] a = 10.0 b = 5 # li[a // b] = 9 # 错误用法,会报错 # 因为当a或b有一个为float时,整除算法得到的结果也为float type(a // b) # <class 'float'> li[int(a

 相关资料
  • 本文向大家介绍Python ellipsis 的用法详解,包括了Python ellipsis 的用法详解的使用技巧和注意事项,需要的朋友参考一下 背景 在 Python 的基本类型中单例模式的值有三个 None 类型的 None ,NotImplemented 类型的 NotImplemented, Ellipsis 类型的 ... 。 None 已经用的烂大街了,NotImplemented

  • 基于 Vue2 的自定义文本省略支持。 安装 yarn add @hyjiacan/vue-ellipsis or npm install @hyjiacan/vue-ellipsis 用法 import ellipsis from '@hyjiacan/vue-ellipsis'Vue.use(ellipsis) 你需要通过CSS指定宽度 .ellipsis-style{ width: 2

相关阅读

相关文章

相关问答

相关文档