Exemple #1
0
        public static string AwesomeDisplay(this IFubuPage page, object model)
        {
            var type   = model.GetType();
            var result = new StringBuilder();
            var tags   = page.Tags(model);
            var sl     = page.Get <IServiceLocator>();

            tags.SetProfile(AwesomeConfiguration.TagProfile);
            var tr = new HtmlTag("tr");

            foreach (var prop in getProperties(type))
            {
                var p = new SingleProperty(prop, type);
                var elementRequest = new ElementRequest(model, p, sl);
                var accessRight    = page.Get <IFieldAccessService>().RightsFor(elementRequest);


                HtmlTag display = tags.DisplayFor(elementRequest).Authorized(accessRight.Read);
                var     td      = new HtmlTag("td").Append(display);
                tr.Append(td);
            }
            var editLink = new LinkTag("Edit", page.EditUrlFor(model));

            tr.Append(new HtmlTag("td").Append(editLink));
            var deleteLink = new LinkTag("Delete", page.DeleteUrlFor(model));

            tr.Append(new HtmlTag("td").Append(deleteLink));
            result.Append(tr.ToString());

            return(result.ToString());
        }
Exemple #2
0
        public void Handle(CreateLinkCommand command)
        {
            var link = command.ConvertTo <Link>();

            UnitOfWork(db =>
            {
                db.Save(link);

                command.Id = link.Id;

                if (command.TagIds != null)
                {
                    foreach (var tagId in command.TagIds)
                    {
                        var linkTag = new LinkTag()
                        {
                            LinkId = command.Id,
                            TagId  = tagId
                        };

                        db.Save(linkTag);
                    }
                }
            });
        }
        public ActionResult WebsiteMenu(string menuSliderPartialView, string partialView, bool showSlider)
        {
            MenuViewModel menuViewModel = new MenuViewModel();

            menuViewModel.ShowSlider            = showSlider;
            menuViewModel.MenuPartialView       = partialView;
            menuViewModel.MenuSliderPartialView = menuSliderPartialView;

            if (showSlider)
            {
                string theme = "5E1A2906-F51C-4915-84D1-5FD49ED9C18B";
                string path  = Path.Combine(Server.MapPath("~/Content/" + theme + "/menu/"), partialView.ToLower());

                List <LinkTag> imageList = new List <LinkTag>();

                foreach (string image in Directory.GetFiles(path, "*.jpg"))
                {
                    LinkTag linkTag = new LinkTag();

                    linkTag.Src = "/" + image.Substring(Server.MapPath("~").Length).Replace("\\", "/");

                    imageList.Add(linkTag);
                }

                menuViewModel.ImageList = imageList;
            }

            return(PartialView(menuViewModel.MenuPartialView, menuViewModel));
        }
        public static HtmlTag TagList(List <string> tags)
        {
            tags ??= new List <string>();

            tags = tags.Where(x => !string.IsNullOrWhiteSpace(x)).Select(x => x.Trim()).ToList();

            if (!tags.Any())
            {
                return(HtmlTag.Empty());
            }

            var tagsContainer = new DivTag().AddClass("tags-container");

            tagsContainer.Children.Add(new DivTag().Text("Tags:").AddClass("tag-detail-label-tag"));

            foreach (var loopTag in tags)
            {
                var tagLinkContainer = new DivTag().AddClass("tags-detail-link-container");
                var tagLink          =
                    new LinkTag(loopTag.Replace("-", " "), UserSettingsSingleton.CurrentSettings().TagPageUrl(loopTag))
                    .AddClass("tag-detail-link");
                tagLinkContainer.Children.Add(tagLink);
                tagsContainer.Children.Add(tagLinkContainer);
            }

            return(tagsContainer);
        }
        public static HtmlTag PictureImgThumbWithLink(PictureAsset pictureAsset, string linkTo)
        {
            if (pictureAsset == null)
            {
                return(HtmlTag.Empty());
            }

            var imgTag = PictureImgTagWithSmallestDefaultSrc(pictureAsset);

            if (imgTag.IsEmpty())
            {
                return(HtmlTag.Empty());
            }

            imgTag.AddClass(pictureAsset.SmallPicture.Height > pictureAsset.SmallPicture.Width
                ? "thumb-vertical"
                : "thumb-horizontal");

            if (string.IsNullOrWhiteSpace(linkTo))
            {
                return(imgTag);
            }

            var outerLink = new LinkTag(string.Empty, linkTo);

            outerLink.Children.Add(imgTag);

            return(outerLink);
        }
            public static LinkTag ActionLink(this HtmlTag tag, string text, params string[] classes)
            {
                var child = new LinkTag(text, "#", classes);
                tag.Append(child);

                return child;
            }
