public ExportUrlRegistry(UrlRegistry inner, IAccessedCache cache, ICurrentHttpRequest currentRequest, FubuDocsDirectories directories)
 {
     _inner          = inner;
     _cache          = cache;
     _currentRequest = currentRequest;
     _directories    = directories;
 }
Example #2
0
 public ExportAssetUrls(AssetUrls inner, IAccessedCache cache, FubuDocsDirectories directories, ICurrentHttpRequest request)
 {
     _inner       = inner;
     _cache       = cache;
     _directories = directories;
     _request     = request;
 }
Example #3
0
        public TableOfContentsTag(Topic topic, ICurrentHttpRequest currentRequest, FubuDocsDirectories directories) : base("ul")
        {
            _currentRequest = currentRequest;
            AddClass("table-of-contents");

            writeChildNodes(topic, this, directories);
        }
 public FubuDocsExportingRegistry(FubuDocsDirectories directories) : base(directories)
 {
     Services(x => {
         x.ReplaceService <IAssetTagWriter, ExportAssetTagWriter>();
         x.ReplaceService <IAssetUrls, ExportAssetUrls>();
         x.ReplaceService <IContentWriter, ExportContentWriter>();
         x.ReplaceService <IUrlRegistry, ExportUrlRegistry>();
         x.SetServiceIfNone <IAccessedCache, AccessedCache>();
     });
 }
Example #5
0
        private ProjectRoot loadProject(FubuDocsDirectories directories)
        {
            var project = _loader.LoadProject("Application", directories.Host);

            project.Name     = "Host";
            project.Url      = "";
            project.Home.Url = string.Empty;

            project.Index.Descendents().Each(x => x.Url = x.Url.TrimStart('/'));
            return(project);
        }
Example #6
0
        public TopicLinkTag(ICurrentHttpRequest currentRequest, FubuDocsDirectories directories, Topic topic, string title) : base("a")
        {
            Attr("href", currentRequest.ToRelativeUrl(directories, topic.AbsoluteUrl));

            if (title.IsEmpty())
            {
                title = topic.Title;
            }
            Text(title);
            Attr("data-key", topic.Name);
        }
Example #7
0
        private void writeChildNodes(Topic node, HtmlTag tag, FubuDocsDirectories directories)
        {
            node.ChildNodes.Each(childTopic => {
                var li = tag.Add("li");

                li.Add("a").Attr("href", _currentRequest.ToRelativeUrl(directories, childTopic.AbsoluteUrl)).Text(childTopic.Title);

                if (childTopic.ChildNodes.Any())
                {
                    var ul = li.Add("ul");
                    writeChildNodes(childTopic, ul, directories);
                }
            });
        }
        public TopRightTopicNavigationTag(Topic node, ICurrentHttpRequest request, FubuDocsDirectories directories)
            : base("ul")
        {
            _request = request;
            AddClass("nav");
            Style("float", "right");

            Topic previous = node.FindPrevious();

            if (previous != null)
            {
                Add("li/a")
                .Attr("href", _request.ToRelativeUrl(directories, previous.AbsoluteUrl))
                .Text("Previous")
                .Attr("title", previous.Title);
            }

            Topic next = node.FindNext();

            if (next != null)
            {
                Add("li/a")
                .Attr("href", _request.ToRelativeUrl(directories, next.AbsoluteUrl))
                .Text("Next")
                .Attr("title", next.Title);
            }

            //Topic index = node.FindIndex();
            //if (index != null && !ReferenceEquals(node, index))
            //{
            //    Add("li/a")
            //        .Attr("href", index.AbsoluteUrl)
            //        .Text("Index")
            //        .Attr("title", index.Title);
            //}
        }
        public static void ConfigureLoaders(IPackageFacility x, FubuDocsDirectories directories)
        {
            // dirty, dirty hack
            if (directories.Host.IsNotEmpty())
            {
                FubuMvcPackageFacility.PhysicalRootPath = directories.Host.TrimEnd('/').TrimEnd('\\').ToFullPath();
            }

            x.Loader(new DocumentPackageLoader(directories.Solution));

            if (directories.Host.IsNotEmpty())
            {
                Console.WriteLine("Loading hosting application at " + directories.Host);
                x.Loader(new ApplicationRootPackageLoader(directories.Host));

                TopicLoader.ApplicationBottle = Path.GetFileName(directories.Host);
            }
            else
            {
                x.Loader(new CurrentDirectoryLoader(directories));
            }

            x.Loader(new FubuDocsPackageLoader());
        }
 public FubuDocsExportingApplication(FubuDocsDirectories directories)
 {
     _directories = directories;
 }
Example #11
0
 public NamedTopicLinkTag(Topic node, ICurrentHttpRequest currentRequest, FubuDocsDirectories directories)
     : base("li")
 {
     Add("a").Attr("href", currentRequest.ToRelativeUrl(directories, node.AbsoluteUrl)).Attr("data-key", node.Name).Text(node.Title + " ยป");
 }
Example #12
0
 public CurrentDirectoryLoader(FubuDocsDirectories directories)
 {
     _directories = directories;
 }
        public TopLeftTopicNavigationTag(Topic node, ICurrentHttpRequest currentRequest, FubuDocsDirectories directories) : base("ul")
        {
            AddClass("nav");

            var current = new NamedTopicLinkTag(node, currentRequest, directories);

            current.AddClass("active");

            Append(current);

            Topic parent = node.Parent;

            if (parent != null)
            {
                var tag = new NamedTopicLinkTag(parent, currentRequest, directories);
                Children.Insert(0, tag);
            }

            var index = node.FindIndex();

            if (index != null && !ReferenceEquals(node, index) && !ReferenceEquals(index, parent))
            {
                var indexTag = new NamedTopicLinkTag(node.Project.Index, currentRequest, directories);
                Children.Insert(0, indexTag);
            }
        }
Example #14
0
 public TopicTreeBuilder(ITopicContext context, ICurrentHttpRequest request, FubuDocsDirectories directories)
 {
     _request     = request;
     _directories = directories;
     _topic       = context.Current;
 }
 public RunFubuDocsRegistry(FubuDocsDirectories directories)
 {
     ReplaceSettings(directories);
     AlterSettings <SparkEngineSettings>(x => x.PrecompileViews = false);
     Policies.Add <OverrideChrome>();
 }