Angular link builder
How do I make an angular link builder?
What is a angular link builder? How do you make a angular link builder? This script and codes were developed by Jota Teles on 03 September 2022, Saturday.
Angular link builder - Script Codes HTML Codes
<!DOCTYPE html>
<html >
<head> <meta charset="UTF-8"> <title>Angular link builder</title>
</head>
<body> <div ng-app="blog"> <div link-builder> <div class="post-content"> <p>decoração fica muito legal na sua casa</p> <p>É mesmo, ADORO DECORAçÃO de casa</p> </div> </div>
</div> <script src='https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.5/angular.min.js'></script> <script src="js/index.js"></script>
</body>
</html>
Angular link builder - Script Codes JS Codes
angular.module('blog', ['link-builder']);
angular.module('link-builder', []);
angular.module('link-builder').provider('LinkBuilder', LinkBuilder);
angular.module('link-builder').directive('linkBuilder', LinkBuilderDirective);
angular.module('blog').config(config);
function config(LinkBuilderProvider){ var decoracaoRule = { keywords: ['decoração de casa', 'decoração', 'casa'], href: '/decoracao', }; var adoroRule = { keywords: ['adoro'], href: '/adoro', }; LinkBuilderProvider.configuration.addRule(decoracaoRule); LinkBuilderProvider.configuration.addRule(adoroRule);
}
function LinkBuilder(){ var configuration = { rules: [], addRule: addRule, addAllRules: addAllRules, }; function addRule(rule){ configuration.rules.push(rule); } function addAllRules(rules){ for(var i=0; i < rules.length; i++){ var rule = rules[i]; configuration.rules.push(rule); } } var provider = { $get: LinkBuilderModel, configuration: configuration } return provider; function LinkBuilderModel(){ var model = { configuration: configuration }; return model; }
}
function LinkBuilderDirective($compile, LinkBuilder){ var directive = { restrict: "AE", scope: {}, replace: true, transclude: true, template: '<ng-transclude></ng-transclude>', link: function(scope, element, attr, ctrl, transclude){ transclude(scope, function(content) { var htmlContentOriginal = content[1].innerHTML; var htmlContentReplaced = htmlContentOriginal; for(var i=0; i < LinkBuilder.configuration.rules.length; i++){ var keywords = LinkBuilder.configuration.rules[i].keywords; var href = LinkBuilder.configuration.rules[i].href; var replaceRegex = new RegExp("("+keywords.join("|")+")", "gi"); var replaceLink = '<a href="'+href+'" title="$1">$1</a>'; htmlContentReplaced = htmlContentReplaced.replace(replaceRegex, replaceLink); } var htmlToReplace = $compile(htmlContentReplaced)(scope); element.replaceWith(htmlToReplace); }); } }; return directive;
}
Developer | Jota Teles |
Username | teles |
Uploaded | September 03, 2022 |
Rating | 3 |
Size | 2,186 Kb |
Views | 26,312 |
Find the perfect freelance services for your business! Fiverr's mission is to change how the world works together. Fiverr connects businesses with freelancers offering digital services in 500+ categories. Find Developer!
Name | Size |
Popover | 2,248 Kb |
Infinite chocolate bar | 4,634 Kb |
ArrayMixer Playground | 3,677 Kb |
VD Modal Sample | 2,498 Kb |
Markpad | 2,015 Kb |
Teste do Staticman | 1,377 Kb |
Nes palette components | 3,850 Kb |
ArrayMixer | 3,053 Kb |
Link Builder Examples | 2,948 Kb |
A Pen by Jota Teles | 2,972 Kb |
Jasper is the AI Content Generator that helps you and your team break through creative blocks to create amazing, original content 10X faster. Discover all the ways the Jasper AI Content Platform can help streamline your creative workflows. Start For Free!
Name | Username | Size |
Prototype Responsive Homepage | Heyitsolivia | 7,677 Kb |
Css or Czz.. | Judag | 4,111 Kb |
Multi-step GSAP animation | Acacheung | 2,668 Kb |
HTML5 Breakout | Jaysalvat | 4,873 Kb |
Mobile Sub Menu Concept | Berdejitendra | 2,790 Kb |
Nested table email layout | Massimo-cassandro | 2,355 Kb |
Calculator - codevember 08 - 2016 | Caiocares | 3,260 Kb |
Single element checkbox | Ivijaygupta | 1,996 Kb |
Savemedia1.1 | EdsonAlcala | 2,148 Kb |
Flickering Light Text Effect | Mandymichael | 3,315 Kb |
Surf anonymously, prevent hackers from acquiring your IP address, send anonymous email, and encrypt your Internet connection. High speed, ultra secure, and easy to use. Instant setup. Hide Your IP Now!