Exemple #7
0
        public static string Process(string toProcess, IProgress <string> progress)
        {
            if (string.IsNullOrWhiteSpace(toProcess))
            {
                return(string.Empty);
            }

            var resultList = BracketCodeCommon.ContentBracketCodeMatches(toProcess, BracketCodeToken);

            var context = Db.Context().Result;

            foreach (var loopMatch in resultList)
            {
                var dbContent = context.FileContents.FirstOrDefault(x => x.ContentId == loopMatch.contentGuid);
                if (dbContent == null)
                {
                    continue;
                }

                progress?.Report($"Adding file download link {dbContent.Title} from Code");

                var settings = UserSettingsSingleton.CurrentSettings();

                var linkTag = new LinkTag(
                    string.IsNullOrWhiteSpace(loopMatch.displayText) ? dbContent.Title : loopMatch.displayText.Trim(),
                    dbContent.PublicDownloadLink
                        ? settings.FileDownloadUrl(dbContent)
                        : settings.FilePageUrl(dbContent), "file-download-link");

                toProcess = toProcess.Replace(loopMatch.bracketCodeText, linkTag.ToString());
            }

            return(toProcess);
        }
Exemple #8
0
        /// <summary>
        /// Get markdown 'tags' for a given style.
        /// </summary>
        /// <param name="styleName">The name of the style.</param>
        /// <param name="indent">The indent level.</param>
        /// <param name="url">The link url.</param>
        /// <returns></returns>
        private TextTag[] GetTags(string styleName, int indent, string url = null)
        {
            var tags     = new List <TextTag>();
            var styleTag = textView.Buffer.TagTable.Lookup(styleName);

            if (styleTag != null)
            {
                tags.Add(styleTag);
            }

            if (indent > 0)
            {
                var indentTag = textView.Buffer.TagTable.Lookup($"Indent{indent}");
                if (indentTag != null)
                {
                    tags.Add(indentTag);
                }
            }
            if (url != null)
            {
                // Only add the tag to the tag table if it doesn't already exist.
                // This does actually occur from time to time if a description
                // contains multiple links to the same target.
                var linkTag = textView.Buffer.TagTable.Lookup(url) as LinkTag;
                if (linkTag == null)
                {
                    linkTag            = new LinkTag(url);
                    linkTag.SizePoints = 12;
                    textView.Buffer.TagTable.Add(linkTag);
                }
                tags.Add(linkTag);
            }
            return(tags.ToArray());
        }
Exemple #9
0
        public static HtmlTag TagListTextLinkList(List <string> tags)
        {
            tags ??= new List <string>();

            tags = tags.Where(x => !string.IsNullOrWhiteSpace(x)).Select(x => x.Trim()).ToList();

            if (!tags.Any())
            {
                return(HtmlTag.Empty());
            }

            var tagsContainer = new HtmlTag("p");

            var innerContent = new List <string>();

            foreach (var loopTag in tags)
            {
                var tagLink =
                    new LinkTag(loopTag.Replace("-", " "), UserSettingsSingleton.CurrentSettings().TagPageUrl(loopTag))
                    .AddClass("tag-detail-link");
                innerContent.Add(tagLink.ToString());
            }

            tagsContainer.Text($"Tags: {string.Join(", ", innerContent)}").Encoded(false);

            return(tagsContainer);
        }
