Noah Campbell
9500ec1b6b
Refactor layout selection code
...
The render code path would use a fallback if there was an exception.
This change instead relies on explicit declaration of the layout to use
and includes a check to see if the layout indeed exists before
attempting to render it.
2013-10-08 18:44:15 +02:00
Noah Campbell
197aacb647
Add support for Relative Permalinks
2013-10-08 18:42:03 +02:00
Noah Campbell
06da609138
Refactor Permalink to private function
...
This will allow for reuse of this particular function.
2013-10-08 18:42:03 +02:00
Noah Campbell
6fa6f69a4a
Change transformer order
2013-10-08 18:42:03 +02:00
Noah Campbell
d712d6f331
Moving transformation on a per-page level
2013-10-08 18:42:03 +02:00
Noah Campbell
9032a228b0
Better handle missing layouts
...
Panic is too extreme. Instead the library will write out a message in
verbose mode.
2013-10-08 18:42:02 +02:00
Noah Campbell
54a2790fce
Use io.Pipe for chaning render tasks.
...
Also clean up logic for finding layouts.
2013-10-08 18:42:02 +02:00
Noah Campbell
19cb6c7819
Move writing next to rendering
...
All render(Thing) calls have a WritePublic call directly after it. This
refactor creates one function that makes the specific call sequence.
2013-10-08 18:40:40 +02:00
Noah Campbell
2176d2c197
Reducing scope of RenderThing*
2013-10-08 18:37:50 +02:00
Noah Campbell
80009b427f
Change the order of Apply to be more Unixy
...
Typically the destination is on the left and the src is on the right.
2013-10-08 18:37:50 +02:00
Noah Campbell
f0211b84a1
Rename Transform to AbsURL
2013-10-08 18:37:49 +02:00
spf13
5e14af957a
Proper handling of 404 page return value
2013-10-07 09:24:13 -04:00
spf13
7468292c4e
Fixing bug where RSS for site was rendered in wrong location
2013-10-07 09:23:42 -04:00
spf13
d829e05036
Fixing bug where only the first index list was created.
2013-10-07 09:07:14 -04:00
spf13
2aaf92b515
Summary can now contain short codes when using <!--more--> to define end of summary.
2013-10-04 16:07:24 -04:00
spf13
dcfcbac589
Enabling Nitro ('--stepAnalysis') again. Fix #58
2013-10-03 09:44:45 -04:00
spf13
92cff05582
go fmt so code
2013-09-29 02:10:29 -04:00
spf13
ff2b98c9dd
Better error message when no source content is found.
2013-09-29 02:10:29 -04:00
Noah Campbell
db50154e75
Support index.html indexes in content directory
...
If a file named index.html exists in a directory, or root, it will be
rendered as if ugly urls are turned on. This allows for top level
content to not need a supporting layout file and content in content.
This change should not affect anyone who is using the perscribed way.
I also cleaned up a bunch of one off functions in site.go.
2013-09-24 21:27:25 -07:00
Noah Campbell
4250bf8e30
Fixes #80 - Homepage now renders correctly
...
I mistakenly make RenderHomePage a NOP. Bad programmer.
2013-09-24 14:41:21 -07:00
Noah Campbell
bffe4baf42
Create a TargetPath() method that provides OutFile
...
Moved the generation of the target path to the page breaking all
dependecies on Site.
2013-09-20 17:24:25 -07:00
Noah Campbell
52e8c7a0ac
Section is determined by the source, not the url
...
This change allows for top level html content to exists.
2013-09-20 17:03:43 -07:00
Noah Campbell
311e102223
Allow non-markdown content in content directory
...
Allow content that is not markdown and does not need to be rendered to
exists in the content directory. Currently any valid html or xml
document can exist. Templates are applied to these documents as well.
If you need to have content that doesn't have templates or AbsUrlify
like operations, then continue to put this content in static and it will
be copied over.
2013-09-18 14:21:27 -07:00
Noah Campbell
d8e1834910
Fix parsing edge case of frontmatter
...
When the frontmatter contains a - (or other delimiter) close to the
closing frontmatter delimiter, frontmatter detection would fail.
2013-09-18 09:15:46 -07:00
Noah Campbell
6b0752e8c0
Move AbUrlify to post content transformation
...
Currently the a@href and script@src elements will have BaseUrl applied
to their elements prior to being written to disk.
2013-09-17 14:16:06 -07:00
Noah Campbell
172ff5ea7a
Initialize HTMLRedirectAlias before ShowPlan()
...
Without it, no alias information is generated when running --check
2013-09-13 15:06:37 -07:00
Noah Campbell
d45fb72f67
Add /index.html to unadorned alias paths
...
Bring code to be better in line with documentation.
2013-09-13 14:51:28 -07:00
Noah Campbell
803a0fce1e
Remove RenderedContent from page.
...
The output is written directly to disk after being written. Not
entirely sure why it was split into two steps.
2013-09-13 10:30:27 -07:00
Noah Campbell
2ebfb33fe0
Move alias logic to target module
...
I want to move all logic to writing aliases to target so I can pave the
way for writing aliases specific to other runtimes (like .htaccess for
apache or a script for updating AWS or symlinking on a filesystem).
2013-09-12 21:20:00 -07:00
Noah Campbell
2f10da1570
Move alias rendering to target
2013-09-12 16:18:30 -07:00
Noah Campbell
74b55fc7c8
Normalize paths within hugo
...
filepath was used inconsistently throughout the hugolib. With the
introduction of source and target modules, all path are normalized to
"/". This simplifies the processing of paths. It does mean that
contributors need to be aware of using path/filepath in any module other
than source or target is not recommended. The current exception is
hugolib/config.go
2013-09-12 10:48:59 -07:00
Noah Campbell
610c06e658
Introduce source.Filesystem
...
This provides an abstraction over how files are processed by Hugo. This
allows for alternatives like CMS systems or Dropbox, etc.
2013-09-04 22:42:52 -07:00
Noah Campbell
d4d9da9f3a
Remove page module dependence on opening files
...
The site is responsible for reading files, page only operates on
buffers.
2013-09-04 19:36:06 -07:00
Noah Campbell
cb00917af6
Expand the ShowPlan functionality
2013-09-03 20:52:50 -07:00
Noah Campbell
4004687fb2
Move to target.Filesystem
...
Moving the ugly urls logic to the target. There is still UglyUrl logic
in page for the permlink but this is dealing with the generate of urls.
2013-09-03 20:01:55 -07:00
Noah Campbell
13d2c55206
Adding Planner
2013-09-03 20:00:21 -07:00
Noah Campbell
79d9f82e79
Code reorg, helpers.go has been decomposed.
...
It started with wanting to move templates in template bundles and the
rest followed. I did my best to start grouping related functions
together, but there are some that I missed. There is also the method
Urlize that seems to be a special function used in both worlds. I'll
need to revisit this method.
2013-09-03 16:16:07 -07:00
Noah Campbell
3ecc698f5e
Remove hugolib.HTML and hugolib.URL types
...
These types were not be rendered correctly by the html/template package.
Removing them gets the correct behavior.
Fixes #74
2013-09-03 12:43:56 -07:00
Fabrizio (Misto) Milo
ba82a20321
Add support for amber files
...
If a layout file ends with .amber it will interpreted as a Amber file
Signed-off-by: Noah Campbell <noahcampbell@gmail.com>
2013-09-01 19:51:32 -07:00
Fabrizio (Misto) Milo
ee5865f239
Abstract html/template dependency
...
Signed-off-by: Noah Campbell <noahcampbell@gmail.com>
2013-09-01 19:51:27 -07:00
Fabrizio (Misto) Milo
0a9dc705f3
Use s everywhere for consistency
...
Signed-off-by: Noah Campbell <noahcampbell@gmail.com>
2013-09-01 19:51:21 -07:00
Mark Sanborn
6c8e7edbb4
The <!--more--> (summary divider) now works even if it is on the same line as content
...
Signed-off-by: Noah Campbell <noahcampbell@gmail.com>
2013-09-01 07:44:29 -07:00
Noah Campbell
4349216deb
Small code cleanup
2013-08-31 20:00:57 -07:00
Noah Campbell
0fdea0c2c2
Return an error with WritePublic
2013-08-30 21:24:25 -07:00
Noah Campbell
097b782a80
Removing site.Directories.
...
Please revert if this is used somewhere.
2013-08-30 21:13:50 -07:00
Noah Campbell
b14b61af37
Externalize the writing of content to a target
...
Introducing the target module in hugo. This provides the simple
interface for writing content given a label (filename) and a io.Reader
containing the content to be written.
If site.Target is not set, it defaults back to the original behavior of
writing to file system.
In hugolib/site_url_test.go I have an InMemoryTarget for testing
purposes and use it to see if the final output of a render matches.
2013-08-30 20:45:42 -07:00
Noah Campbell
c32f401b15
Revert "Return errors when rendering"
...
This reverts commit e66ba5d2a7
.
Fixed #69
2013-08-30 20:08:13 -07:00
Noah Campbell
a792ec09ce
Cleanup formatting - go fmt ./...
...
Remember to run go fmt ./... before committing. Looks sternly in mirror
2013-08-30 14:39:12 -07:00
Mark Sanborn
4ed43e8076
Fixed bug where Url specified in front matter as pretty url wouldnt render
...
Signed-off-by: Noah Campbell <noahcampbell@gmail.com>
2013-08-30 14:39:11 -07:00
Ross Lawley
1bb00b8c19
Refactored added RenderThingOrDefault and tests
...
Signed-off-by: Noah Campbell <noahcampbell@gmail.com>
Conflicts:
hugolib/site.go
2013-08-27 12:40:53 -07:00
Hugo Duncan
1de1992664
Return any error reported by RenderHomePage
...
Signed-off-by: Noah Campbell <noahcampbell@gmail.com>
2013-08-23 16:55:40 -07:00
Ross Lawley
7b1f0960e3
Add 404.html for gh-pages
...
Signed-off-by: Noah Campbell <noahcampbell@gmail.com>
2013-08-23 16:38:35 -07:00
Noah Campbell
f28a8fa0c2
RenderThing test cases
...
Provide unit test support RenderThing.
One observation is that creating the site.Tmpl variable is a one time
event. site.Tmpl doesn't like additional templates with the same name.
This means that updating a template while in --watch mode requires
throwing away the entire Site object and creating a new one. Not that
this is a bad idea, but it is something I discovered while working on
these unit tests.
2013-08-23 16:21:28 -07:00
Noah Campbell
599e6672f7
Removing GetSection
...
Using GetXXX is not idiomatic to Go. Also added a bunch of unit testing
around this method.
2013-08-23 14:14:54 -07:00
Noah Campbell
ae7112977d
Skip "dot" files in layout
...
As a vim user, .filename.swp files pop up. This change prevents hugo
from reading those files.
2013-08-23 13:58:52 -07:00
Hugo Duncan
301d2bafcd
Print error if index value in a page is wrong type
...
This was causing a panic with no information displayed about the
page causing the error.
2013-08-20 16:39:26 -04:00
Steve Francia
e2744d403c
Merge pull request #43 from hugoduncan/feature/allow-xhtml-aliases
...
Enable aliases from .xhtml paths
2013-08-17 21:04:14 -07:00
Steve Francia
2542836bbc
Merge pull request #41 from rozza/skipStatic
...
Skip Static directory if its in your content directory
2013-08-17 20:59:07 -07:00
Noah Campbell
c713beba4d
Formatting cleanup
2013-08-17 23:52:16 -04:00
Noah Campbell
ec821739bc
Removing the use of slash
...
An oversight on my behalf. The FromSlash method is used when writing
out the public file name. There is one place where the slashes are
required which is setting the output file. I replaced those instances
with filepath.Join which should do the right thing depending on the OS.
2013-08-17 23:46:57 -04:00
Noah Campbell
8eca8f8aa0
Detect missed index from front matter
2013-08-17 23:45:03 -04:00
Noah Campbell
e66ba5d2a7
Return errors when rendering
2013-08-17 23:45:03 -04:00
Hugo Duncan
23a98ad05c
Enable aliases from .xhtml paths
...
When redirecting an alias from a .xhtml path, served with default content type,
a redirect only works if the html element has a xmlns attribute. This adds the
attribute when the alias path ends in .xhtml
2013-08-16 00:29:46 -04:00
Ross Lawley
0f143dcf14
Skip Static directory if its in your content directory
...
Allows organisation where all source files are in one directory:
```
`config.yaml`:
contentdir: "source"
staticdir: "source/static"
...
.
└── source
├── post
| ├── firstpost.md // <- http://site.com/post/firstpost.html
| └── secondpost.md // <- http://site.com/post/secondpost.html
└── static
└── css
└── site.css // <- http://site.com/css/site.css
```
2013-08-15 20:05:46 +01:00
spf13
3c3fc45d3c
Merge branch 'master' of github.com:spf13/hugo
2013-08-14 10:19:59 -04:00
spf13
480e01eb15
Further work on path/section stuff. Tests passing now.
2013-08-14 08:57:14 -04:00
Steve Francia
7a51a8a5a3
Merge pull request #38 from noahcampbell/workflow_dotfile
...
Workflow dotfile
2013-08-13 20:03:18 -07:00
spf13
b4bcc591e4
Now support for nested paths. Better section detection.
2013-08-13 19:39:24 -04:00
spf13
ec02fa4bdd
Adding support for a default content type template
...
default template found at layouts/_default/single.html
2013-08-13 09:23:43 -04:00
spf13
8968524900
Adding support for recent content.
2013-08-13 08:43:42 -04:00
Noah Campbell
97eb9225a7
Ignore dotfiles in content directory
...
This supports my personal workflow of using vim which places a temporary file in the same directory as the file I'm editing.
2013-08-12 20:40:52 -07:00
elij
023567b05e
fix bad tab/space due to paste
2013-08-12 19:01:23 -07:00
elij
2f9b582dbe
fix wrong renderlist feed permalink
...
when not using ugly urls, the feed permalink does not end up in the
expected location, and instead always behaves as if using ugly urls.
this fixes that behavior and inserts the feed xml file into the
directory as index.xml.
fixes #32
2013-08-12 19:00:29 -07:00
Noah Campbell
8c03141307
Use / for template names regardless of platform.
...
The path seperator was causing templates to not be loaded on windows.
Now all template names use / internally.
2013-08-12 15:03:06 -07:00
VonC
17aafb39dd
Avoid error if no content.
...
The homepage should still be generated.
This is useful especially in the beginning, where you start just with
the homepage.
2013-08-12 14:31:39 +02:00
spf13
0233708907
Started new release notes, added nitro step for aliases
2013-08-10 15:44:22 +01:00
spf13
ac26de205e
Adding correct canonical link to alias pages
2013-08-10 15:41:10 +01:00
spf13
d5518c0966
Adding support for aliases (redirects)
2013-08-10 15:35:34 +01:00
spf13
733c0207cb
Merge branch 'master' of github.com:spf13/hugo
...
Conflicts:
hugolib/site.go
2013-08-10 02:07:35 +01:00
Noah Campbell
2bbecc7bc8
Better reporting when the template is missing.
2013-08-09 17:36:32 -07:00
Noah Campbell
309db474c7
Nitro timer is encapsulated.
...
Remove the need for NewSite by relying on appropriate defaults. Renamed
site.c to site.Config to allow Sites to be created outside the package.
2013-08-09 17:36:32 -07:00
Noah Campbell
274d324c8b
Introduce unit testing for page.go
2013-08-09 17:36:32 -07:00
Noah Campbell
fa55cd9857
Remove unreachable code path.
2013-08-09 17:36:32 -07:00
Noah Campbell
fc5e92cc24
Provide better error handling
...
Change the method signatures to follow the check ok pattern.
2013-08-09 17:36:31 -07:00
spf13
a870f4d955
Fixing missing trailing slash in baseUrl
2013-08-08 12:30:01 +01:00
Nick Sabine
780e2f311b
Populated page Site metadata. Enables accessing Indexes from Page template.
2013-08-07 14:23:24 -04:00
spf13
783f0d6154
fixing badlink on homepage
2013-08-06 01:06:59 +02:00
spf13
6789b6c5ce
removing erroneous debugging output
2013-08-06 01:05:50 +02:00
spf13
dff86cb22c
Renaming indexes template to indexes.html
2013-08-03 03:29:24 -04:00
spf13
52c089ffbd
Added support for indexes of indexes & ordered indexes
2013-08-03 03:09:28 -04:00
spf13
ddad1e04ac
adding previous next capabilities
2013-08-02 16:30:26 -04:00
Noah Campbell
3e539c7126
Adding error message when no content pages exists.
2013-08-01 13:27:56 -07:00
spf13
7ab28c564f
Adding support for destination dir, split out static
2013-07-26 18:06:13 -04:00
spf13
92c31bbe10
permalink now respects pretty urls
2013-07-26 09:56:00 -04:00
spf13
d5f5543061
create content at any level of nesting
2013-07-26 09:28:26 -04:00
spf13
e08d14ad49
fixing issue with some urls missing '/'
2013-07-26 09:27:22 -04:00
spf13
8fae5f0dd6
Default is now pretty urls (without .html)
...
Adding --uglyurls option to retain previous behavior
2013-07-19 00:10:42 -07:00
spf13
c24112ce86
Render shortcodes before index and section rss feeds
2013-07-11 23:26:03 -04:00
spf13
649560fca2
proper BaseUrl handling (if has trailing slash or not)
2013-07-11 22:55:07 -04:00
spf13
7a521ad1a1
Fixing some RSS issues
2013-07-11 22:31:58 -04:00
spf13
75a2e6d4e8
Now support for config files as yaml, json or toml
2013-07-11 22:04:57 -04:00
spf13
51e3098548
Writing relative links to absolute so they work in feeds
2013-07-10 00:14:02 -04:00
spf13
f875577197
rendering shortcodes earlier for better performance
2013-07-05 12:03:47 -04:00
spf13
6e16449e5f
adding hugo
2013-07-04 11:32:55 -04:00