rainycape / gondola Goto Github PK
View Code? Open in Web Editor NEWThe web framework for writing faster sites, faster
Home Page: http://gondolaweb.com
License: Mozilla Public License 2.0
The web framework for writing faster sites, faster
Home Page: http://gondolaweb.com
License: Mozilla Public License 2.0
the repository doesn't build or install as-is, because of a simple import error. You should implement one of the free CI environments like Travis or drone.io to prevent further breakage, since you've released this to the world.
This is a great project but it was released too early without a proper documentation. Don't get me wrong, I like people contribute to open source. But without a proper documentation, it is useless.
Ever heard about Laravel? Yes, almost all PHP web developers knows about it. The author is Taylor Otwell, a very disciplined programmer. Here is a quote from his blog:
I promised myself never to release Laravel until I had great documentation, and I never release a new version until the documentation is totally up to date. Any PHP programmer can pick up Laravel and start using it in a matter of minutes. The expressiveness of the code itself and the great documentation truly make coding enjoyable.
http://taylorotwell.tumblr.com/post/21038245018/why-laravel
But in the end, this is your code. It is up to you to do anything with it. Just my two cents.
Cheers. :)
The old version of a function from uniuri in your code (randomString) can lead to infinite loop when number of chars in alphabet is 256, please copy the latest version: https://github.com/dchest/uniuri/blob/master/uniuri.go#L48
(The case isn't triggered by current code due to the fixed alphabet of len < 256, but it's a good thing to fix this anyway.)
Hi, I really like this framework. I've been combing through the api and source code now for a 1-2 days and definitely impressed with it. Nice work! ๐
I want to dive right in and just had a few questions about the asset management system and templates. I've seen includes and extends, etc.
bake
command.Thanks
The stringutil imports "gopkgs.com/unidecode.v1"
https://github.com/rainycape/gondola/blob/master/util/stringutil/slug.go#L7
but that no longer exists and gives a 404 when trying to go get.
That in turn makes the stringutil package uninstallable.
I want to use Sourcegraph code search and code review with gondola. A project maintainer needs to enable it to set up a webhook so the code is up-to-date there.
Could you please enable gondola on @sourcegraph by going to https://sourcegraph.com/github.com/rainycape/gondola and clicking on Settings? (It should only take 15 seconds.)
Thank you!
I'm using Archlinux. If I follow the guide http://gondolaweb.com/tutorials/installing-gondola/, the installation fails as the connection is refused:
> go get -v gnd.la/cmd/gondola
Fetching https://gnd.la/cmd/gondola?go-get=1
https fetch failed: Get https://gnd.la/cmd/gondola?go-get=1: dial tcp 192.99.45.224:443: getsockopt: connection refused
package gnd.la/cmd/gondola: unrecognized import path "gnd.la/cmd/gondola" (https fetch: Get https://gnd.la/cmd/gondola?go-get=1: dial tcp 192.99.45.224:443: getsockopt: connection refused)
Unfortunately it is also not possible to do:
go get github.com/rainycape/gondola/cmd/gondola
as it tries to import from gnd.la
:
package gnd.la/app: unrecognized import path "gnd.la/app" (https fetch: Get https://gnd.la/app?go-get=1: dial tcp 192.99.45.224:443: getsockopt: connection refused)
package gnd.la/app/profile: unrecognized import path "gnd.la/app/profile" (https fetch: Get https://gnd.la/app/profile?go-get=1: dial tcp 192.99.45.224:443: getsockopt: connection refused)
package gnd.la/config: unrecognized import path "gnd.la/config" (https fetch: Get https://gnd.la/config?go-get=1: dial tcp 192.99.45.224:443: getsockopt: connection refused)
package gnd.la/crypto/cryptoutil: unrecognized import path "gnd.la/crypto/cryptoutil" (https fetch: Get https://gnd.la/crypto/cryptoutil?go-get=1: dial tcp 192.99.45.224:443: getsockopt: connection refused)
package gnd.la/encoding/base64: unrecognized import path "gnd.la/encoding/base64" (https fetch: Get https://gnd.la/encoding/base64?go-get=1: dial tcp 192.99.45.224:443: getsockopt: connection refused)
package gnd.la/i18n/messages: unrecognized import path "gnd.la/i18n/messages" (https fetch: Get https://gnd.la/i18n/messages?go-get=1: dial tcp 192.99.45.224:443: getsockopt: connection refused)
package gnd.la/i18n/po: unrecognized import path "gnd.la/i18n/po" (https fetch: Get https://gnd.la/i18n/po?go-get=1: dial tcp 192.99.45.224:443: getsockopt: connection refused)
package gnd.la/internal/gen: unrecognized import path "gnd.la/internal/gen" (https fetch: Get https://gnd.la/internal/gen?go-get=1: dial tcp 192.99.45.224:443: getsockopt: connection refused)
package gnd.la/internal/gen/app: unrecognized import path "gnd.la/internal/gen/app" (https fetch: Get https://gnd.la/internal/gen/app?go-get=1: dial tcp 192.99.45.224:443: getsockopt: connection refused)
package gnd.la/internal/gen/genutil: unrecognized import path "gnd.la/internal/gen/genutil" (https fetch: Get https://gnd.la/internal/gen/genutil?go-get=1: dial tcp 192.99.45.224:443: getsockopt: connection refused)
package gnd.la/internal/project: unrecognized import path "gnd.la/internal/project" (https fetch: Get https://gnd.la/internal/project?go-get=1: dial tcp 192.99.45.224:443: getsockopt: connection refused)
package gnd.la/internal/runtimeutil: unrecognized import path "gnd.la/internal/runtimeutil" (https fetch: Get https://gnd.la/internal/runtimeutil?go-get=1: dial tcp 192.99.45.224:443: getsockopt: connection refused)
package gnd.la/internal/vfsutil: unrecognized import path "gnd.la/internal/vfsutil" (https fetch: Get https://gnd.la/internal/vfsutil?go-get=1: dial tcp 192.99.45.224:443: getsockopt: connection refused)
package gnd.la/log: unrecognized import path "gnd.la/log" (https fetch: Get https://gnd.la/log?go-get=1: dial tcp 192.99.45.224:443: getsockopt: connection refused)
package gnd.la/net/urlutil: unrecognized import path "gnd.la/net/urlutil" (https fetch: Get https://gnd.la/net/urlutil?go-get=1: dial tcp 192.99.45.224:443: getsockopt: connection refused)
package gnd.la/util/fileutil: unrecognized import path "gnd.la/util/fileutil" (https fetch: Get https://gnd.la/util/fileutil?go-get=1: dial tcp 192.99.45.224:443: getsockopt: connection refused)
package gnd.la/util/generic: unrecognized import path "gnd.la/util/generic" (https fetch: Get https://gnd.la/util/generic?go-get=1: dial tcp 192.99.45.224:443: getsockopt: connection refused)
package gnd.la/util/stringutil: unrecognized import path "gnd.la/util/stringutil" (https fetch: Get https://gnd.la/util/stringutil?go-get=1: dial tcp 192.99.45.224:443: getsockopt: connection refused)
I tried to do solve it by :
> ln -s $GOPATH/src/github.com/rainycape/gondola $GOPATH/src/gnd.la
> go get -v gnd.la/cm/gondola
And install the dependencies manually reported by goinstall from $GOPATH/src/gnd.la/cmd/gondola
:
go get github.com/howeyc/gopass
go get github.com/rainycape/browser
go get github.com/rainycape/command
go get github.com/dchest/uniuri
go get github.com/naoina/toml
go get github.com/rainycape/unidecode
go get github.com/rainycape/vfs
go get golang.org/x/tools/go/gcimporter
I'm almost there, but the last command fails:
> go get golang.org/x/tools/go/gcimporter
package golang.org/x/tools/go/gcimporter: cannot find package "golang.org/x/tools/go/gcimporter"
/usr/lib/go/src/golang.org/x/tools/go/gcimporter (from $GOROOT)
~/go/src/golang.org/x/tools/go/gcimporter (from $GOPATH)
I'd love to try Gondola. Do you plan to fix this to make gondola go gettable again? Otherwise this makes adoption impossible.
main()
goapp
with -L
flag here which not defined.It would be also interesting to see some metrics, but I do really like the idea of a portable application between GAE and bare metal.
wmn@wmn-glaptop ~/code/src/github.com/eMxyzptlk/gondola_app % goapp version
go version go1.2.1 (appengine-1.9.14) linux/amd64
wmn@wmn-glaptop ~/code/src/github.com/eMxyzptlk % gondola new -gae gondola_app
[D] 2014/11/05 12:54:47 writing file gondola_app/app.go
[D] 2014/11/05 12:54:47 writing file gondola_app/app_test.go
[D] 2014/11/05 12:54:47 creating directory gondola_app/assets
[D] 2014/11/05 12:54:47 writing file gondola_app/handlers.go
[D] 2014/11/05 12:54:47 creating directory gondola_app/tmpl
[D] 2014/11/05 12:54:47 writing file gondola_app/app.conf
[D] 2014/11/05 12:54:47 writing file gondola_app/app.yaml
[D] 2014/11/05 12:54:47 writing file gondola_app/cron.yaml
[D] 2014/11/05 12:54:47 writing file gondola_app/dev.conf
[D] 2014/11/05 12:54:47 writing file gondola_app/main.go
[D] 2014/11/05 12:54:47 writing file gondola_app/main_appengine.go
[D] 2014/11/05 12:54:47 writing file gondola_app/app.conf
[D] 2014/11/05 12:54:47 writing file gondola_app/dev.conf
[D] 2014/11/05 12:54:47 writing file gondola_app/main.go
wmn@wmn-glaptop ~/code/src/github.com/eMxyzptlk % cd gondola_app
wmn@wmn-glaptop ~/code/src/github.com/eMxyzptlk/gondola_app % gondola gae-dev
[D] 2014/11/05 12:54:59 starting App Engine development server - press Control+C to stop
[D] 2014/11/05 12:54:59 compiling app assets
# github.com/eMxyzptlk/gondola_app
./main_appengine.go:36: main redeclared in this block
previous declaration at ./main.go:3
error running command gae-dev: exit status 2
wmn@wmn-glaptop ~/code/src/github.com/eMxyzptlk/gondola_app % rm main.go
wmn@wmn-glaptop ~/code/src/github.com/eMxyzptlk/gondola_app % gondola gae-test
[D] 2014/11/05 12:55:10 starting App Engine tests
INFO 2014-11-05 20:55:11,578 devappserver2.py:741] Skipping SDK update check.
INFO 2014-11-05 20:55:11,600 api_server.py:172] Starting API server at: http://localhost:41295
INFO 2014-11-05 20:55:12,401 dispatcher.py:186] Starting module "default" running at: http://localhost:8080
INFO 2014-11-05 20:55:12,402 admin_server.py:118] Starting admin server at: http://localhost:8000
2014/11/05 12:55:14 appengine: not running under devappserver2; using some default configuration
flag provided but not defined: -L
Usage of /tmp/go-build290760009/github.com/eMxyzptlk/gondola_app/_test/gondola_app.test:
-H="": Host to run the test against
-addr_api="": deprecated
-addr_http="": deprecated
-admin-email="": When running in non-debug mode, any error messages will be emailed to this adddress
-blobstore="": Default blobstore, returned by Context.Blobstore()
-cache="": Default cache, returned by Context.Cache()
-config="/home/wmn/code/src/github.com/eMxyzptlk/gondola_app/app.conf": Config file name
-database="": Default database to use, used by Context.Orm()
-debug=false: Enable app debug mode. This causes runtime errors to generate a detailed error page
-default-from="": Default From address when sending emails
-encryption-key="": Key used for encryption (e.g. encrypted cookies)
-language="": Set the default language for translating strings
-log-debug=false:
-mail-server="localhost:25": Default mail server used by gnd.la/net/mail
-port=8888: Port to listen on
-secret="": Secret used for, among other things, hashing cookies
-template-debug=false: Enable template debug mode. This disables asset bundling and template caching
-test.bench="": regular expression to select benchmarks to run
-test.benchmem=false: print memory allocations for benchmarks
-test.benchtime=1s: approximate run time for each benchmark
-test.blockprofile="": write a goroutine blocking profile to the named file after execution
-test.blockprofilerate=1: if >= 0, calls runtime.SetBlockProfileRate()
-test.coverprofile="": write a coverage profile to the named file after execution
-test.cpu="": comma-separated list of number of CPUs to use for each test
-test.cpuprofile="": write a cpu profile to the named file during execution
-test.memprofile="": write a memory profile to the named file after execution
-test.memprofilerate=0: if >=0, sets runtime.MemProfileRate
-test.outputdir="": directory in which to write profiles
-test.parallel=1: maximum test parallelism
-test.run="": regular expression to select tests and examples to run
-test.short=false: run smaller test suite to save time
-test.timeout=0: if positive, sets an aggregate time limit for all tests
-test.v=false: verbose: print additional output
Available commands:
cat-file
make-assets
Type /tmp/go-build290760009/github.com/eMxyzptlk/gondola_app/_test/gondola_app.test help for details.
exit status 2
FAIL github.com/eMxyzptlk/gondola_app 0.081s
goapp: caught SIGINT, waiting for dev_appserver.py to shut down
INFO 2014-11-05 20:55:14,192 shutdown.py:45] Shutting down.
INFO 2014-11-05 20:55:14,192 api_server.py:588] Applying all pending transactions and saving the datastore
INFO 2014-11-05 20:55:14,193 api_server.py:591] Saving search indexes
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.