hashedassets

소프트웨어 스크린 샷:
hashedassets
소프트웨어 정보:
버전: 0.3.1.1
업로드 날짜: 12 May 15
개발자: Filip Noetzel
라이센스: 무료
인기: 6

Rating: 1.0/5 (Total Votes: 1)

.

hashedassets은 복사의 내용을 기반으로 파일 이름에 파일 & NBSP 명령 줄 도구입니다, 또한 무엇으로 이름이 바뀌 었습니다 무엇의지도를 기록, 그래서 당신은 당신의 파일을 찾을 수 있습니다.
이 주요 목적은 먼 미래가 당신의 구성 요소에 Expires 헤더를 추가 할 수 있다는 것입니다. 사용자는 변경하지 않은 파일을 다운로드해야하기 때문에 해시 기반의 파일 이름을 사용하면, 당신의 $ VCS 버전 번호를 사용하는 것보다 훨씬 낫다.
일부 소스 파일 만들기
첫째, 우리는 해시 할 파일을 만듭니다
>>> 시스템 ( "MKDIR 입력 /")
>>> 시스템 ( "MKDIR 입력 /는 Subdir /")
>>> 시스템 ( "MKDIR지도 /")
>>> 파일로 ( "입력 / foo.txt의" "W") 오픈과 :
... file.write가 ( "foo는")
>>> 파일로 ( "입력 /는 Subdir / bar.txt라는" "W") 오픈과 :
... file.write가 ( "바")
>>> 시스템 ( '-t200504072213.12 입력 / foo.txt의 터치')
간단한 사용
>>> 시스템 ( "hashedassets지도 / map.txt 입력 / *. TXT 입력 / * / *. TXT 출력 /")
MKDIR '출력'
CP '입력 / foo.txt의'출력 / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt '
CP '입력 /는 Subdir / bar.txt라는'출력 / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt '
>>> ( "지도 / map.txt")가 열려 인쇄 할 수 있습니다. 읽기 ()
는 Subdir / bar.txt라는 : Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
foo.txt의 : C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt

>>> 시스템 ( "LS 출력 /")
C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt
Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
>>> 시스템 ( "LS지도 /")
map.txt
로깅 수준
우리가 조용히 명령을 말한다면, 그것이 무엇을하고 있는지 인쇄되지 않습니다 :
>>> 시스템 ( "hashedassets -q지도 / map2.txt 입력 / *. TXT 입력 / * / *. TXT 출력 /")
우리는 명령이 더 자세한로 말한다면, 그것은 더 많은 정보를 기록합니다
>>> 시스템 ( "hashedassets -vvv지도 / map3.txt 입력 / *. TXT 입력 / * / *. TXT 출력 /")
디버그 레벨은 10으로 설정
CP '입력 / foo.txt의'출력 / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt '
CP '입력 /는 Subdir / bar.txt라는'출력 / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt '
수정 시간도 유지됩니다 :
>>> old_stat = os.stat ( "입력 / foo.txt의")
>>> new_stat = os.stat ( "출력 / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt")
>>> [(getattr (old_stat, 소품) == getattr (new_stat, 소품))
( 'st_mtime', 'st_atime', 'st_ino')]에 소품에 대한
[참, 참, 거짓]
우리는 쉽게 여러 형식으로이 작업을 수행 할 수 있습니다 :
자바 스크립트
>>> 시스템 ( "hashedassets이 my_callback지도를 -n / map.js 입력 / *. TXT 입력 / * / *. TXT 출력 /")
CP '입력 / foo.txt의'출력 / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt '
CP '입력 /는 Subdir / bar.txt라는'출력 / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt '
>>> ( "지도 / map.js") 오픈 인쇄.) (읽기
var에 my_callback = {
& NBSP; "foo.txt의": "C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"
& NBSP; "는 Subdir / bar.txt라는": "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
};
JSON
>>> 시스템 ( "hashedassets -n my_callback지도 / map.json 입력 / *. TXT 입력 / * / *. TXT 출력 /")
CP '입력 / foo.txt의'출력 / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt '
CP '입력 /는 Subdir / bar.txt라는'출력 / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt '
>>> ( "지도 / map.json")가 열려 인쇄 할 수 있습니다. 읽기 ()
{
& NBSP; "foo.txt의": "C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"
& NBSP; "는 Subdir / bar.txt라는": "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
}
JSONP
>>> 시스템 ( "hashedassets이 my_callback지도를 -n / map.jsonp 입력 / *. TXT 입력 / * / *. TXT 출력 /")
CP '입력 / foo.txt의'출력 / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt '
CP '입력 /는 Subdir / bar.txt라는'출력 / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt '
>>> ( "지도 / map.jsonp")가 열려 인쇄 할 수 있습니다. 읽기 ()
my_callback ({
& NBSP; "foo.txt의": "C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"
& NBSP; "는 Subdir / bar.txt라는": "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
});
말대꾸
말대꾸는 CSS의 상단에 메타 언어입니다.
>>> 시스템 ( "hashedassets이 my_callback지도를 -n / map.scss 입력 / *. TXT 입력 / * / *. TXT 출력 /")
CP '입력 / foo.txt의'출력 / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt '
CP '입력 /는 Subdir / bar.txt라는'출력 / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt '
>>> ( "지도 / map.scss")가 열려 인쇄 할 수 있습니다. 읽기 ()
@mixin의 my_callback ($ 지시어, $ 경로) {
& NBSP; @if의 $ 경로 == "는 Subdir / bar.txt라는"{# {$ 지시어} : 홈페이지 ( "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"); }
& NBSP; @else 경우 $ 경로 == "foo.txt의"{# {$ 지시어} : 홈페이지 ( "C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"); }
& NBSP; @else {
& NBSP; @warn "찾지 못했습니다"# "자산의 목록에서"{$ 경로};
& NBSP; # {$ 지시어} : 홈페이지 ($ 경로);
& NBSP;}
}
PHP
>>> 시스템 ( "hashedassets -n my_callback지도 / map.php 입력 / *. TXT 입력 / * / *. TXT 출력 /")
CP '입력 / foo.txt의'출력 / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt '
CP '입력 /는 Subdir / bar.txt라는'출력 / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt '
>>> ( "지도 / map.php")가 열려 인쇄 할 수 있습니다. 읽기 ()
$ my_callback = 배열​​ (
& NBSP; "는 Subdir / bar.txt라는"=> "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
& NBSP; "foo.txt의"=> "C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"
)
SED
우리는 또한 우리를 위해 교체를 수행 나오지도 스크립트를 생성 할 수 있습니다 :
>>> 시스템 ( "hashedassets -n my_callback지도 / map.sed 입력 / *. TXT 입력 / * / *. TXT 출력 /")
CP '입력 / foo.txt의'출력 / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt '
CP '입력 /는 Subdir / bar.txt라는'출력 / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt '
>>> 개방 인쇄 ( "지도 / map.sed"). 읽기 ()
S /는 Subdir / 바 .txt 인 / Ys23Ag_5IOWqZCw9QGaVDdHwH00 .txt 인 / G
S / foo는 .txt 인 / C-7Hteo_D9vJXQ3UfzxbwnXaijM .txt 인 / G

또한 SED로 직접 사용할 수 있어야
>>> 오픈과 함께 ( "replaceme.html", "W") 파일로 :
... file.write가 ( ' 바 ')
이 스크립트는 다음과 같이 적용된다 :
>>> 시스템 ( "SED -f지도 / map.sed replaceme.html")

그러나, '.' 와일드 카드로 간주되지 않습니다, 그래서 다음은 작동하지 않습니다
>>> 오픈과 함께 ( "replaceme2.html", "W") 파일로 :
... file.write가 ( ' 바 ')
>>> 시스템 ( "SED -f지도 / map.sed replaceme2.html")

-t와 종류 지정
지도의 유형은 파일 이름에서 추측하지만, 당신은뿐만 아니라 그것을를 지정할 수 있습니다
>>> 시스템 ( "hashedassets -t JS cantguessmaptype 입력 / *. TXT 입력 / * / *. TXT 출력 /")
CP '입력 / foo.txt의'출력 / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt '
CP '입력 /는 Subdir / bar.txt라는'출력 / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt '
-l과 파일명의 길이를 지정
>>> 시스템 ( "hashedassets -l (10)지도 / shortmap.json 입력 / *. TXT 입력 / * / *. TXT 출력 /")
CP '입력 / foo.txt의'출력 / C-7Hteo_D9.txt '
CP '입력 /는 Subdir / bar.txt라는'출력 / Ys23Ag_5IO.txt '
>>> 시스템 ( "RM 출력 / C-7Hteo_D9.txt 출력 / Ys23Ag_5IO.txt")
-d와 다이제스트 지정
>>> 시스템 ( "hashedassets -d MD5지도 / shortmap.json 입력 / *. TXT 입력 / * / *. TXT 출력 /")
CP '입력 / foo.txt의'출력 / rL0Y20zC-Fzt72VPzMSk2A.txt '
CP '입력 /는 Subdir / bar.txt라는'출력 / N7UdGUp1E-RbVvZSTy1R8g.txt '
>>> 시스템 ( "RM 출력 / rL0Y20zC-Fzt72VPzMSk2A.txt 출력 / N7UdGUp1E-RbVvZSTy1R8g.txt")
다시 사용하여지도를
이 프로그램은 단지 이후 변경되지 않은 파일을 복사하려면 이전 실행에서 만든 맵에서 읽습니다. 그래서, 다음 명령 파일을 복사하지 마십시오 :
>>> 시스템 ( "hashedassets지도 / map.scss 입력 / *. TXT 입력 / * / *. TXT 출력 /")
>>> 시스템 ( "hashedassets지도 / map.php 입력 / *. TXT 입력 / * / *. TXT 출력 /")
>>> 시스템 ( "hashedassets지도 / map.js 입력 / *. TXT 입력 / * / *. TXT 출력 /")
>>> 시스템 ( "hashedassets지도 / map.json 입력 / *. TXT 입력 / * / *. TXT 출력 /")
>>> 시스템 ( "hashedassets지도 / map.sed 입력 / *. TXT 입력 / * / *. TXT 출력 /")
>>> 시스템 ( "hashedassets지도 / map.jsonp 입력 / *. TXT 입력 / * / *. TXT 출력 /")
>>> 시스템 ( "hashedassets지도 / map.txt 입력 / *. TXT 입력 / * / *. TXT 출력 /")
우리 사이의 입력 파일 중 하나를 터치하면 hashsum가 동일하기 때문에, 파일을 읽을 수는 있지만 복사되지됩니다
>>> 시스템 ( '-t200504072214.12 입력 / foo.txt의 터치')
>>> 시스템 ( "hashedassets지도 / map.json 입력 / *. TXT 입력 / * / *. TXT 출력 /")
우리는 파일의 내용을 변경하는 경우, 그것은 새로운 이름을 얻을 것이다 :
>>> 파일로 ( "입력 / foo.txt의" "W") 오픈과 :
... file.write가 ( "foofoo")
>>> 시스템 ( "hashedassets지도 / map.json 입력 / *. TXT 입력 / * / *. TXT 출력 /")
RM '출력 / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
CP '입력 / foo.txt의'출력 / QIDaFD7KLKQh0l5O6b8exdew3b0.txt '
그런 다음 디렉토리에있는 파일을 나열하는 경우, 이전 파일 ''출력 / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt는 '사라되어 있습니다 :
>>> 시스템 ( "LS 출력 /")
QIDaFD7KLKQh0l5O6b8exdew3b0.txt
Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
우리는 생성 된 파일 중 하나를 제거하는 경우, 그것은 다시 가져옵니다
>>> 시스템 ( "RM 출력 / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt")
>>> 시스템 ( "hashedassets지도 / map.json 입력 / *. TXT 입력 / * / *. TXT 출력 /")
CP '입력 /는 Subdir / bar.txt라는'출력 / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt '
>>> 시스템 ( "LS 출력 /")
QIDaFD7KLKQh0l5O6b8exdew3b0.txt
Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
원래의 콘텐츠가 변경 되었기 때문에 약 파일이 제거 될 경우, 재현되지 않는다 :
>>> 시스템 ( "RM 출력 / QIDaFD7KLKQh0l5O6b8exdew3b0.txt")
>>> 파일로 ( "입력 / foo.txt의" "W") 오픈과 :
... file.write가 ( "foofoofoo")
>>> 시스템 ( "hashedassets지도 / map.json 입력 / *. TXT 입력 / * / *. TXT 출력 /")
CP '입력 / foo.txt의'출력 / NdbmnXyjdY2paFzlDw9aJzCKH9w.txt '
오류 처리
우리가 인수없이이 작업을 실행하는 경우, 그것은 실패
>>> 시스템 ( "hashedassets"외부 = 참)
사용법 : hashedassets [옵션] 맵 파일 소스 [...] DEST

hashedassets : 오류 : 당신은 적어도 MAPFILE 소스 및 DEST

요구 사항을 지정해야합니다 :

파이썬

유사한 소프트웨어

SCROK-Filer
SCROK-Filer

20 Feb 15

QuiXplorer
QuiXplorer

2 Jun 15

코멘트 hashedassets

댓글을 찾을 수 없습니다
코멘트를 추가
이미지를 켜십시오!