Exemple #10
0
        public static HtmlTag Menu(this IFubuPage page, string menuName = null)
        {
            var navigationService = page.Get <INavigationService>();
            var items             = navigationService.MenuFor(new NavigationKey(menuName ?? StringConstants.BlogName));
            var menu = new HtmlTag("ul");
            var user = page.GetUser();

            items.Each(x =>
            {
                var link = new LinkTag(x.Key, x.Url);
                var li   = new HtmlTag("li");
                li.AddClass(
                    string.Format("menu-item-{0}", x.Key.Replace(" ", string.Empty).ToLowerInvariant()));

                if (x.Key.Equals("Logout") && x.MenuItemState == MenuItemState.Available && user != null)
                {
                    var aTag = new LinkTag(string.Format("Welcome, {0}", user.FirstName), "/profile");
                    aTag.AddClass("user");
                    menu.Append(aTag);
                }

                if (x.MenuItemState == MenuItemState.Active)
                {
                    li.AddClass("current");
                }

                if (x.MenuItemState == MenuItemState.Active || x.MenuItemState == MenuItemState.Available)
                {
                    menu.Append(li.Append(link));
                }
            });

            return(menu);
        }
            public static LinkTag ActionLink(this HtmlTag tag, string text, params string[] classes)
            {
                var child = new LinkTag(text, "#", classes);

                tag.Append(child);

                return(child);
            }
Exemple #12
0
        public static HtmlTag FromContentCommon(IContentCommon content)
        {
            if (content == null)
            {
                return(HtmlTag.Empty());
            }

            var compactContentContainerDiv = new DivTag().AddClass("content-compact-container");

            var linkTo = UserSettingsSingleton.CurrentSettings().ContentUrl(content.ContentId).Result;

            if (content.MainPicture != null)
            {
                var compactContentMainPictureContentDiv =
                    new DivTag().AddClass("content-compact-image-content-container");

                var image = new PictureSiteInformation(content.MainPicture.Value);

                compactContentMainPictureContentDiv.Children.Add(Tags.PictureImgThumbWithLink(image.Pictures, linkTo));

                compactContentContainerDiv.Children.Add(compactContentMainPictureContentDiv);
            }

            var compactContentMainTextContentDiv = new DivTag().AddClass("content-compact-text-content-container");

            var compactContentMainTextTitleTextDiv =
                new DivTag().AddClass("content-compact-text-content-title-container");
            var compactContentMainTextTitleLink =
                new LinkTag(content.Title, linkTo).AddClass("content-compact-text-content-title-link");

            compactContentMainTextTitleTextDiv.Children.Add(compactContentMainTextTitleLink);

            HtmlTag compactContentSummaryTextDiv;

            if (content.MainPicture == null)
            {
                compactContentSummaryTextDiv = new DivTag().AddClass("content-compact-text-content-summary")
                                               .Text(content.Summary);
            }
            else
            {
                compactContentSummaryTextDiv = new DivTag().AddClass("content-compact-text-content-optional-summary")
                                               .Text(content.Summary);
            }

            var compactContentMainTextCreatedOrUpdatedTextDiv = new DivTag()
                                                                .AddClass("content-compact-text-content-date")
                                                                .Text(Tags.LatestCreatedOnOrUpdatedOn(content)?.ToString("M/d/yyyy") ?? string.Empty);

            compactContentMainTextContentDiv.Children.Add(compactContentMainTextTitleTextDiv);
            compactContentMainTextContentDiv.Children.Add(compactContentSummaryTextDiv);
            compactContentMainTextContentDiv.Children.Add(compactContentMainTextCreatedOrUpdatedTextDiv);

            compactContentContainerDiv.Children.Add(compactContentMainTextContentDiv);

            return(compactContentContainerDiv);
        }
