diff --git a/.gitignore b/.gitignore
index 13b5d5d47..32f8a186e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,5 @@
# exclude the compiled binary
-/server
\ No newline at end of file
+/server
+
+# exclude built documentation, since readthedocs will build it for us anyway
+/docs/_build
diff --git a/cmd/server/main.go b/cmd/server/main.go
index 1d9dba33e..622ae9431 100644
--- a/cmd/server/main.go
+++ b/cmd/server/main.go
@@ -1,25 +1,25 @@
/*
- GoToSocial
- Copyright (C) 2021 GoToSocial Authors admin@gotosocial.org
+ GoToSocial
+ Copyright (C) 2021 GoToSocial Authors admin@gotosocial.org
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see .
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
*/
package main
import (
- "github.com/gotosocial/gotosocial/internal/api"
+ "github.com/gotosocial/gotosocial/internal/client"
)
func main() {
diff --git a/internal/ap/api.go b/internal/ap/api.go
new file mode 100644
index 000000000..7e56b54e6
--- /dev/null
+++ b/internal/ap/api.go
@@ -0,0 +1,20 @@
+/*
+ GoToSocial
+ Copyright (C) 2021 GoToSocial Authors admin@gotosocial.org
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
+// Package ap provides ActivityPub/federation functionality for GoToSocial
+package ap
diff --git a/internal/api/api.go b/internal/api/api.go
deleted file mode 100644
index 67757a7d7..000000000
--- a/internal/api/api.go
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- GoToSocial
- Copyright (C) 2021 GoToSocial Authors admin@gotosocial.org
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see .
-*/
-
-package api
-
-// API is the API exposed to the outside world for access by front-ends; this is distinct from the federation API
-type API interface {
-
-}
-
-// api implements Api interface
-type api struct {
-
-}
diff --git a/internal/api/route_statuses.go b/internal/api/route_statuses.go
deleted file mode 100644
index b6bbe5889..000000000
--- a/internal/api/route_statuses.go
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- GoToSocial
- Copyright (C) 2021 GoToSocial Authors admin@gotosocial.org
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see .
-*/
-
-package api
-
-import (
- "net/http"
-
- "github.com/gin-gonic/gin"
-)
-
-func statusGet(c *gin.Context) {
- c.HTML(http.StatusOK, "index.tmpl", gin.H{
- "title": "Posts",
- })
-}
diff --git a/internal/api/router.go b/internal/api/router.go
deleted file mode 100644
index 3a44c81b3..000000000
--- a/internal/api/router.go
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- GoToSocial
- Copyright (C) 2021 GoToSocial Authors admin@gotosocial.org
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see .
-*/
-
-package api
-
-import "github.com/gin-gonic/gin"
-
-// Router provides the http routes used by the API
-type Router interface {
- Route()
-}
-
-// NewRouter returns a new router
-func NewRouter() Router {
- return &router{}
-}
-
-// router implements the router interface
-type router struct {
-
-}
-
-func (r *router) Route() {
- ginRouter := gin.Default()
- ginRouter.LoadHTMLGlob("web/template/*")
-
- apiGroup := ginRouter.Group("/api")
- {
- v1 := apiGroup.Group("/v1")
- {
- statusesGroup := v1.Group("/statuses")
- {
- statusesGroup.GET(":id", statusGet)
- }
-
- }
- }
- ginRouter.Run()
-}
diff --git a/internal/client/api.go b/internal/client/api.go
new file mode 100644
index 000000000..4e6bad863
--- /dev/null
+++ b/internal/client/api.go
@@ -0,0 +1,28 @@
+/*
+ GoToSocial
+ Copyright (C) 2021 GoToSocial Authors admin@gotosocial.org
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
+// Package client AAAAAAAAAAAAAAA
+package client
+
+// API is the client API exposed to the outside world for access by front-ends; this is distinct from the federation API
+type API interface {
+}
+
+// api implements Api interface
+type api struct {
+}
diff --git a/internal/client/route_statuses.go b/internal/client/route_statuses.go
new file mode 100644
index 000000000..d17a81dbb
--- /dev/null
+++ b/internal/client/route_statuses.go
@@ -0,0 +1,31 @@
+/*
+ GoToSocial
+ Copyright (C) 2021 GoToSocial Authors admin@gotosocial.org
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
+package client
+
+import (
+ "net/http"
+
+ "github.com/gin-gonic/gin"
+)
+
+func statusGet(c *gin.Context) {
+ c.HTML(http.StatusOK, "index.tmpl", gin.H{
+ "title": "Posts",
+ })
+}
diff --git a/internal/client/router.go b/internal/client/router.go
new file mode 100644
index 000000000..a3353df62
--- /dev/null
+++ b/internal/client/router.go
@@ -0,0 +1,52 @@
+/*
+ GoToSocial
+ Copyright (C) 2021 GoToSocial Authors admin@gotosocial.org
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
+package client
+
+import "github.com/gin-gonic/gin"
+
+// Router provides the http routes used by the API
+type Router interface {
+ Route()
+}
+
+// NewRouter returns a new router
+func NewRouter() Router {
+ return &router{}
+}
+
+// router implements the router interface
+type router struct {
+}
+
+func (r *router) Route() {
+ ginRouter := gin.Default()
+ ginRouter.LoadHTMLGlob("web/template/*")
+
+ apiGroup := ginRouter.Group("/api")
+ {
+ v1 := apiGroup.Group("/v1", {
+ statusesGroup := v1.Group("/statuses")
+ {
+ statusesGroup.GET(":id", statusGet)
+ }
+
+ })
+ }
+ ginRouter.Run()
+}