GithubHelp home page GithubHelp logo

monsti / monsti Goto Github PK

View Code? Open in Web Editor NEW
346.0 24.0 47.0 5.09 MB

Simple and resource efficient CMS for small sites

Home Page: http://www.monsti.org

License: GNU Affero General Public License v3.0

Makefile 2.47% Go 83.88% Ruby 0.07% CSS 3.19% Shell 0.56% HTML 7.78% JavaScript 2.05%

monsti's Introduction

Monsti CMS

Monsti is a CMS designed to host multiple websites or blogs. It is mainly designed for web projects like personal, small business, or small NGO websites.

It provides a simple web frontend for basic site building and editing tasks. More advanced tasks like adding new content types have to be done by writing modules in Go that communicate to Monsti via RPC using a high level API.

Monsti should not be considered rock stable. The API and architecture still might change until the first stable release. But as it's already in use to host some websites, migrations to new releases will be as pleasant as possible and fully documented.

If you have a problem, please first have a look at Monsti's manual in the doc directory or online. Also have a look at and search the open issues. If you can't find any help in the manual or open issues, you might open a new issue (preferred) or contact the author: [email protected].

Build Status Gratipay

Features

  • Fast; thanks to Go, a statically typed compiled language, and dependency based caching of pages, queries and calculations. Make your websites almost as fast as statically generated ones!
  • Low armortized (i.e. for many hosted sites) resource usage
  • No database system required; configuration and content is stored in human readable files. Xapian integration is planned for searching and indexing.
  • Internationalization ready (Included languages: de, en, nl).
  • Easy to use (albeit basic at the current stage of development) web frontend.
  • Separation of code, configuration and presentation.
  • Developer friendly: Includes a HTTPd; Go templates; high level API for node type and field creation and other common tasks.
  • Administrator friendly: Syslog; init script; Makefile target for basic Debian packaging (via fpm, other distributions should be easy); respecting the filesystem hierarchy

Project

Website: http://www.monsti.org/ Code: http://www.gitorious.org/monsti | http://github.com/monsti

Contributions

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Acknowledgements

monsti's People

Contributors

chrneumann avatar fedir avatar ricochet2200 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

monsti's Issues

Multi-column edit with Aloha

It should be possible to set up multi column pages so that the user will get an editor for each column. This could be done like this:
Body of the document:

<div class="row">
  <div class="column wysiwyg-editable">
    Column 1
  </div>
  <div class="column wysiwyg-editable">
    Column 2
  </div>
  <div class="column wysiwyg-editable">
    Column 3
  </div>
</div>

The "template" can be changed only via raw html editing (or at document creation via choosing a "template"). This allows sophisticated layouts while keeping user friendlyness.

Refactor extension/module architecture

The extension system is not very flexible. Currently, it allows one content type extension per executable.

Monsti's architecture will be refactored. Monst will consist of modules having one or more capabilities.

fatal error: concurrent map read and map write

On my first try to run the example I got a

fatal error: concurrent map read and map write

I'm running go 1.6.1. It seems like this error only appears occasionally.

