Merge pull request #82 from ChrisLeeGit/master

Added new items & modified scripts
This commit is contained in:
Luong Vo Tran Thanh 2016-08-25 18:24:22 +07:00 committed by GitHub
commit ae8962b94f
4 changed files with 117 additions and 5 deletions

View File

@ -72,6 +72,8 @@ Two Chinese version of this list are available [here](https://github.com/alim0x/
## Applications ## Applications
### Audio ### Audio
@ -359,8 +361,9 @@ Two Chinese version of this list are available [here](https://github.com/alim0x/
- [Tcpdump](http://www.tcpdump.org/) - TCP Debugging/Capture Tool![Freeware][Freeware Icon] - [Tcpdump](http://www.tcpdump.org/) - TCP Debugging/Capture Tool![Freeware][Freeware Icon]
### Proxy ### Proxy
- [Shadowsocks](https://shadowsocks.org/en/index.html) - A secure socks5 proxy, - [Privoxy](https://www.privoxy.org/) - Privoxy is a non-caching web proxy with advanced filtering capabilities for enhancing privacy, modifying web page data and HTTP headers, controlling access, and removing ads and other obnoxious Internet junk. [![Open-Source Software][OSS Icon]](https://sourceforge.net/projects/ijbswa/) ![Freeware][Freeware Icon]
designed to protect your Internet traffic [![Open-Source Software][OSS Icon]](https://github.com/shadowsocks/shadowsocks-qt5/releases) ![Freeware][Freeware Icon] - [ProxyChains](https://github.com/haad/proxychains) - A tool that forces any TCP connection made by any given application to follow through proxy like TOR or any other SOCKS4, SOCKS5 or HTTP(S) proxy. [![Open-Source Software][OSS Icon]](https://github.com/haad/proxychains) ![Freeware][Freeware Icon]
- [Shadowsocks](https://shadowsocks.org/en/index.html) - A secure socks5 proxy, designed to protect your Internet traffic. [![Open-Source Software][OSS Icon]](https://github.com/shadowsocks/shadowsocks-qt5/releases) ![Freeware][Freeware Icon]
### Sharing Files ### Sharing Files
- [aria2](https://aria2.github.io/) - aria2 is a lightweight multi-protocol & multi-source command-line download utility. [![Open-Source Software][OSS Icon]](https://github.com/aria2/aria2) ![Freeware][Freeware Icon] - [aria2](https://aria2.github.io/) - aria2 is a lightweight multi-protocol & multi-source command-line download utility. [![Open-Source Software][OSS Icon]](https://github.com/aria2/aria2) ![Freeware][Freeware Icon]

View File

@ -65,6 +65,7 @@
*********** ***********
## 应用 ## 应用
### 音频 ### 音频
@ -115,8 +116,8 @@
- [Arc Theme](https://github.com/horst3180/arc-theme) - 带有透明元素的扁平化主题 ![Open-Source Software][OSS Icon] ![Freeware][Freeware Icon] - [Arc Theme](https://github.com/horst3180/arc-theme) - 带有透明元素的扁平化主题 ![Open-Source Software][OSS Icon] ![Freeware][Freeware Icon]
- [Compiz Config settings manager](https://apps.ubuntu.com/cat/applications/compizconfig-settings-manager/) - OpenCompositing 项目带来的提高 X Window 系统可用性和生产力的 3D 桌面视觉特效。![Freeware][Freeware Icon] - [Compiz Config settings manager](https://apps.ubuntu.com/cat/applications/compizconfig-settings-manager/) - OpenCompositing 项目带来的提高 X Window 系统可用性和生产力的 3D 桌面视觉特效。![Freeware][Freeware Icon]
- [Conky](https://github.com/brndnmtthws/conky) - Conky 是 X 下一款免费,轻量的系统监视器,可以在你桌面显示任何类型的信息。 [![Open-Source Software][OSS Icon]](https://github.com/brndnmtthws/conky)![Freeware][Freeware Icon] - [Conky](https://github.com/brndnmtthws/conky) - Conky 是 X 下一款免费,轻量的系统监视器,可以在你桌面显示任何类型的信息。 [![Open-Source Software][OSS Icon]](https://github.com/brndnmtthws/conky)![Freeware][Freeware Icon]
- [Flatabulous](https://github.com/anmoljagetia/Flatabulous) - 一款扁平化主题,适用于 Ubuntu 以及其它基于 Gnome 的 Linux 系统。 ![Open-Source Software][OSS Icon] ![Freeware][Freeware Icon]
- [Flatabulous Arc Theme](https://github.com/andreisergiu98/arc-flatabulous-theme) - 我最爱的 ubuntu 主题。[![Open-Source Software][OSS Icon]](https://github.com/andreisergiu98/arc-flatabulous-theme)![Freeware][Freeware Icon] - [Flatabulous Arc Theme](https://github.com/andreisergiu98/arc-flatabulous-theme) - 我最爱的 ubuntu 主题。[![Open-Source Software][OSS Icon]](https://github.com/andreisergiu98/arc-flatabulous-theme)![Freeware][Freeware Icon]
- [Flatabulous](https://github.com/anmoljagetia/Flatabulous) - 一款扁平化主题,适用于 Ubuntu 以及其它基于 Gnome 的 Linux 系统。 ![Open-Source Software][OSS Icon] ![Freeware][Freeware Icon]
- [Gnome Extensions](http://extensions.gnome.org/) - Gnome 桌面环境扩展插件。 ![Freeware][Freeware Icon] - [Gnome Extensions](http://extensions.gnome.org/) - Gnome 桌面环境扩展插件。 ![Freeware][Freeware Icon]
- [Gnome Look](https://www.gnome-look.org/) - 大量社区创建的图标shell 主题,字体,以及其他更多的可用来个性化你的 Gnome 桌面环境的资源,都在这一个站点。 [Freeware][Freeware Icon] - [Gnome Look](https://www.gnome-look.org/) - 大量社区创建的图标shell 主题,字体,以及其他更多的可用来个性化你的 Gnome 桌面环境的资源,都在这一个站点。 [Freeware][Freeware Icon]
- [Irradiance Theme](https://github.com/bsundman/Irradiance) - 一款受 OSX Yosemite 启发的 Unity 主题,基于 Radiance。[![Open-Source Software][OSS Icon]](https://github.com/bsundman/Irradiance)![Freeware][Freeware Icon] - [Irradiance Theme](https://github.com/bsundman/Irradiance) - 一款受 OSX Yosemite 启发的 Unity 主题,基于 Radiance。[![Open-Source Software][OSS Icon]](https://github.com/bsundman/Irradiance)![Freeware][Freeware Icon]
@ -443,8 +444,8 @@
- [htop](http://hisham.hm/htop/) - 带有改进的特性和用户体验的 top。[![Open-Source Software][OSS Icon]](https://github.com/hishamhm/htop)![Freeware][Freeware Icon] - [htop](http://hisham.hm/htop/) - 带有改进的特性和用户体验的 top。[![Open-Source Software][OSS Icon]](https://github.com/hishamhm/htop)![Freeware][Freeware Icon]
- [Pacman4console](https://launchpad.net/ubuntu/+source/pacman4console) - 在控制台玩吃豆人。[![Open-Source Software][OSS Icon]](https://github.com/alexdantas/pacman4console.debian)![Freeware][Freeware Icon] - [Pacman4console](https://launchpad.net/ubuntu/+source/pacman4console) - 在控制台玩吃豆人。[![Open-Source Software][OSS Icon]](https://github.com/alexdantas/pacman4console.debian)![Freeware][Freeware Icon]
- [Tmux](https://tmux.github.io/) - 它让你在一个终端中在多个程序间方便地切换,分离他们(保持在后台运行)并另一个终端中重新连接上去。以及还有好多事情可以做。[![Open-Source Software][OSS Icon]](https://github.com/tmux/tmux)![Freeware][Freeware Icon] - [Tmux](https://tmux.github.io/) - 它让你在一个终端中在多个程序间方便地切换,分离他们(保持在后台运行)并另一个终端中重新连接上去。以及还有好多事情可以做。[![Open-Source Software][OSS Icon]](https://github.com/tmux/tmux)![Freeware][Freeware Icon]
- [十佳命令行工具](http://lifehacker.com/399468/top-10-command-line-tools)
- [wicd-curses](https://wiki.archlinux.org/index.php/wicd#Running_Wicd_in_Text_Mode) - 命令行 WiFi 连接管理器。 - [wicd-curses](https://wiki.archlinux.org/index.php/wicd#Running_Wicd_in_Text_Mode) - 命令行 WiFi 连接管理器。
- [十佳命令行工具](http://lifehacker.com/399468/top-10-command-line-tools)
## 桌面环境 ## 桌面环境
- [Budgie](https://solus-project.com/budgie/) - Budgie 是一个面向现代用户思想设计的桌面环境,专注于简洁与优雅。[![Open-Source Software][OSS Icon]](https://github.com/solus-project/budgie-desktop) ![Freeware][Freeware Icon] - [Budgie](https://solus-project.com/budgie/) - Budgie 是一个面向现代用户思想设计的桌面环境,专注于简洁与优雅。[![Open-Source Software][OSS Icon]](https://github.com/solus-project/budgie-desktop) ![Freeware][Freeware Icon]

View File

@ -1,5 +1,8 @@
- [English](#introduction)
- [中文](#介绍)
# Introduction # Introduction
`asort.py` is a very simple python3 script that aims to make sure items in the README file of the repo [Awesome-Linux-Software](https://github.com/VoLuong/Awesome-Linux-Software) are sorted alphabetically. `asort.py` is a very simple python3 script that aims to make sure items in the README file of the repo [Awesome-Linux-Software](https://github.com/VoLuong/Awesome-Linux-Software) are sorted alphabetically.
This script only sorts items in the following topics for now (items between topic Applications and topic Setup): This script only sorts items in the following topics for now (items between topic Applications and topic Setup):
- Applications - Applications
@ -15,5 +18,33 @@ This script only sorts items in the following topics for now (items between topi
![test screenshot](./test.png) ![test screenshot](./test.png)
## Note
`asort_zh.py` works for the file [README_zh-CN.md](https://github.com/VoLuong/Awesome-Linux-Software/blob/master/README_zh-CN.md), the Chinese version of this list.
# License # License
MIT License. MIT License.
---------------------------------------------
# 介绍
`asort.py` 是一个非常简单的 python3 脚本,它负责将 [Awesome-Linux-Software](https://github.com/VoLuong/Awesome-Linux-Software) 仓库的 README.md 文件中的条目按照字母表顺序排列,以方便查阅。
该脚本只会为如下几个主题中的条目进行排序(实际上就是在主题 *应用程序**配置* 之间的所有条目):
- 应用程序
- 命令行实用工具
- 桌面环境
- 显示管理器
- 窗口管理器
# 用法
1. 请首先按照说明将新的条目添加到合适的主题下,不用考虑排序问题;
1. 然后,确保你在系统上安装了 Python3 运行环境;
1. 打开终端,运行 `python3 asort.py` 即可。之后,你将得到一个新生成的 README 文件,并且文件中所有的在上述几个主题中的条目都已经按照字母表的顺序排列好了。
![test 截图](./test.png)
## 注意
新增的 `asort_zh.py` 专门用于中文版 [README_zh-CN.md](https://github.com/VoLuong/Awesome-Linux-Software/blob/master/README_zh-CN.md) 条目排序。用法与上面类似。
# 许可
MIT 许可协议。

77
auto_sort/asort_zh.py Normal file
View File

@ -0,0 +1,77 @@
#!/usr/bin/env python3
# -*-coding: utf-8-*-
# Author : Christopher L
# Blog : http://blog.chriscabin.com
# GitHub : https://www.github.com/chrisleegit
# File : asort.py
# Date : 2016/08/22 11:12
# Version: 0.1
# Description: A very simple python script that can sort items alphabetically.
import os
import shutil
README_FILE = '../README_zh-CN.md'
TEMP_FILE = 'temp_zh.md'
# only works for those items between BEGIN and END.
BEGIN = '## 应用'
END = '## 设置'
def main():
global README_FILE
# make sure the script can find file: README.md
README_FILE = os.path.abspath(README_FILE)
if not os.path.exists(README_FILE):
print('Error: no such file or directory: {}'.format(README_FILE))
exit(1)
sort_enable = False
items = list()
print('Loading file: {}'.format(README_FILE))
# read file: README.md
with open(README_FILE) as infile, open(TEMP_FILE, 'w') as outfile:
# process each line
for line in infile:
if not sort_enable and BEGIN in line:
sort_enable = True
# if sort_enable and END in line:
# sort_enable = False
if sort_enable:
line = line.strip()
# each item starts with a character '-' (maybe '*' and '+')
if line.startswith(('-', '*', '+')):
items.append(line)
elif line.startswith('#'):
sort_enable = False if END in line else True
# when we meet the next header, we should stop adding new item to the list.
for item in sorted(items, key=lambda x: x.upper()):
# write the ordered list to the temporary file.
print(item, file=outfile)
print('', file=outfile)
items.clear()
# remember to put the next header in the temporary file.
print(line, file=outfile)
else:
print(line, end='', file=outfile)
else:
print(line, end='', file=outfile)
print('Replace the original file: README_zh-CN.md')
shutil.move(TEMP_FILE, README_FILE)
if __name__ == '__main__':
main()