Exemple #13
0
        public HtmlTag PhotoFigureWithLinkToPageTag(PhotoContent dbEntry, string sizes)
        {
            var figureTag = new HtmlTag("figure").AddClass("single-photo-container");
            var linkTag   = new LinkTag(string.Empty, PageUrl);

            linkTag.Children.Add(Tags.PictureImgTag(Pictures, sizes, true));
            figureTag.Children.Add(linkTag);
            return(figureTag);
        }
Exemple #14
0
        public async Task CheckLinkSubresourceIntegrity(LinkTag linkTag)
        {
            string expectedIntegrity = await GetShaIntegrity(linkTag);

            if (!expectedIntegrity.Equals(linkTag.Integrity, StringComparison.OrdinalIgnoreCase))
            {
                Assert.False(true, $"Expected {linkTag.HRef} to have Integrity '{expectedIntegrity}' but it had '{linkTag.Integrity}'.");
            }
        }
Exemple #15
0
        public HtmlTag ImageFigureWithCaptionAndLinkToPageTag(ImageContent dbEntry, string sizes)
        {
            var figureTag = new HtmlTag("figure").AddClass("single-image-container");
            var linkTag   = new LinkTag(string.Empty, PageUrl);

            linkTag.Children.Add(Tags.PictureImgTag(Pictures, sizes, true));
            figureTag.Children.Add(linkTag);
            figureTag.Children.Add(Tags.ImageFigCaptionTag(dbEntry));
            return(figureTag);
        }
Exemple #16
0
        public HtmlTag BuildLeafTag(ISpecNode node)
        {
            return(new HtmlTag("li", tag =>
            {
                var url = _urls.UrlFor(node.Path());
                var link = new LinkTag(node.Path().Parts.Last(), url);

                tag.Add("span").AddClass("file").Append(link);
            }));
        }
Exemple #17
0
        public object Post(CreateLinkRequest request)
        {
            var link = request.ConvertTo <Link>();

            link.SessionId = Session.Id;
            link.CreatedAt = DateTime.UtcNow;

            if (link.Key.IsNullOrEmpty())
            {
                var currentIterator = StartKeyLength * 10;
                do
                {
                    ++currentIterator;
                    link.Key = KeyValidator.GenerateKey(currentIterator / 10);
                } while (_linkRepo.KeyExists(link.Key));
            }

            UnitOfWork(() =>
            {
                _linkRepo.Create(link);

                if (request.Tags != null)
                {
                    link.LinkTags = new List <LinkTag>();

                    var tagsDict = _tagRepo.GetTagsDictionary();

                    foreach (var tag in request.Tags)
                    {
                        if (!tagsDict.ContainsKey(tag))
                        {
                            throw HttpError.NotFound($"Tag '{tag}' not found.");
                        }

                        var linkTag = new LinkTag()
                        {
                            LinkId = link.Id,
                            TagId  = tagsDict[tag].Id
                        };

                        link.LinkTags.Add(linkTag);
                    }

                    _linkRepo.SetLinkTags(link.Id, link.LinkTags);
                }

                PublishMessage(new CreateLinkScreenshotRequest()
                {
                    Id = link.Id
                });
            });

            return(_linkRepo.GetLinkResponse(link.Id));
        }
        public void should_have_li_child_element_when_add_item_child()
        {
            var child = new LinkTag("foo", "url");
            _listTag.AddItem(child);

            _listTag.Children.ShouldHaveCount(1);
            var item = _listTag.Children.First();
            item.TagName().ShouldEqual("li");
            item.Children.ShouldHaveCount(1);
            item.Children.First().ShouldEqual(child);
        }