This is the stack trace:
`
monsti 2016/05/19 12:19:06 Waiting for modules to finish initialization...
monsti 2016/05/19 12:19:06 Waiting for "base"...
fatal error: concurrent map read and map write

goroutine 42 [running]:
runtime.throw(0xaf1720, 0x21)
/usr/lib/go/src/runtime/panic.go:530 +0x90 fp=0xc820215940 sp=0xc820215928
runtime.mapaccess1_faststr(0x8c54a0, 0xc8201834a0, 0xc82025f3c0, 0x11, 0x66f48b)
/usr/lib/go/src/runtime/hashmap_fast.go:202 +0x5b fp=0xc8202159a0 sp=0xc820215940
main.(_MonstiService).ConnectSignal(0xc82013eba0, 0xc82025f2e0, 0xc82017bdf8, 0x0, 0x0)
/home/werner/dev/go/cms/monsti/go/src/pkg.monsti.org/monsti/core/monsti-daemon/service.go:156 +0x138 fp=0xc820215a30 sp=0xc8202159a0
runtime.call64(0xc820177540, 0xa4b458, 0xc82025cf30, 0x1800000028)
/usr/lib/go/src/runtime/asm_amd64.s:473 +0x3e fp=0xc820215a78 sp=0xc820215a30
reflect.Value.call(0x967d20, 0xa4b458, 0x13, 0xa626d0, 0x4, 0xc820215ef8, 0x3, 0x3, 0x0, 0x0, ...)
/usr/lib/go/src/reflect/value.go:435 +0x120d fp=0xc820215dc8 sp=0xc820215a78
reflect.Value.Call(0x967d20, 0xa4b458, 0x13, 0xc820215ef8, 0x3, 0x3, 0x0, 0x0, 0x0)
/usr/lib/go/src/reflect/value.go:303 +0xb1 fp=0xc820215e28 sp=0xc820215dc8
net/rpc.(_service).call(0xc820242140, 0xc820242100, 0xc82023e020, 0xc82023ce80, 0xc82025f260, 0x89c120, 0xc82025f2e0, 0x16, 0x89b640, 0xc82017bdf8, ...)
/usr/lib/go/src/net/rpc/server.go:383 +0x1c2 fp=0xc820215f48 sp=0xc820215e28
runtime.goexit()
/usr/lib/go/src/runtime/asm_amd64.s:1998 +0x1 fp=0xc820215f50 sp=0xc820215f48
created by net/rpc.(*Server).ServeCodec
/usr/lib/go/src/net/rpc/server.go:477 +0x49d

goroutine 1 [chan receive]:
main.main()
/home/werner/dev/go/cms/monsti/go/src/pkg.monsti.org/monsti/core/monsti-daemon/daemon.go:175 +0x1770

goroutine 17 [syscall, locked to thread]:
runtime.goexit()
/usr/lib/go/src/runtime/asm_amd64.s:1998 +0x1

goroutine 18 [IO wait]:
net.runtime_pollWait(0x7f257ceb22b0, 0x72, 0x0)
/usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(_pollDesc).Wait(0xc820140990, 0x72, 0x0, 0x0)
/usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(_pollDesc).WaitRead(0xc820140990, 0x0, 0x0)
/usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(_netFD).accept(0xc820140930, 0x0, 0x7f257ce71000, 0xc820244080)
/usr/lib/go/src/net/fd_unix.go:426 +0x27c
net.(_UnixListener).AcceptUnix(0xc82012ec60, 0xc82003ee30, 0x0, 0x0)
/usr/lib/go/src/net/unixsock_posix.go:305 +0x53
net.(_UnixListener).Accept(0xc82012ec60, 0x0, 0x0, 0x0, 0x0)
/usr/lib/go/src/net/unixsock_posix.go:315 +0x41
pkg.monsti.org/monsti/api/service.(_Provider).Accept(0xc82012adc0, 0x0, 0x0)
/home/werner/dev/go/cms/monsti/go/src/pkg.monsti.org/monsti/api/service/provider.go:60 +0x5f
main.main.func1(0xc82012d1a0, 0xc82012adc0, 0xc8201343c0)
/home/werner/dev/go/cms/monsti/go/src/pkg.monsti.org/monsti/core/monsti-daemon/daemon.go:126 +0x5e
created by main.main
/home/werner/dev/go/cms/monsti/go/src/pkg.monsti.org/monsti/core/monsti-daemon/daemon.go:129 +0x991

goroutine 19 [IO wait]:
net.runtime_pollWait(0x7f257ceb21f0, 0x72, 0xc820173000)
/usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(_pollDesc).Wait(0xc820140a00, 0x72, 0x0, 0x0)
/usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(_pollDesc).WaitRead(0xc820140a00, 0x0, 0x0)
/usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(_netFD).Read(0xc8201409a0, 0xc820173000, 0x1000, 0x1000, 0x0, 0x7f257cef1050, 0xc82000e098)
/usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(_conn).Read(0xc8201320b0, 0xc820173000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/lib/go/src/net/net.go:172 +0xe4
bufio.(_Reader).fill(0xc82013ec60)
/usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(_Reader).Read(0xc82013ec60, 0xc82012d227, 0x1, 0x9, 0x10, 0x0, 0x0)
/usr/lib/go/src/bufio/bufio.go:207 +0x260
io.ReadAtLeast(0x7f257ceb2480, 0xc82013ec60, 0xc82012d227, 0x1, 0x9, 0x1, 0x0, 0x0, 0x0)
/usr/lib/go/src/io/io.go:297 +0xe6
io.ReadFull(0x7f257ceb2480, 0xc82013ec60, 0xc82012d227, 0x1, 0x9, 0xc820138470, 0x0, 0x0)
/usr/lib/go/src/io/io.go:315 +0x62
encoding/gob.decodeUintReader(0x7f257ceb2480, 0xc82013ec60, 0xc82012d227, 0x9, 0x9, 0x0, 0x1, 0x0, 0x0)
/usr/lib/go/src/encoding/gob/decode.go:119 +0x92
encoding/gob.(_Decoder).recvMessage(0xc820138400, 0xc8201dbbc0)
/usr/lib/go/src/encoding/gob/decoder.go:76 +0x5e
encoding/gob.(_Decoder).decodeTypeSequence(0xc820138400, 0xb6fb00, 0xc820138400)
/usr/lib/go/src/encoding/gob/decoder.go:140 +0x47
encoding/gob.(_Decoder).DecodeValue(0xc820138400, 0x8a2120, 0xc820128030, 0x16, 0x0, 0x0)
/usr/lib/go/src/encoding/gob/decoder.go:208 +0x15d
encoding/gob.(_Decoder).Decode(0xc820138400, 0x8a2120, 0xc820128030, 0x0, 0x0)
/usr/lib/go/src/encoding/gob/decoder.go:185 +0x289
net/rpc.(_gobClientCodec).ReadResponseHeader(0xc820130db0, 0xc820128030, 0x0, 0x0)
/usr/lib/go/src/net/rpc/client.go:223 +0x51
net/rpc.(_Client).input(0xc82013ed20)
/usr/lib/go/src/net/rpc/client.go:109 +0xbf
created by net/rpc.NewClientWithCodec
/usr/lib/go/src/net/rpc/client.go:201 +0xd7

goroutine 34 [IO wait]:
net.runtime_pollWait(0x7f257ceb2130, 0x72, 0xc82018f000)
/usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(_pollDesc).Wait(0xc82017c060, 0x72, 0x0, 0x0)
/usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(_pollDesc).WaitRead(0xc82017c060, 0x0, 0x0)
/usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(_netFD).Read(0xc82017c000, 0xc82018f000, 0x1000, 0x1000, 0x0, 0x7f257cef1050, 0xc82000e098)
/usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(_conn).Read(0xc820180000, 0xc82018f000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/lib/go/src/net/net.go:172 +0xe4
bufio.(_Reader).fill(0xc820190000)
/usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(_Reader).Read(0xc820190000, 0xc82017a001, 0x1, 0x9, 0x7, 0x0, 0x0)
/usr/lib/go/src/bufio/bufio.go:207 +0x260
io.ReadAtLeast(0x7f257ceb2480, 0xc820190000, 0xc82017a001, 0x1, 0x9, 0x1, 0x0, 0x0, 0x0)
/usr/lib/go/src/io/io.go:297 +0xe6
io.ReadFull(0x7f257ceb2480, 0xc820190000, 0xc82017a001, 0x1, 0x9, 0x7, 0x0, 0x0)
/usr/lib/go/src/io/io.go:315 +0x62
encoding/gob.decodeUintReader(0x7f257ceb2480, 0xc820190000, 0xc82017a001, 0x9, 0x9, 0x0, 0x1, 0x0, 0x0)
/usr/lib/go/src/encoding/gob/decode.go:119 +0x92
encoding/gob.(_Decoder).recvMessage(0xc820178d80, 0xc820123910)
/usr/lib/go/src/encoding/gob/decoder.go:76 +0x5e
encoding/gob.(_Decoder).decodeTypeSequence(0xc820178d80, 0xb6fb00, 0xc820178d80)
/usr/lib/go/src/encoding/gob/decoder.go:140 +0x47
encoding/gob.(_Decoder).DecodeValue(0xc820178d80, 0x8a20c0, 0xc82017e060, 0x16, 0x0, 0x0)
/usr/lib/go/src/encoding/gob/decoder.go:208 +0x15d
encoding/gob.(_Decoder).Decode(0xc820178d80, 0x8a20c0, 0xc82017e060, 0x0, 0x0)
/usr/lib/go/src/encoding/gob/decoder.go:185 +0x289
net/rpc.(_gobServerCodec).ReadRequestHeader(0xc820182120, 0xc82017e060, 0x0, 0x0)
/usr/lib/go/src/net/rpc/server.go:403 +0x51
net/rpc.(_Server).readRequestHeader(0xc8201760c0, 0x7f257ce71028, 0xc820182120, 0x0, 0x0, 0xc82017e060, 0xc820123c00, 0x0, 0x0)
/usr/lib/go/src/net/rpc/server.go:576 +0x90
net/rpc.(_Server).readRequest(0xc8201760c0, 0x7f257ce71028, 0xc820182120, 0xc8201760c0, 0xc82017a020, 0xc820178c00, 0x0, 0x0, 0x0, 0x0, ...)
/usr/lib/go/src/net/rpc/server.go:543 +0x8b
net/rpc.(_Server).ServeCodec(0xc8201760c0, 0x7f257ce71028, 0xc820182120)
/usr/lib/go/src/net/rpc/server.go:462 +0x7d
net/rpc.(_Server).ServeConn(0xc8201760c0, 0x7f257ceb23d0, 0xc820180000)
/usr/lib/go/src/net/rpc/server.go:454 +0x4ee
pkg.monsti.org/monsti/api/service.(_Provider).Accept.func1(0xc8201760c0, 0x7f257ceb2370, 0xc820180000)
/home/werner/dev/go/cms/monsti/go/src/pkg.monsti.org/monsti/api/service/provider.go:71 +0x5d
created by pkg.monsti.org/monsti/api/service.(*Provider).Accept
/home/werner/dev/go/cms/monsti/go/src/pkg.monsti.org/monsti/api/service/provider.go:73 +0x4ac

goroutine 23 [chan receive]:
net/rpc.(_Client).Call(0xc82013ed20, 0xac4290, 0x11, 0x8c75a0, 0xc82017ad00, 0x8a89c0, 0xc820183500, 0x0, 0x0)
/usr/lib/go/src/net/rpc/client.go:315 +0xcd
pkg.monsti.org/monsti/api/service.(_MonstiClient).WaitSignal(0xc820130cc0, 0x0, 0x0)
/home/werner/dev/go/cms/monsti/go/src/pkg.monsti.org/monsti/api/service/monsti.go:818 +0x142
main.main.func2(0xc82012d1f0, 0xc8201343c0)
/home/werner/dev/go/cms/monsti/go/src/pkg.monsti.org/monsti/core/monsti-daemon/daemon.go:150 +0x33
created by main.main
/home/werner/dev/go/cms/monsti/go/src/pkg.monsti.org/monsti/core/monsti-daemon/daemon.go:154 +0xe94

goroutine 24 [syscall]:
syscall.Syscall6(0x3d, 0x4335, 0xc820044d0c, 0x0, 0xc82008c480, 0x0, 0x0, 0xc820044ce8, 0x486280, 0xc820044ce0)
/usr/lib/go/src/syscall/asm_linux_amd64.s:44 +0x5
syscall.wait4(0x4335, 0xc820044d0c, 0x0, 0xc82008c480, 0x90, 0x0, 0x0)
/usr/lib/go/src/syscall/zsyscall_linux_amd64.go:172 +0x7f
syscall.Wait4(0x4335, 0xc820044d54, 0x0, 0xc82008c480, 0xc8200320b8, 0x0, 0x0)
/usr/lib/go/src/syscall/syscall_linux.go:256 +0x55
os.(_Process).wait(0xc820113a00, 0x43, 0x0, 0x0)
/usr/lib/go/src/os/exec_unix.go:22 +0x105
os.(_Process).Wait(0xc820113a00, 0x0, 0x0, 0x0)
/usr/lib/go/src/os/doc.go:49 +0x2d
os/exec.(_Cmd).Wait(0xc820144140, 0x0, 0x0)
/usr/lib/go/src/os/exec/exec.go:396 +0x211
os/exec.(_Cmd).Run(0xc820144140, 0x0, 0x0)
/usr/lib/go/src/os/exec/exec.go:262 +0x64
main.main.func3(0xc820144140, 0xc8201343c0, 0xa655a8, 0x4)
/home/werner/dev/go/cms/monsti/go/src/pkg.monsti.org/monsti/core/monsti-daemon/daemon.go:167 +0x30
created by main.main
/home/werner/dev/go/cms/monsti/go/src/pkg.monsti.org/monsti/core/monsti-daemon/daemon.go:170 +0x1458

goroutine 25 [syscall]:
syscall.Syscall6(0x3d, 0x4334, 0xc820043d0c, 0x0, 0xc82016e750, 0x0, 0x0, 0xc820043ce8, 0x486280, 0xc820043ce0)
/usr/lib/go/src/syscall/asm_linux_amd64.s:44 +0x5
syscall.wait4(0x4334, 0xc820043d0c, 0x0, 0xc82016e750, 0x90, 0x0, 0x0)
/usr/lib/go/src/syscall/zsyscall_linux_amd64.go:172 +0x7f
syscall.Wait4(0x4334, 0xc820043d54, 0x0, 0xc82016e750, 0xc820132408, 0x0, 0x0)
/usr/lib/go/src/syscall/syscall_linux.go:256 +0x55
os.(_Process).wait(0xc8201dda60, 0x43, 0x0, 0x0)
/usr/lib/go/src/os/exec_unix.go:22 +0x105
os.(_Process).Wait(0xc8201dda60, 0x0, 0x0, 0x0)
/usr/lib/go/src/os/doc.go:49 +0x2d
os/exec.(_Cmd).Wait(0xc8201443c0, 0x0, 0x0)
/usr/lib/go/src/os/exec/exec.go:396 +0x211
os/exec.(_Cmd).Run(0xc8201443c0, 0x0, 0x0)
/usr/lib/go/src/os/exec/exec.go:262 +0x64
main.main.func3(0xc8201443c0, 0xc8201343c0, 0xc82012cc40, 0xe)
/home/werner/dev/go/cms/monsti/go/src/pkg.monsti.org/monsti/core/monsti-daemon/daemon.go:167 +0x30
created by main.main
/home/werner/dev/go/cms/monsti/go/src/pkg.monsti.org/monsti/core/monsti-daemon/daemon.go:170 +0x1458

goroutine 50 [chan receive]:
main.(_MonstiService).WaitSignal(0xc82013eba0, 0xc820200020, 0x7, 0xc820204030, 0x0, 0x0)
/home/werner/dev/go/cms/monsti/go/src/pkg.monsti.org/monsti/core/monsti-daemon/service.go:200 +0x95
reflect.Value.call(0x968a40, 0xa4b878, 0x13, 0xa626d0, 0x4, 0xc820218ef8, 0x3, 0x3, 0x0, 0x0, ...)
/usr/lib/go/src/reflect/value.go:435 +0x120d
reflect.Value.Call(0x968a40, 0xa4b878, 0x13, 0xc820218ef8, 0x3, 0x3, 0x0, 0x0, 0x0)
/usr/lib/go/src/reflect/value.go:303 +0xb1
net/rpc.(_service).call(0xc820176100, 0xc8201760c0, 0xc82017a020, 0xc820178c00, 0xc82017eb00, 0x8c75a0, 0xc820200000, 0x198, 0x89c720, 0xc820204030, ...)
/usr/lib/go/src/net/rpc/server.go:383 +0x1c2
created by net/rpc.(*Server).ServeCodec
/usr/lib/go/src/net/rpc/server.go:477 +0x49d

goroutine 26 [syscall]:
syscall.Syscall(0x0, 0xb, 0xc820220000, 0x8000, 0x7f257ce31028, 0x0, 0x13400000000)
/usr/lib/go/src/syscall/asm_linux_amd64.s:18 +0x5
syscall.read(0xb, 0xc820220000, 0x8000, 0x8000, 0x9e2908, 0x0, 0x0)
/usr/lib/go/src/syscall/zsyscall_linux_amd64.go:783 +0x5f
syscall.Read(0xb, 0xc820220000, 0x8000, 0x8000, 0xc820220000, 0x0, 0x0)
/usr/lib/go/src/syscall/syscall_unix.go:161 +0x4d
os.(_File).read(0xc820132400, 0xc820220000, 0x8000, 0x8000, 0x1, 0x0, 0x0)
/usr/lib/go/src/os/file_unix.go:228 +0x53
os.(_File).Read(0xc820132400, 0xc820220000, 0x8000, 0x8000, 0x8000, 0x0, 0x0)
/usr/lib/go/src/os/file.go:95 +0x8a
io.copyBuffer(0x7f257ceb66c8, 0xc8201dd440, 0x7f257cef53a0, 0xc820132400, 0xc820220000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
/usr/lib/go/src/io/io.go:380 +0x247
io.Copy(0x7f257ceb66c8, 0xc8201dd440, 0x7f257cef53a0, 0xc820132400, 0x0, 0x0, 0x0)
/usr/lib/go/src/io/io.go:350 +0x64
os/exec.(_Cmd).writerDescriptor.func1(0x0, 0x0)
/usr/lib/go/src/os/exec/exec.go:236 +0x8b
os/exec.(_Cmd).Start.func1(0xc8201443c0, 0xc8201dd540)
/usr/lib/go/src/os/exec/exec.go:344 +0x1d
created by os/exec.(*Cmd).Start
/usr/lib/go/src/os/exec/exec.go:345 +0x967

goroutine 6 [syscall]:
syscall.Syscall(0x0, 0x10, 0xc820234000, 0x8000, 0x0, 0x0, 0x13400000000)
/usr/lib/go/src/syscall/asm_linux_amd64.s:18 +0x5
syscall.read(0x10, 0xc820234000, 0x8000, 0x8000, 0x9e2908, 0x0, 0x0)
/usr/lib/go/src/syscall/zsyscall_linux_amd64.go:783 +0x5f
syscall.Read(0x10, 0xc820234000, 0x8000, 0x8000, 0xc820234000, 0x0, 0x0)
/usr/lib/go/src/syscall/syscall_unix.go:161 +0x4d
os.(_File).read(0xc8200320b0, 0xc820234000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
/usr/lib/go/src/os/file_unix.go:228 +0x53
os.(_File).Read(0xc8200320b0, 0xc820234000, 0x8000, 0x8000, 0x8000, 0x0, 0x0)
/usr/lib/go/src/os/file.go:95 +0x8a
io.copyBuffer(0x7f257ceb66c8, 0xc8201dd320, 0x7f257cef53a0, 0xc8200320b0, 0xc820234000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
/usr/lib/go/src/io/io.go:380 +0x247
io.Copy(0x7f257ceb66c8, 0xc8201dd320, 0x7f257cef53a0, 0xc8200320b0, 0x0, 0x0, 0x0)
/usr/lib/go/src/io/io.go:350 +0x64
os/exec.(_Cmd).writerDescriptor.func1(0x0, 0x0)
/usr/lib/go/src/os/exec/exec.go:236 +0x8b
os/exec.(_Cmd).Start.func1(0xc820144140, 0xc820113500)
/usr/lib/go/src/os/exec/exec.go:344 +0x1d
created by os/exec.(*Cmd).Start
/usr/lib/go/src/os/exec/exec.go:345 +0x967

goroutine 66 [IO wait]:
net.runtime_pollWait(0x7f257ceb2070, 0x72, 0xc820259000)
/usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(_pollDesc).Wait(0xc820240060, 0x72, 0x0, 0x0)
/usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(_pollDesc).WaitRead(0xc820240060, 0x0, 0x0)
/usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(_netFD).Read(0xc820240000, 0xc820259000, 0x1000, 0x1000, 0x0, 0x7f257cef1050, 0xc82000e098)
/usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(_conn).Read(0xc820246000, 0xc820259000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/lib/go/src/net/net.go:172 +0xe4
bufio.(_Reader).fill(0xc8202540c0)
/usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(_Reader).Read(0xc8202540c0, 0xc82023e030, 0x1, 0x9, 0xe, 0x0, 0x0)
/usr/lib/go/src/bufio/bufio.go:207 +0x260
io.ReadAtLeast(0x7f257ceb2480, 0xc8202540c0, 0xc82023e030, 0x1, 0x9, 0x1, 0x0, 0x0, 0x0)
/usr/lib/go/src/io/io.go:297 +0xe6
io.ReadFull(0x7f257ceb2480, 0xc8202540c0, 0xc82023e030, 0x1, 0x9, 0xe, 0x0, 0x0)
/usr/lib/go/src/io/io.go:315 +0x62
encoding/gob.decodeUintReader(0x7f257ceb2480, 0xc8202540c0, 0xc82023e030, 0x9, 0x9, 0x0, 0x1, 0x0, 0x0)
/usr/lib/go/src/encoding/gob/decode.go:119 +0x92
encoding/gob.(_Decoder).recvMessage(0xc82023db80, 0xc8201d7910)
/usr/lib/go/src/encoding/gob/decoder.go:76 +0x5e
encoding/gob.(_Decoder).decodeTypeSequence(0xc82023db80, 0xb6fb00, 0xc82023db80)
/usr/lib/go/src/encoding/gob/decoder.go:140 +0x47
encoding/gob.(_Decoder).DecodeValue(0xc82023db80, 0x8a20c0, 0xc82017ffa0, 0x16, 0x0, 0x0)
/usr/lib/go/src/encoding/gob/decoder.go:208 +0x15d
encoding/gob.(_Decoder).Decode(0xc82023db80, 0x8a20c0, 0xc82017ffa0, 0x0, 0x0)
/usr/lib/go/src/encoding/gob/decoder.go:185 +0x289
net/rpc.(_gobServerCodec).ReadRequestHeader(0xc820248270, 0xc82017ffa0, 0x0, 0x0)
/usr/lib/go/src/net/rpc/server.go:403 +0x51
net/rpc.(_Server).readRequestHeader(0xc820242040, 0x7f257ce71028, 0xc820248270, 0x0, 0x0, 0xc82017ffa0, 0xc8201d7c00, 0x0, 0x0)
/usr/lib/go/src/net/rpc/server.go:576 +0x90
net/rpc.(_Server).readRequest(0xc820242040, 0x7f257ce71028, 0xc820248270, 0xc820242040, 0xc82023e028, 0xc82023c800, 0x0, 0x0, 0x0, 0x0, ...)
/usr/lib/go/src/net/rpc/server.go:543 +0x8b
net/rpc.(_Server).ServeCodec(0xc820242040, 0x7f257ce71028, 0xc820248270)
/usr/lib/go/src/net/rpc/server.go:462 +0x7d
net/rpc.(_Server).ServeConn(0xc820242040, 0x7f257ceb23d0, 0xc820246000)
/usr/lib/go/src/net/rpc/server.go:454 +0x4ee
pkg.monsti.org/monsti/api/service.(_Provider).Accept.func1(0xc820242040, 0x7f257ceb2370, 0xc820246000)
/home/werner/dev/go/cms/monsti/go/src/pkg.monsti.org/monsti/api/service/provider.go:71 +0x5d
created by pkg.monsti.org/monsti/api/service.(*Provider).Accept
/home/werner/dev/go/cms/monsti/go/src/pkg.monsti.org/monsti/api/service/provider.go:73 +0x4ac

goroutine 67 [IO wait]:
net.runtime_pollWait(0x7f257ceb1fb0, 0x72, 0xc820253000)
/usr/lib/go/src/runtime/netpoll.go:160 +0x60
net.(_pollDesc).Wait(0xc8202400d0, 0x72, 0x0, 0x0)
/usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(_pollDesc).WaitRead(0xc8202400d0, 0x0, 0x0)
/usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(_netFD).Read(0xc820240070, 0xc820253000, 0x1000, 0x1000, 0x0, 0x7f257cef1050, 0xc82000e098)
/usr/lib/go/src/net/fd_unix.go:250 +0x23a
net.(_conn).Read(0xc820246008, 0xc820253000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/lib/go/src/net/net.go:172 +0xe4
bufio.(_Reader).fill(0xc820254000)
/usr/lib/go/src/bufio/bufio.go:97 +0x1e9
bufio.(_Reader).Read(0xc820254000, 0xc82023e002, 0x1, 0x9, 0x0, 0x0, 0x0)
/usr/lib/go/src/bufio/bufio.go:207 +0x260
io.ReadAtLeast(0x7f257ceb2480, 0xc820254000, 0xc82023e002, 0x1, 0x9, 0x1, 0x0, 0x0, 0x0)
/usr/lib/go/src/io/io.go:297 +0xe6
io.ReadFull(0x7f257ceb2480, 0xc820254000, 0xc82023e002, 0x1, 0x9, 0xc82022a480, 0x0, 0x0)
/usr/lib/go/src/io/io.go:315 +0x62
encoding/gob.decodeUintReader(0x7f257ceb2480, 0xc820254000, 0xc82023e002, 0x9, 0x9, 0x0, 0x1, 0x0, 0x0)
/usr/lib/go/src/encoding/gob/decode.go:119 +0x92
encoding/gob.(_Decoder).recvMessage(0xc82023db00, 0xc820267910)
/usr/lib/go/src/encoding/gob/decoder.go:76 +0x5e
encoding/gob.(_Decoder).decodeTypeSequence(0xc82023db00, 0xb6fb00, 0xc82023db00)
/usr/lib/go/src/encoding/gob/decoder.go:140 +0x47
encoding/gob.(_Decoder).DecodeValue(0xc82023db00, 0x8a20c0, 0xc8202440a0, 0x16, 0x0, 0x0)
/usr/lib/go/src/encoding/gob/decoder.go:208 +0x15d
encoding/gob.(_Decoder).Decode(0xc82023db00, 0x8a20c0, 0xc8202440a0, 0x0, 0x0)
/usr/lib/go/src/encoding/gob/decoder.go:185 +0x289
net/rpc.(_gobServerCodec).ReadRequestHeader(0xc820248180, 0xc8202440a0, 0x0, 0x0)
/usr/lib/go/src/net/rpc/server.go:403 +0x51
net/rpc.(_Server).readRequestHeader(0xc820242100, 0x7f257ce71028, 0xc820248180, 0x0, 0x0, 0xc8202440a0, 0xc820267c00, 0x0, 0x0)
/usr/lib/go/src/net/rpc/server.go:576 +0x90
net/rpc.(_Server).readRequest(0xc820242100, 0x7f257ce71028, 0xc820248180, 0xc820242100, 0xc82023e020, 0xc82023ce80, 0x0, 0x0, 0x0, 0x0, ...)
/usr/lib/go/src/net/rpc/server.go:543 +0x8b
net/rpc.(_Server).ServeCodec(0xc820242100, 0x7f257ce71028, 0xc820248180)
/usr/lib/go/src/net/rpc/server.go:462 +0x7d
net/rpc.(_Server).ServeConn(0xc820242100, 0x7f257ceb23d0, 0xc820246008)
/usr/lib/go/src/net/rpc/server.go:454 +0x4ee
pkg.monsti.org/monsti/api/service.(_Provider).Accept.func1(0xc820242100, 0x7f257ceb2370, 0xc820246008)
/home/werner/dev/go/cms/monsti/go/src/pkg.monsti.org/monsti/api/service/provider.go:71 +0x5d
created by pkg.monsti.org/monsti/api/service.(*Provider).Accept
/home/werner/dev/go/cms/monsti/go/src/pkg.monsti.org/monsti/api/service/provider.go:73 +0x4ac

goroutine 82 [runnable]:
net/rpc.(_service).call(0xc820242080, 0xc820242040, 0xc82023e028, 0xc82023c800, 0xc8202440c0, 0x8c75a0, 0xc82028c000, 0x198, 0x89b640, 0xc82028c030, ...)
/usr/lib/go/src/net/rpc/server.go:377
created by net/rpc.(_Server).ServeCodec
/usr/lib/go/src/net/rpc/server.go:477 +0x49d

`

