All Projects → omeid → Gonzo

omeid / Gonzo

Licence: mit
Go File Processing Framework.

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Labels

Projects that are alternatives of or similar to Gonzo

Pyhawk
Searches the directory of choice for interesting files. Such as database files and files with passwords stored on them
Stars: ✭ 60 (-54.89%)
Mutual labels:  files
Chemfiles
Library for reading and writing chemistry files
Stars: ✭ 95 (-28.57%)
Mutual labels:  files
Filite
A simple, light and standalone pastebin, URL shortener and file-sharing service
Stars: ✭ 125 (-6.02%)
Mutual labels:  files
Files
A modern file manager that pushes the boundaries of the platform.
Stars: ✭ 15,198 (+11327.07%)
Mutual labels:  files
Qtfm
Qt File Manager
Stars: ✭ 73 (-45.11%)
Mutual labels:  files
Contentmanager
Android library for getting photo or video from a device gallery, cloud or camera. Working with samsung devices. Made by Stfalcon
Stars: ✭ 108 (-18.8%)
Mutual labels:  files
Kirby3 Autoid
Automatic unique ID for Pages, Files and Structures including performant helpers to retrieve them. Bonus: Tiny-URL.
Stars: ✭ 58 (-56.39%)
Mutual labels:  files
React Files
A file input (dropzone) management component for React
Stars: ✭ 126 (-5.26%)
Mutual labels:  files
Go Storage
An application-oriented unified storage layer for Golang.
Stars: ✭ 87 (-34.59%)
Mutual labels:  files
File Storage
File storage abstraction for Yii2
Stars: ✭ 116 (-12.78%)
Mutual labels:  files
Linkify Markdown
🚀 A cli tool which automatically add references to issues, pull requests, user mentions and forks to a markdown file.
Stars: ✭ 67 (-49.62%)
Mutual labels:  files
Github Files Fetcher
Download a specific folder or file from a GitHub repo through command line
Stars: ✭ 73 (-45.11%)
Mutual labels:  files
Zetalongpaths
A .NET library to access files and directories with more than 260 characters length.
Stars: ✭ 113 (-15.04%)
Mutual labels:  files
Wsend
wsend: The opposite of wget
Stars: ✭ 64 (-51.88%)
Mutual labels:  files
Transformalize
Configurable Extract, Transform, and Load
Stars: ✭ 125 (-6.02%)
Mutual labels:  files
Fine Uploader
Multiple file upload plugin with image previews, drag and drop, progress bars. S3 and Azure support, image scaling, form support, chunking, resume, pause, and tons of other features.
Stars: ✭ 8,158 (+6033.83%)
Mutual labels:  files
Fuzz.txt
Potentially dangerous files
Stars: ✭ 1,382 (+939.1%)
Mutual labels:  files
Globby
User-friendly glob matching
Stars: ✭ 1,864 (+1301.5%)
Mutual labels:  files
Write Files Atomic
Write many files atomically
Stars: ✭ 126 (-5.26%)
Mutual labels:  files
Fim
File Integrity Manager -
Stars: ✭ 114 (-14.29%)
Mutual labels:  files

Heads up! Gonzo is being polished at this stage so some APIs may change.

Gonzo GoDoc

File Processing Framework based on Go Pipelines.

Design

Gonzo is made up of File, Context, Stages, and Pipes.

File

File is an interface that mimics os.File with some additional APIs.

Pipes

Pipe holde a channel of files, a context for logging and deadlines, and a simple interface to pass files through a Stage.

Stages

Stages are where files are handled for processing.

Currently the follow stages are implemented, but writing new stages are supper simple.

ace Compile Ace templates.
archive/tar Work with tar archives.
archive/zip Work with zip Archives.
css Minify CSS
filter A collection of stages for filtering files.
fs Read and Write from Disk.
gcss Compile gcss to css.
gin A Go Server livereload utlity.
github Grab files from github.
html Minify HTML
js Minify JavaScript
livereload Livereload
passthrough Pass files through any executable.
resources go-resources binding.
s3 Put files to S3.
scss Compile SCSS to CSS.
util Some helpful utlites.
watch Watch files for change.
web Grab files from any URL.

Example

To compile scss files, minify the output, write it to disk, lifereload in browser, and upload it to Amazon S3, this all you need:

s3conf := s3.Config{
	AccessKey: os.Getenv("S3_ACCESSKEY"),
	SecretKey: os.Getenv("S3_SECRETE"),
	Name:      os.Getenv("S3_NAME"),
	Region:    s3.APSoutheast2,
	Perm:      s3.PublicRead,
}

lr := livereload.New(livereload.Config{LiveCSS: true})

err := s.Src(context.Background(), "app/style.scss").Then(
	util.Trim("app"),
	scss.Compile(),
	css.Minify(),
	fs.Dest("./public/assets/"),
	lr.Reload(),
	s3.Put(s3conf),
)
//Handle any _fatal_ error.

TODO:

  • Finish this document.
  • Add tests
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].