Exemple #19
0
        protected static HtmlTag ShowCardActionRender(TypedElement actionElement, RenderContext context)
        {
            ShowCardAction action = (ShowCardAction)actionElement;

            if (context.Config.SupportsInteractivity)
            {
                var uiButton = new LinkTag(action.Title, null, $"ac-{action.Type.Replace(".", "").ToLower()}", "ac-action");
                return(uiButton);
            }
            return(null);
        }
        public void SetUp()
        {
            _txt = "some text";
            _href = "href";
            _class1 = "class1";
            _class2 = "class2";
            _textLink = new LinkTag(_txt, _href, _class1, _class2);

            _imgTag = new ImageTag("image.jpg", "its an image");
            _imgLink = new LinkTag(_imgTag, _href, _class1, _class2);
        }
        public static HtmlTag RelatedContentDiv(IContentCommon post)
        {
            if (post == null)
            {
                return(HtmlTag.Empty());
            }

            var relatedPostContainerDiv = new DivTag().AddClass("related-post-container");

            if (post.MainPicture != null)
            {
                var relatedPostMainPictureContentDiv = new DivTag().AddClass("related-post-image-content-container");

                var image = new PictureSiteInformation(post.MainPicture.Value);

                relatedPostMainPictureContentDiv.Children.Add(Tags.PictureImgThumbWithLink(image.Pictures,
                                                                                           UserSettingsSingleton.CurrentSettings().ContentUrl(post.ContentId).Result));

                relatedPostContainerDiv.Children.Add(relatedPostMainPictureContentDiv);
            }

            var relatedPostMainTextContentDiv = new DivTag().AddClass("related-post-text-content-container");

            var relatedPostMainTextTitleTextDiv = new DivTag().AddClass("related-post-text-content-title-container");

            HtmlTag relatedPostMainTextTitleLink;

            if (post.MainPicture == null)
            {
                relatedPostMainTextTitleLink =
                    new LinkTag($"{post.Title} - {post.Summary}",
                                UserSettingsSingleton.CurrentSettings().ContentUrl(post.ContentId).Result)
                    .AddClass("related-post-text-content-title-link");
            }
            else
            {
                relatedPostMainTextTitleLink =
                    new LinkTag(post.Title, UserSettingsSingleton.CurrentSettings().ContentUrl(post.ContentId).Result)
                    .AddClass("related-post-text-content-title-link");
            }

            relatedPostMainTextTitleTextDiv.Children.Add(relatedPostMainTextTitleLink);

            var relatedPostMainTextCreatedOrUpdatedTextDiv = new DivTag().AddClass("related-post-text-content-date")
                                                             .Text(Tags.LatestCreatedOnOrUpdatedOn(post)?.ToString("M/d/yyyy") ?? string.Empty);

            relatedPostMainTextContentDiv.Children.Add(relatedPostMainTextTitleTextDiv);
            relatedPostMainTextContentDiv.Children.Add(relatedPostMainTextCreatedOrUpdatedTextDiv);

            relatedPostContainerDiv.Children.Add(relatedPostMainTextContentDiv);

            return(relatedPostContainerDiv);
        }
        public static HtmlTag EmailSimpleFooter()
        {
            var footer = new HtmlTag("h4");

            footer.Style("text-align", "center");
            var siteLink = new LinkTag(UserSettingsSingleton.CurrentSettings().SiteUrl,
                                       @$ "https://{UserSettingsSingleton.CurrentSettings().SiteUrl}");

            footer.Children.Add(siteLink);

            return(footer);
        }
        public static IHtmlString ButtonLink <T>(this HtmlHelper <T> helper, string actionUrl, string text)
        {
            var urlHelper = helper.UrlHelper();

            var linkText = new HtmlTag("span").AddClasses("link-text").Text(text);

            var anchor = new LinkTag(null, urlHelper.Content(actionUrl))
                         .AddClasses("button", "button--primary")
                         .Title(text)
                         .Append(linkText);

            return(anchor);
        }
        public static HtmlTag TitleLinkDiv(ITitleSummarySlugFolder content, IContentId id)
        {
            var titleContainer = new HtmlTag("div").AddClass("title-link-container");

            var header         = new HtmlTag("h1").AddClass("title-link-content");
            var linkToFullPost = new LinkTag(content.Title,
                                             UserSettingsSingleton.CurrentSettings().ContentUrl(id.ContentId).Result);

            header.Children.Add(linkToFullPost);

            titleContainer.Children.Add(header);

            return(titleContainer);
        }
        public static HtmlTag NoteTitleLinkDiv(NoteContent dbEntry)
        {
            var settings = UserSettingsSingleton.CurrentSettings();

            var titleContainer = new HtmlTag("div").AddClass("title-link-container");

            var header         = new HtmlTag("h2").AddClass("title-link-content");
            var linkToFullPost = new LinkTag(dbEntry.Title, settings.NotePageUrl(dbEntry));

            header.Children.Add(linkToFullPost);

            titleContainer.Children.Add(header);

            return(titleContainer);
        }
        public static async Task <HtmlTag> EmailSimpleTitle(dynamic content)
        {
            Guid   contentId = content.ContentId;
            string title     = content.Title;

            var header = new HtmlTag("h3");

            header.Style("text-align", "center");
            var postAddress = $"https:{await UserSettingsSingleton.CurrentSettings().ContentUrl(contentId)}";
            var postLink    = new LinkTag($"{UserSettingsSingleton.CurrentSettings().SiteName} - {title}", postAddress);

            header.Children.Add(postLink);

            return(header);
        }
        public async Task CheckLinkSubresourceIntegrity(LinkTag linkTag)
        {
            string expectedIntegrity;

            using (var responseStream = await _httpClient.GetStreamAsync(linkTag.HRef))
                using (var alg = SHA256.Create())
                {
                    var hash = alg.ComputeHash(responseStream);
                    expectedIntegrity = "sha256-" + Convert.ToBase64String(hash);
                }

            if (!expectedIntegrity.Equals(linkTag.Integrity, StringComparison.OrdinalIgnoreCase))
            {
                Assert.False(true, $"Expected {linkTag.HRef} to have Integrity '{expectedIntegrity}' but it had '{linkTag.Integrity}'.");
            }
        }
        public static string SpecialPagesCodeProcess(string toProcess, IProgress <string> progress)
        {
            if (string.IsNullOrWhiteSpace(toProcess))
            {
                return(string.Empty);
            }

            progress?.Report("Searching for Special Page Codes");

            var specialPageLookup = new List <(string bracketCode, string defaultDisplayString, string url)>
            {
                ("index", "Main", $"https:{UserSettingsSingleton.CurrentSettings().IndexPageUrl()}"),
                ("indexrss", "Main Page RSS Feed",
                 $"https:{UserSettingsSingleton.CurrentSettings().RssIndexFeedUrl()}"),
                ("filerss", "Files RSS Feed", $"https:{UserSettingsSingleton.CurrentSettings().FileRssUrl()}"),
                ("imagerss", "Images RSS Feed", $"https:{UserSettingsSingleton.CurrentSettings().ImageRssUrl()}"),
                ("linkrss", "Links RSS Feed", $"https:{UserSettingsSingleton.CurrentSettings().LinkRssUrl()}"),
                ("noterss", "Notes RSS Feed", $"https:{UserSettingsSingleton.CurrentSettings().NoteRssUrl()}"),
                ("photorss", "Photo Gallery RSS Feed",
                 $"https:{UserSettingsSingleton.CurrentSettings().PhotoRssUrl()}"),
                ("photogallerypage", "Photos",
                 $"https:{UserSettingsSingleton.CurrentSettings().CameraRollPhotoGalleryUrl()}"),
                ("searchpage", "Search", $"https:{UserSettingsSingleton.CurrentSettings().AllContentListUrl()}"),
                ("tagspage", "Tags", $"https:{UserSettingsSingleton.CurrentSettings().AllTagsListUrl()}"),
                ("linklistpage", "Links", $"https:{UserSettingsSingleton.CurrentSettings().LinkListUrl()}")
            };

            foreach (var loopLookups in specialPageLookup)
            {
                var matches = BracketCodeCommon.SpecialPageBracketCodeMatches(toProcess, loopLookups.bracketCode);

                foreach (var loopMatch in matches)
                {
                    progress?.Report($"Adding Special Page {loopLookups.bracketCode} from Code");

                    var linkTag =
                        new LinkTag(
                            string.IsNullOrWhiteSpace(loopMatch.displayText)
                                ? loopLookups.defaultDisplayString
                                : loopMatch.displayText.Trim(), loopLookups.url, "special-page-link");

                    toProcess = toProcess.Replace(loopMatch.bracketCodeText, linkTag.ToString());
                }
            }

            return(toProcess);
        }
