SYMBOL INDEX (307 symbols across 50 files) FILE: app/admin.go function registerAdminHandler (line 5) | func registerAdminHandler() { FILE: app/app.go function init (line 29) | func init() { function catchExit (line 125) | func catchExit() { function Init (line 143) | func Init() { function registerHomeHandler (line 171) | func registerHomeHandler() { function Run (line 190) | func Run() { FILE: app/cmd.go function Cmd (line 13) | func Cmd() { function registerCmdHandler (line 44) | func registerCmdHandler() { FILE: app/cmd/backup.go function init (line 16) | func init() { function DoBackup (line 23) | func DoBackup(app *GoInk.App, withData bool) (string, error) { function RemoveBackupFile (line 68) | func RemoveBackupFile(file string) { function GetBackupFileAbsPath (line 74) | func GetBackupFileAbsPath(name string) string { function GetBackupFiles (line 79) | func GetBackupFiles() ([]os.FileInfo, error) { function StartBackupTimer (line 94) | func StartBackupTimer(app *GoInk.App, t int) { FILE: app/cmd/init.go function Init (line 5) | func Init(app *GoInk.App) { FILE: app/cmd/install.go function CheckInstall (line 18) | func CheckInstall() bool { function ExtractBundleBytes (line 23) | func ExtractBundleBytes() { function DoInstall (line 41) | func DoInstall() { function DoUpdateZipBytes (line 47) | func DoUpdateZipBytes(file string) error { FILE: app/cmd/log.go type logItem (line 10) | type logItem struct function GetLogs (line 16) | func GetLogs(app *GoInk.App) []*logItem { function RemoveLogFile (line 43) | func RemoveLogFile(app *GoInk.App, file string) { FILE: app/cmd/monitor.go type monitorStats (line 10) | type monitorStats struct function ReadMemStats (line 21) | func ReadMemStats() *monitorStats { FILE: app/cmd/theme.go type themeItem (line 12) | type themeItem struct function SetThemeCache (line 19) | func SetThemeCache(ctx *GoInk.Context, cache bool) { function GetThemes (line 30) | func GetThemes(dir string) map[string]*themeItem { function createThemeItem (line 49) | func createThemeItem(dir string) (*themeItem, error) { FILE: app/cmd/upgrade.go function init (line 12) | func init() { function SetUpgradeScript (line 16) | func SetUpgradeScript(v int, script func(app *GoInk.App) bool) { function CheckUpgrade (line 20) | func CheckUpgrade(v int, print bool) bool { function DoUpgrade (line 30) | func DoUpgrade(v int, app *GoInk.App) { FILE: app/cmd/zip.go constant zipBytes (line 2) | zipBytes="UEsDBBQACAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAc3RhdGljL1BLBwgAAAAAAA... FILE: app/handler/admin.go function Admin (line 12) | func Admin(context *GoInk.Context) { function AdminProfile (line 24) | func AdminProfile(context *GoInk.Context) { function AdminPassword (line 52) | func AdminPassword(context *GoInk.Context) { function AdminArticle (line 73) | func AdminArticle(context *GoInk.Context) { function ArticleWrite (line 83) | func ArticleWrite(context *GoInk.Context) { function ArticleEdit (line 119) | func ArticleEdit(context *GoInk.Context) { function PageWrite (line 159) | func PageWrite(context *GoInk.Context) { function AdminPage (line 195) | func AdminPage(context *GoInk.Context) { function PageEdit (line 205) | func PageEdit(context *GoInk.Context) { function AdminSetting (line 245) | func AdminSetting(context *GoInk.Context) { function CustomSetting (line 269) | func CustomSetting(context *GoInk.Context) { function NavigatorSetting (line 284) | func NavigatorSetting(context *GoInk.Context) { function AdminComments (line 295) | func AdminComments(context *GoInk.Context) { function AdminPlugin (line 347) | func AdminPlugin(context *GoInk.Context) { function PluginSetting (line 379) | func PluginSetting(context *GoInk.Context) { function AdminMessageRead (line 403) | func AdminMessageRead(context *GoInk.Context) { FILE: app/handler/cmd.go function CmdBackup (line 9) | func CmdBackup(context *GoInk.Context) { function CmdBackupFile (line 40) | func CmdBackupFile(context *GoInk.Context) { function CmdMessage (line 46) | func CmdMessage(context *GoInk.Context) { function CmdLogs (line 54) | func CmdLogs(context *GoInk.Context) { function CmdMonitor (line 67) | func CmdMonitor(ctx *GoInk.Context) { function CmdTheme (line 75) | func CmdTheme(ctx *GoInk.Context) { function CmdReader (line 100) | func CmdReader(ctx *GoInk.Context) { FILE: app/handler/func.go type jsonContext (line 10) | type jsonContext struct method Set (line 24) | func (jc *jsonContext) Set(key string, v interface{}) *jsonContext { method End (line 29) | func (jc *jsonContext) End() { function Json (line 16) | func Json(context *GoInk.Context, res bool) *jsonContext { type themeContext (line 33) | type themeContext struct method Layout (line 49) | func (tc *themeContext) Layout(layout string) *themeContext { method Render (line 58) | func (tc *themeContext) Render(tpl string, data map[string]interface{}) { method Tpl (line 62) | func (tc *themeContext) Tpl(tpl string, data map[string]interface{}) s... method Has (line 66) | func (tc *themeContext) Has(tpl string) bool { function Theme (line 39) | func Theme(context *GoInk.Context) *themeContext { function CommentHtml (line 72) | func CommentHtml(context *GoInk.Context, c *model.Content) string { function SidebarHtml (line 84) | func SidebarHtml(context *GoInk.Context) string { FILE: app/handler/home.go function Login (line 12) | func Login(context *GoInk.Context) { function Auth (line 39) | func Auth(context *GoInk.Context) { function Logout (line 54) | func Logout(context *GoInk.Context) { function TagArticles (line 60) | func TagArticles(ctx *GoInk.Context) { function Home (line 79) | func Home(context *GoInk.Context) { function Article (line 94) | func Article(context *GoInk.Context) { function Page (line 114) | func Page(context *GoInk.Context) { function TopPage (line 134) | func TopPage(context *GoInk.Context) { function Comment (line 152) | func Comment(context *GoInk.Context) { function validateComment (line 184) | func validateComment(data map[string]string) string { function getArticleListSize (line 197) | func getArticleListSize() int { FILE: app/handler/rss.go function SiteMap (line 11) | func SiteMap(ctx *GoInk.Context) { function Rss (line 56) | func Rss(ctx *GoInk.Context) { FILE: app/handler/upload.go function AdminFiles (line 14) | func AdminFiles(context *GoInk.Context) { function FileUpload (line 31) | func FileUpload(context *GoInk.Context) { FILE: app/log.go function LogError (line 11) | func LogError(bytes []byte) { FILE: app/model/article.go function generatePublishArticleIndex (line 5) | func generatePublishArticleIndex() { function GetPublishArticleList (line 17) | func GetPublishArticleList(page, size int) ([]*Content, *utils.Pager) { function GetArticleList (line 34) | func GetArticleList(page, size int) ([]*Content, *utils.Pager) { function GetPopularArticleList (line 52) | func GetPopularArticleList(size int) []*Content { function GetTaggedArticleList (line 70) | func GetTaggedArticleList(tag string, page, size int) ([]*Content, *util... FILE: app/model/comment.go type Reader (line 19) | type Reader struct method Inc (line 29) | func (r *Reader) Inc() { method Dec (line 37) | func (r *Reader) Dec() { type Comment (line 45) | type Comment struct method ParentMd (line 65) | func (c *Comment) ParentMd() string { method ToJson (line 80) | func (c *Comment) ToJson() map[string]interface{} { method IsValid (line 99) | func (c *Comment) IsValid() bool { method IsRemovable (line 113) | func (c *Comment) IsRemovable() bool { method GetReader (line 126) | func (c *Comment) GetReader() *Reader { method GetContent (line 136) | func (c *Comment) GetContent() *Content { function CreateReader (line 141) | func CreateReader(c *Comment) { function CreateComment (line 154) | func CreateComment(cid int, c *Comment) { function SaveComment (line 190) | func SaveComment(c *Comment) { function removeOneComment (line 196) | func removeOneComment(cid int, id int) { function RemoveComment (line 216) | func RemoveComment(cid int, id int) { function GetCommentById (line 226) | func GetCommentById(id int) *Comment { function GetCommentList (line 232) | func GetCommentList(page, size int) ([]*Comment, *utils.Pager) { function GetCommentRecentList (line 248) | func GetCommentRecentList(size int) []*Comment { function SyncReaders (line 264) | func SyncReaders() { function LoadReaders (line 269) | func LoadReaders() { function GetReaders (line 275) | func GetReaders() []*Reader { function RemoveReader (line 285) | func RemoveReader(email string) { function LoadComments (line 291) | func LoadComments() { function UpdateCommentAdmin (line 312) | func UpdateCommentAdmin(user *User) { function RecycleComments (line 324) | func RecycleComments() { function startCommentsTimer (line 349) | func startCommentsTimer() { FILE: app/model/content.go type Content (line 22) | type Content struct method TagString (line 58) | func (cnt *Content) TagString() string { method GetTags (line 63) | func (cnt *Content) GetTags() []*Tag { method Link (line 74) | func (cnt *Content) Link() string { method Content (line 86) | func (cnt *Content) Content() string { method Summary (line 100) | func (cnt *Content) Summary() string { method CommentNum (line 110) | func (cnt *Content) CommentNum() int { method ChangeSlug (line 122) | func (cnt *Content) ChangeSlug(slug string) bool { method User (line 136) | func (cnt *Content) User() *User { type Tag (line 141) | type Tag struct method Link (line 147) | func (t *Tag) Link() string { function GetContentById (line 152) | func GetContentById(id int) *Content { function GetContentBySlug (line 157) | func GetContentBySlug(slug string) *Content { function CreateContent (line 168) | func CreateContent(c *Content, t string) (*Content, error) { function SaveContent (line 191) | func SaveContent(c *Content) { function RemoveContent (line 202) | func RemoveContent(c *Content) { function SyncContent (line 216) | func SyncContent(c *Content) { function SyncContents (line 222) | func SyncContents() { function LoadContents (line 229) | func LoadContents() { function startContentSyncTimer (line 270) | func startContentSyncTimer() { function generateContentTmpIndexes (line 277) | func generateContentTmpIndexes() { function GetContentTags (line 327) | func GetContentTags() []*Tag { function startContentTmpIndexesTimer (line 331) | func startContentTmpIndexesTimer() { FILE: app/model/file.go type File (line 15) | type File struct function CreateFile (line 28) | func CreateFile(f *File) *File { function CreateFilePath (line 39) | func CreateFilePath(dir string, f *File) string { function GetFileList (line 46) | func GetFileList(page, size int) ([]*File, *utils.Pager) { function RemoveFile (line 58) | func RemoveFile(id int) { function SyncFiles (line 68) | func SyncFiles() { function LoadFiles (line 72) | func LoadFiles() { FILE: app/model/locker.go function init (line 7) | func init() { FILE: app/model/message.go function init (line 14) | func init() { type Message (line 20) | type Message struct function CreateMessage (line 28) | func CreateMessage(tp string, data interface{}) *Message { function SetMessageGenerator (line 45) | func SetMessageGenerator(name string, fn func(v interface{}) string) { function GetMessage (line 49) | func GetMessage(id int) *Message { function GetUnreadMessages (line 58) | func GetUnreadMessages() []*Message { function GetMessages (line 69) | func GetMessages() []*Message { function GetTypedMessages (line 73) | func GetTypedMessages(tp string, unread bool) []*Message { function SaveMessageRead (line 89) | func SaveMessageRead(m *Message) { function SyncMessages (line 94) | func SyncMessages() { function LoadMessages (line 98) | func LoadMessages() { function RecycleMessages (line 109) | func RecycleMessages() { function generateCommentMessage (line 118) | func generateCommentMessage(co interface{}) string { function generateBackupMessage (line 138) | func generateBackupMessage(co interface{}) string { function startMessageTimer (line 146) | func startMessageTimer() { FILE: app/model/page.go function GetPageList (line 7) | func GetPageList(page, size int) ([]*Content, *utils.Pager) { FILE: app/model/setting.go type navItem (line 8) | type navItem struct function GetSetting (line 20) | func GetSetting(key string) string { function GetCustomSettings (line 24) | func GetCustomSettings() map[string]string { function SetSetting (line 34) | func SetSetting(key string, v string) { function SyncSettings (line 38) | func SyncSettings() { function LoadSettings (line 42) | func LoadSettings() { function SortNavigators (line 47) | func SortNavigators() { function LoadNavigators (line 58) | func LoadNavigators() { function SetNavigators (line 64) | func SetNavigators(order []string, text []string, title []string, link [... function DefaultNavigators (line 78) | func DefaultNavigators() { function SyncNavigators (line 98) | func SyncNavigators() { function GetNavigators (line 103) | func GetNavigators() []*navItem { FILE: app/model/statis.go type Statis (line 3) | type Statis struct function NewStatis (line 12) | func NewStatis() *Statis { FILE: app/model/storage.go type jsonStorage (line 20) | type jsonStorage struct method Init (line 24) | func (jss *jsonStorage) Init(dir string) { method Has (line 28) | func (jss *jsonStorage) Has(key string) bool { method Get (line 34) | func (jss *jsonStorage) Get(key string, v interface{}) { method Set (line 47) | func (jss *jsonStorage) Set(key string, v interface{}) { method Dir (line 63) | func (jss *jsonStorage) Dir(name string) { method TimeInc (line 235) | func (jss *jsonStorage) TimeInc(d int) int { function writeDefaultData (line 67) | func writeDefaultData() { function writeDefaultTmpData (line 217) | func writeDefaultTmpData() { function loadAllData (line 221) | func loadAllData() { function Init (line 242) | func Init(v int) { function All (line 258) | func All() { function SyncIndexes (line 266) | func SyncIndexes() { function SyncAll (line 273) | func SyncAll() { FILE: app/model/timer.go type timerFunc (line 7) | type timerFunc struct function init (line 17) | func init() { function SetTimerFunc (line 25) | func SetTimerFunc(name string, ticker int, fn func()) { function ChangeTimerFunc (line 34) | func ChangeTimerFunc(name string, ticker int, fn func()) { function DelTimerFunc (line 44) | func DelTimerFunc(name string) { function GetTimerFuncs (line 49) | func GetTimerFuncs() map[string]int { function StartModelTimer (line 59) | func StartModelTimer() { function doTimers (line 70) | func doTimers(c <-chan time.Time) { FILE: app/model/token.go type Token (line 11) | type Token struct method IsValid (line 19) | func (t *Token) IsValid() bool { function CreateToken (line 27) | func CreateToken(u *User, context *GoInk.Context, expire int64) *Token { function GetTokenByValue (line 39) | func GetTokenByValue(v string) *Token { function GetTokensByUser (line 44) | func GetTokensByUser(u *User) []*Token { function RemoveToken (line 55) | func RemoveToken(v string) { function CleanTokens (line 62) | func CleanTokens() { function SyncTokens (line 72) | func SyncTokens() { function LoadTokens (line 78) | func LoadTokens() { FILE: app/model/user.go type User (line 13) | type User struct method CheckPassword (line 28) | func (u *User) CheckPassword(pwd string) bool { method ChangeEmail (line 34) | func (u *User) ChangeEmail(email string) bool { method ChangePassword (line 44) | func (u *User) ChangePassword(pwd string) { function GetUserById (line 49) | func GetUserById(id int) *User { function GetUserByName (line 59) | func GetUserByName(name string) *User { function GetUserByEmail (line 69) | func GetUserByEmail(email string) *User { function GetUsersByRole (line 79) | func GetUsersByRole(role string) []*User { function CreateUser (line 90) | func CreateUser(u *User) error { function RemoveUser (line 104) | func RemoveUser(u *User) { function SyncUsers (line 115) | func SyncUsers() { function LoadUsers (line 119) | func LoadUsers() { FILE: app/model/version.go type version (line 5) | type version struct function loadVersion (line 12) | func loadVersion() { function GetVersion (line 17) | func GetVersion() *version { function SyncVersion (line 24) | func SyncVersion() { FILE: app/plugin/email.go type EmailPlugin (line 43) | type EmailPlugin struct method Name (line 71) | func (p *EmailPlugin) Name() string { method Key (line 76) | func (p *EmailPlugin) Key() string { method Desc (line 81) | func (p *EmailPlugin) Desc() string { method ToStorage (line 86) | func (p *EmailPlugin) ToStorage() map[string]interface{} { method Activate (line 97) | func (p *EmailPlugin) Activate() { method Deactivate (line 139) | func (p *EmailPlugin) Deactivate() { method IsActive (line 144) | func (p *EmailPlugin) IsActive() bool { method Version (line 149) | func (p *EmailPlugin) Version() string { method HasSetting (line 154) | func (p *EmailPlugin) HasSetting() bool { method Form (line 159) | func (p *EmailPlugin) Form() string { method SetSetting (line 183) | func (p *EmailPlugin) SetSetting(settings map[string]string) { method sendEmail (line 188) | func (p *EmailPlugin) sendEmail(co *model.Comment, isCreate bool) { method sendSmtp (line 281) | func (p *EmailPlugin) sendSmtp(from mail.Address, to mail.Address, tit... function init (line 50) | func init() { FILE: app/plugin/hello.go type HelloPlugin (line 9) | type HelloPlugin struct method Name (line 21) | func (p *HelloPlugin) Name() string { method Key (line 25) | func (p *HelloPlugin) Key() string { method Desc (line 29) | func (p *HelloPlugin) Desc() string { method ToStorage (line 33) | func (p *HelloPlugin) ToStorage() map[string]interface{} { method Activate (line 41) | func (p *HelloPlugin) Activate() { method Deactivate (line 65) | func (p *HelloPlugin) Deactivate() { method IsActive (line 69) | func (p *HelloPlugin) IsActive() bool { method Version (line 73) | func (p *HelloPlugin) Version() string { method HasSetting (line 77) | func (p *HelloPlugin) HasSetting() bool { method Form (line 81) | func (p *HelloPlugin) Form() string { method SetSetting (line 85) | func (p *HelloPlugin) SetSetting(settings map[string]string) { function init (line 14) | func init() { FILE: app/plugin/plugin.go type PluginInterface (line 8) | type PluginInterface interface type pluginRoute (line 25) | type pluginRoute struct function init (line 40) | func init() { function Init (line 55) | func Init() { function register (line 85) | func register(plugin PluginInterface) { function Handler (line 92) | func Handler(name string, h GoInk.Handler, inter bool) { function Route (line 100) | func Route(name string, method string, pattern string, handler GoInk.Han... function Handlers (line 108) | func Handlers() (map[string]map[string]GoInk.Handler, map[string]pluginR... function GetPlugins (line 115) | func GetPlugins() map[string]PluginInterface { function GetPluginByKey (line 119) | func GetPluginByKey(key string) PluginInterface { function Activate (line 123) | func Activate(name string) { function Deactivate (line 135) | func Deactivate(name string) { function Update (line 147) | func Update(app *GoInk.App) { FILE: app/upgrade/v20140130.go function init (line 12) | func init() { function upgrade_20140130 (line 16) | func upgrade_20140130(app *GoInk.App) bool { FILE: app/upgrade/v20140131.go function init (line 10) | func init() { function upgrade_20140131 (line 14) | func upgrade_20140131(app *GoInk.App) bool { FILE: app/upgrade/v20140209.go function init (line 11) | func init() { function upgrade_20140209 (line 15) | func upgrade_20140209(app *GoInk.App) bool { FILE: app/upgrade/v20140228.go function init (line 9) | func init() { function upgrade_20140228 (line 13) | func upgrade_20140228(_ *GoInk.App) bool { FILE: app/utils/avatar.go function Gravatar (line 9) | func Gravatar(email string, size string) string { function encodeAvatarEmail (line 16) | func encodeAvatarEmail(email string) string { FILE: app/utils/crypto.go function Sha1 (line 9) | func Sha1(raw string) string { FILE: app/utils/date.go function DateInt64 (line 11) | func DateInt64(ti int64, format string) string { function DateString (line 17) | func DateString(ts string, format string) string { function DateTime (line 37) | func DateTime(t time.Time, format string) string { function Now (line 56) | func Now() int64 { FILE: app/utils/file.go function FileSize (line 8) | func FileSize(size int64) string { function IsFile (line 19) | func IsFile(path string) bool { function IsDir (line 30) | func IsDir(path string) bool { FILE: app/utils/html.go function Html2str (line 10) | func Html2str(html string) string { function Markdown2Html (line 36) | func Markdown2Html(text string) string { function Markdown2HtmlTemplate (line 40) | func Markdown2HtmlTemplate(text string) template.HTML { FILE: app/utils/pager.go type Pager (line 3) | type Pager struct function NewPager (line 17) | func NewPager(page, size, total int) *Pager { FILE: app/utils/sorter.go type intSorter (line 6) | type intSorter method Len (line 8) | func (is intSorter) Len() int { method Swap (line 12) | func (is intSorter) Swap(i, j int) { method Less (line 16) | func (is intSorter) Less(i,j int)bool{ function SortInt (line 21) | func SortInt(s [][2]int){ FILE: app/utils/validator.go function init (line 15) | func init() { function IsEmptyString (line 22) | func IsEmptyString(str string) bool { function IsEmail (line 26) | func IsEmail(str string) bool { function IsURL (line 30) | func IsURL(str string) bool { function IsLonger (line 34) | func IsLonger(str string, length int) bool { function IsShorter (line 38) | func IsShorter(str string, length int) bool { function IsASCII (line 42) | func IsASCII(str string) bool { function IsEnglish (line 46) | func IsEnglish(str string) bool { function IsContain (line 50) | func IsContain(str string, contain string) bool { FILE: main.go function main (line 5) | func main() { FILE: static/js/home.js function fixHeader (line 8) | function fixHeader() { function topButton (line 21) | function topButton() { function renderMarkdown (line 37) | function renderMarkdown() { function initComment (line 53) | function initComment() { FILE: static/js/upload.js function initUpload (line 1) | function initUpload(p) {