deploy monsti from mac to ubuntu server

I successfully run example monsti site $GOPATH/monsti-try/monsti-monsti/example on local mac os machine.
Now how to deploy it to ubuntu server? Usually, I deploy go sites with the command ...
GOOS=linux GOARCH=amd64 go build
And then using scp command I transfer files to the server. If I can do the same with monsti where should I run this command?

Also, I tried to use make dist command. But do not know exactly in what directory should I run it and what will exactly this command do.

imports launchpad.net/goyaml: exec: "bzr": executable file not found in $PATH

I got error installing monsti: I downloaded monsti tar.gz, unzip it and run make command in that folder. But got error: imports launchpad.net/goyaml: exec: "bzr": executable file not found in $PATH make: *** [go/bin/monsti-daemon] Error 1

Full output:

user@host ~/Dropbox/golang/src/sana/monsti-monsti $ make
mkdir -p /Users/user/Dropbox/golang/src/sana/monsti-monsti/go//src/pkg.monsti.org
ln -sf ../../.. /Users/user/Dropbox/golang/src/sana/monsti-monsti/go//src/pkg.monsti.org/monsti
GOPATH=/Users/user/Dropbox/golang/src/sana/monsti-monsti/go/ go get pkg.monsti.org/monsti/core/monsti-daemon
go: missing Bazaar command. See http://golang.org/s/gogetcmd
package code.google.com/p/go.crypto/bcrypt
imports golang.org/x/crypto/blowfish
imports github.com/chrneumann/htmlwidgets
imports github.com/gorilla/context
imports github.com/gorilla/sessions
imports github.com/gorilla/securecookie
imports github.com/nfnt/resize
imports gopkg.in/gomail.v1
imports gopkg.in/alexcesaro/quotedprintable.v2
imports launchpad.net/goyaml: exec: "bzr": executable file not found in $PATH
make: *** [go/bin/monsti-daemon] Error 1