Exemple #29
0
        public static HtmlTag DownloadLinkTag(FileContent content)
        {
            if (!content.PublicDownloadLink)
            {
                return(HtmlTag.Empty());
            }

            var downloadLinkContainer = new DivTag().AddClass("file-download-container");

            var settings     = UserSettingsSingleton.CurrentSettings();
            var downloadLink =
                new LinkTag("Download", settings.FileDownloadUrl(content)).AddClass("file-download-link");

            downloadLinkContainer.Children.Add(downloadLink);

            return(downloadLinkContainer);
        }
        public void VisitLinkTag(LinkTag link)
        {
            if (this._isPreTag)
            {
                this._results.Append(link.GetLinkText());
            }
            else
            {
                this.Collapse(this._results, Translate.Decode(link.GetLinkText()));
            }

            if (this.GetLinks())
            {
                this._results.Append("<");
                this._results.Append(link.GetLink());
                this._results.Append(">");
            }
        }
        public ActionResult WebsiteMenu2(string menuSliderPartialView, string partialView, bool showSlider, string maparea)
        {
            MenuViewModel menuViewModel = new MenuViewModel();

            menuViewModel.ShowSlider            = showSlider;
            menuViewModel.MenuPartialView       = partialView;
            menuViewModel.MenuSliderPartialView = menuSliderPartialView;

            if (showSlider)
            {
                string theme = "5E1A2906-F51C-4915-84D1-5FD49ED9C18B";
                string path  = Path.Combine(Server.MapPath("~/Content/" + theme + "/menu/"), partialView.ToLower());

                List <LinkTag> imageList = new List <LinkTag>();

                string[] images   = Directory.GetFiles(path, "*.jpg");
                string[] mapareas = new string[0];

                if (!string.IsNullOrEmpty(maparea))
                {
                    mapareas = maparea.Split('|');
                }

                for (int i = 0; i < images.Length; i++)
                {
                    LinkTag linkTag = new LinkTag();

                    linkTag.Src = "/" + images[i].Substring(Server.MapPath("~").Length).Replace("\\", "/");

                    if (mapareas.Length > 0 && i < mapareas.Length)
                    {
                        linkTag.Usemap = mapareas[i];
                    }

                    imageList.Add(linkTag);
                }

                menuViewModel.ImageList = imageList;
            }

            return(PartialView(menuViewModel.MenuPartialView, menuViewModel));
        }