Make not working for me :(

Hi All

I downloaded monsti and i tried to compile it, but:

mkdir -p /usr/home/loweel/mygo/src/monsti/go//src/pkg.monsti.org
ln -sf ../../.. /usr/home/loweel/mygo/src/monsti/go//src/pkg.monsti.org/monsti
GOPATH=/usr/home/loweel/mygo/src/monsti/go/ go get  pkg.monsti.org/monsti/core/monsti-daemon
warning: code.google.com is shutting down; import path code.google.com/p/go.crypto/bcrypt will stop working
package pkg.monsti.org/gettext: unrecognized import path "pkg.monsti.org/gettext"
Makefile:95: recipe for target 'go/bin/monsti-daemon' failed

any suggestion?

make: wget: No such file or directory make: *** [static/lib/tinymce] Error 1

Tried to install monsti but got error:

make: wget: No such file or directory
make: *** [static/lib/tinymce] Error 1

Full output:

$ make
GOPATH=/Users/user/Dropbox/golang/src/sana/monsti-monsti/go/ go get pkg.monsti.org/monsti/core/monsti-daemon
wget -nv http://download.moxiecode.com/tinymce/tinymce_4.1.7.zip
make: wget: No such file or directory
make: *** [static/lib/tinymce] Error 1
user@host ~/Dropbox/golang/src/sana/monsti-monsti $

Raw edit without Aloha

It should be possible to bypass Aloha and edit the html directly via the web interface.

Update thumbnails

If an existing image node is overwritten, its thumbnails don't change. They should be removed after an overwrite so that they will be regenerated.

ContactForm: Don't use user email as sender mail

The user's email should only be set in the Reply-To field.Sender/From should be the admin's / site's mail address.

Reasons:

  1. If the user sets a non existing email address, the mail might not reach the destination.
  2. If the mail could not be delivered (to one or more recipients), the user gets an error message.

Memory leak in monsti-daemon?

monsti-daemon uses "a lot of memory" after "some time". It would be nice to know what's the cause and if it can be fixed.

Real password inputs

Password entries use normal text inputs. Add a password widget to monsti/form

Can't Make with Go 1.5 on OS X

Hello! I'm new to go and its various build tools, so apologies if this is something obvious. I've cloned the master monsti project to my local computer (running OS X, 10.10.4). When I attempt to make the project, I get the following error

$ make
GOPATH=/Users/alanstorm/Documents/github/monsti/monsti/go/ go get  pkg.monsti.org/monsti/core/monsti-daemon
package pkg.monsti.org/gettext: unrecognized import path "pkg.monsti.org/gettext"
make: *** [go/bin/monsti-daemon] Error 1

Same thing happened on the develop branch.

Running Go 1.5.1 (I think?)

$ go version
go version go1.5.1 darwin/amd64

Is there any known science to get this working? Is there anything else I can do to help diagnose the problem and get things fixed?

Action URL generation / Template engine bug

Action links in the admin toolbar are not correctly generated. Seems to be a bug in the template engine.

Reconstruction:
Visit root node ("/"), log in, and try to edit the page.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.