Exemple #32
0
        public HtmlTag TopTag(HtmlTag topChild)
        {
            if (topChild.TagName() != "ul")
            {
                throw new ArgumentOutOfRangeException("Only ul tags are valid here:  \n" + topChild.ToString());
            }

            var topUrl = _urls.UrlFor <JasminePages>(x => x.AllSpecs(), null);

            return(new HtmlTag("ul", tag =>
            {
                tag.Id("all-specs-node").AddClass("filetree");

                var link = new LinkTag("All Specs", topUrl, "all-specs");
                var li = tag.Add("li");
                li.Add("span").AddClass("folder").Append(link);

                li.Append(topChild);
            }));
        }
Exemple #33
0
        public static string Process(string toProcess, IProgress <string> progress)
        {
            if (string.IsNullOrWhiteSpace(toProcess))
            {
                return(string.Empty);
            }

            progress?.Report("Searching for GeoJson Link Codes...");

            var resultList = BracketCodeCommon.ContentBracketCodeMatches(toProcess, BracketCodeToken);

            if (!resultList.Any())
            {
                return(toProcess);
            }

            var context = Db.Context().Result;

            foreach (var loopMatch in resultList)
            {
                var dbContent = context.GeoJsonContents.FirstOrDefault(x => x.ContentId == loopMatch.contentGuid);
                if (dbContent == null)
                {
                    continue;
                }

                progress?.Report($"Adding GeoJson Link {dbContent.Title} from Code");

                var linkTag =
                    new LinkTag(
                        string.IsNullOrWhiteSpace(loopMatch.displayText)
                            ? dbContent.Title
                            : loopMatch.displayText.Trim(),
                        UserSettingsSingleton.CurrentSettings().GeoJsonPageUrl(dbContent), "geojson-page-link");

                toProcess = toProcess.Replace(loopMatch.bracketCodeText, linkTag.ToString());
            }

            return(toProcess);
        }
Exemple #34
0
 public void test_normal()
 {
     LinkTag lt = new LinkTag();
     string bbcode = "[url]http://click me[/url]";
     string expected = "<a href=\"http://click%20me\">http://click me</a>";
     string actual = BBCode.ToHtml(bbcode,
                                   new Dictionary<string, BaseTagHandler> {
                                       {"url", lt}
                                   });
     Assert.AreEqual(expected, actual);
 }
Exemple #35
0
 public void test_space_in_src_value()
 {
     LinkTag lt = new LinkTag();
     string bbcode = "[url src=\"http://some url\"]Click me[/url]";
     string expected = "<a href=\"http://some%20url\">Click me</a>";
     string actual = BBCode.ToHtml(bbcode,
                                   new Dictionary<string, BaseTagHandler> {
                                       {"url", lt}
                                   });
     Assert.AreEqual(expected, actual);
 }
Exemple #36
0
 public void test_attributes()
 {
     LinkTag lt = new LinkTag("style=\"display:none\"");
     string bbcode = "[url]foo[/url]";
     string expected = "<a href=\"foo\" style=\"display:none\">foo</a>";
     string actual = BBCode.ToHtml(bbcode,
                                   new Dictionary<string, BaseTagHandler> {
                                       {"url", lt}
                                   });
     Assert.AreEqual(expected, actual);
 }
Exemple #37
0
 public void test_redundant_attribute()
 {
     LinkTag lt = new LinkTag();
     string bbcode = "[url src=\"http://some.url\" xxx=yyy]Click me[/url]";
     string expected = "<a href=\"http://some.url\"%20xxx=yyy\">Click me</a>";
     string actual = BBCode.ToHtml(bbcode,
                                   new Dictionary<string, BaseTagHandler> {
                                       {"url", lt}
                                   });
     Assert.AreEqual(expected, actual);
 }
Exemple #38
0
 public void test_prefix_with_src()
 {
     LinkTag lt = new LinkTag(null, "mailto:");
     string bbcode = "[email src=foo]bar[/email]";
     string expected = "<a href=\"mailto:foo\">bar</a>";
     string actual = BBCode.ToHtml(bbcode,
                                   new Dictionary<string, BaseTagHandler> {
                                       {"email", lt}
                                   });
     Assert.AreEqual(expected, actual);
 }
Exemple #39
0
 public void test_empty_body()
 {
     LinkTag lt = new LinkTag();
     string bbcode = "[url src=somewhere][/url]";
     string expected = "<a href=\"somewhere\">somewhere</a>";
     string actual = BBCode.ToHtml(bbcode,
                                   new Dictionary<string, BaseTagHandler> {
                                       {"url", lt}
                                   });
     Assert.AreEqual(expected, actual);
 }