├── .nvmrc
├── src
├── assets
│ ├── .gitkeep
│ ├── logo.png
│ ├── favicon.ico
│ ├── icons
│ │ ├── icon.xcf
│ │ ├── icon-72x72.png
│ │ ├── icon-96x96.png
│ │ ├── icon-128x128.png
│ │ ├── icon-144x144.png
│ │ ├── icon-152x152.png
│ │ ├── icon-192x192.png
│ │ ├── icon-384x384.png
│ │ └── icon-512x512.png
│ ├── codingmarks-logo.png
│ ├── codingmarks-logo.xcf
│ ├── img
│ │ ├── user-generic.jpeg
│ │ ├── gravatar-default.jpg
│ │ ├── search-bar-example.png
│ │ ├── public-vs-private-bookmarks.png
│ │ └── public-vs-private-bookmarks-big.png
│ ├── bookmarks.dev.logo.xcf
│ ├── codingmarks-favicon.ico
│ ├── codingmarks-logo-md.png
│ ├── bookmarks-dev-context.png
│ ├── bookmarks.dev-logo-md.png
│ ├── fb-twitter-bookmarks.dev.png
│ └── fb-twitter-bookmarks.dev.xcf
├── app
│ ├── public
│ │ ├── howto
│ │ │ ├── howto.component.scss
│ │ │ ├── howto.component.ts
│ │ │ └── howto.component.spec.ts
│ │ ├── bookmarklets
│ │ │ ├── bookmarklet.component.scss
│ │ │ ├── bookmarklet.component.ts
│ │ │ └── bookmarklet.component.spec.ts
│ │ ├── tag
│ │ │ ├── tag.component.css
│ │ │ ├── tag.component.spec.ts
│ │ │ ├── tag.service.ts
│ │ │ └── tag.component.html
│ │ ├── about
│ │ │ ├── about.component.scss
│ │ │ ├── about.component.ts
│ │ │ ├── about.component.spec.ts
│ │ │ └── about.component.html
│ │ ├── privacy
│ │ │ ├── privacy-policy.component.scss
│ │ │ ├── privacy-policy.component.ts
│ │ │ └── privacy-policy.component.spec.ts
│ │ ├── terms
│ │ │ ├── terms-of-service.component.scss
│ │ │ ├── terms-of-service.component.ts
│ │ │ └── terms-of-service.component.spec.ts
│ │ ├── search
│ │ │ ├── bookmark-search.component.scss
│ │ │ └── bookmarks-search.component.html
│ │ ├── user-public-profile
│ │ │ ├── user-public-profile.component.scss
│ │ │ ├── user-public-profile.component.spec.ts
│ │ │ └── user-public.service.ts
│ │ ├── bookmarks
│ │ │ ├── homepage.component.scss
│ │ │ ├── public-bookmarks.service.ts
│ │ │ └── store
│ │ │ │ └── public-bookmarks-store.service.ts
│ │ ├── public.module.ts
│ │ └── public-routing.module.ts
│ ├── user-settings
│ │ ├── user-settings.component.scss
│ │ ├── user-profile
│ │ │ ├── user-profile.component.scss
│ │ │ ├── image-upload.service.ts
│ │ │ └── user-profile.component.spec.ts
│ │ ├── user-settings.component.spec.ts
│ │ ├── user-settings.component.ts
│ │ ├── user-settings.component.html
│ │ └── user-settings.module.ts
│ ├── user
│ │ └── dashboard
│ │ │ ├── user-dashboard.component.scss
│ │ │ ├── followers
│ │ │ ├── followers.component.scss
│ │ │ ├── followers.component.ts
│ │ │ ├── followers.component.spec.ts
│ │ │ └── followers.component.html
│ │ │ ├── following
│ │ │ ├── following.component.scss
│ │ │ ├── following.component.spec.ts
│ │ │ ├── following.component.ts
│ │ │ └── following.component.html
│ │ │ ├── user-bookmarks
│ │ │ ├── user-bookmarks.component.scss
│ │ │ ├── user-bookmarks.component.spec.ts
│ │ │ ├── user-bookmarks.component.html
│ │ │ └── user-bookmarks.component.ts
│ │ │ ├── saved-searches
│ │ │ ├── delete-saved-search-dialog
│ │ │ │ ├── delete-saved-search-dialog.component.scss
│ │ │ │ ├── delete-saved-search-dialog.component.html
│ │ │ │ └── delete-saved-search-dialog.component.ts
│ │ │ ├── saved-searches.component.scss
│ │ │ ├── saved-searches.component.spec.ts
│ │ │ ├── saved-searches.component.html
│ │ │ └── saved-searches.component.ts
│ │ │ ├── tags
│ │ │ ├── delete-bookmarks-by-tag-dialog
│ │ │ │ ├── delete-bookmarks-by-tag-dialog.component.scss
│ │ │ │ ├── delete-bookmarks-by-tag-dialog.component.html
│ │ │ │ └── delete-bookmarks-by-tag-dialog.component.ts
│ │ │ ├── user-tags.component.scss
│ │ │ └── user-tags.component.spec.ts
│ │ │ ├── user-dashboard.component.spec.ts
│ │ │ ├── user-dashboard.component.ts
│ │ │ ├── user-dashboard.component.html
│ │ │ └── user-dashboard.module.ts
│ ├── codelet
│ │ ├── codelet-details
│ │ │ ├── codelet-details.component.scss
│ │ │ ├── codelet-details.component.spec.ts
│ │ │ ├── codelet-details.component.ts
│ │ │ └── codelet-details.component.html
│ │ ├── async-codelet-list
│ │ │ ├── async-codelet-list.component.scss
│ │ │ ├── codelet-code-snippets
│ │ │ │ ├── codelet-card-body.component.scss
│ │ │ │ ├── codelet-card-body.component.ts
│ │ │ │ └── codelet-card-body.component.html
│ │ │ ├── async-codelet-list.component.spec.ts
│ │ │ ├── async-codelet-list.component.ts
│ │ │ └── async-codelet-list.component.html
│ │ ├── copy-snippet-button
│ │ │ ├── copy-snippet-button.component.scss
│ │ │ ├── copy-snippet-button.component.html
│ │ │ ├── copy-snippet-button.component.spec.ts
│ │ │ └── copy-snippet-button.component.ts
│ │ ├── delete-codelet-dialog
│ │ │ ├── delete-codelet-dialog.component.scss
│ │ │ ├── delete-codelet-dialog.component.html
│ │ │ ├── delete-bookmark-dialog.component.spec.ts
│ │ │ └── delete-codelet-dialog.component.ts
│ │ ├── update
│ │ │ ├── update-codelet.component.html
│ │ │ ├── update-codelet.component.scss
│ │ │ └── update-codelet.component.ts
│ │ ├── create
│ │ │ ├── create-codelet.component.html
│ │ │ ├── create-codelet.component.scss
│ │ │ └── create-codelet.component.ts
│ │ ├── save-codelet-form
│ │ │ └── save-codelet-form.component.scss
│ │ └── codelet.module.ts
│ ├── core
│ │ ├── model
│ │ │ ├── pagination-action.ts
│ │ │ ├── webpage-info.ts
│ │ │ ├── used-tag.ts
│ │ │ ├── user-data-profile.ts
│ │ │ ├── user-info.oidc.ts
│ │ │ ├── user-public-data.ts
│ │ │ ├── rate-bookmark.request.ts
│ │ │ ├── tags.ts
│ │ │ ├── codelet.ts
│ │ │ ├── bookmark.ts
│ │ │ └── user-data.ts
│ │ ├── error
│ │ │ ├── error.model.ts
│ │ │ ├── error.service.ts
│ │ │ ├── error.component.html
│ │ │ └── error.component.ts
│ │ ├── logger.service.ts
│ │ ├── loader
│ │ │ ├── loader.service.ts
│ │ │ ├── loader.service.spec.ts
│ │ │ ├── loader-interceptor.service.spec.ts
│ │ │ └── loader-interceptor.service.ts
│ │ ├── navigation
│ │ │ ├── navigation.component.scss
│ │ │ └── navigation.component.ts
│ │ ├── user
│ │ │ ├── notify-stores.service.ts
│ │ │ ├── user-info.service.ts
│ │ │ ├── user-info.store.ts
│ │ │ ├── suggested-tags.store.ts
│ │ │ ├── feed-store.service.ts
│ │ │ └── userdata.watched-tags.store.ts
│ │ ├── pagination-notification.service.ts
│ │ ├── validators
│ │ │ └── text-size.validator.ts
│ │ ├── keycloak-service-wrapper.service.ts
│ │ ├── admin
│ │ │ └── admin.service.ts
│ │ ├── webpage-info
│ │ │ └── webpage-info.service.ts
│ │ ├── auth
│ │ │ └── auth-guard.service.ts
│ │ └── personal-codelets.service.ts
│ ├── shared
│ │ ├── social-share-dialog
│ │ │ ├── social-share-dialog.component.scss
│ │ │ ├── social-share-dialog.component.html
│ │ │ └── social-share-dialog.component.ts
│ │ ├── delete-bookmark-dialog
│ │ │ ├── delete-bookmark-dialog.component.scss
│ │ │ ├── delete-bookmark-dialog.component.spec.ts
│ │ │ ├── delete-bookmark-dialog.component.html
│ │ │ └── delete-bookmark-dialog.component.ts
│ │ ├── login-required-dialog
│ │ │ ├── login-required-dialog.component.scss
│ │ │ ├── login-required-dialog.component.html
│ │ │ └── login-required-dialog.component.ts
│ │ ├── loader
│ │ │ ├── loader.component.html
│ │ │ ├── loader.component.css
│ │ │ └── loader.component.ts
│ │ ├── play-youtube-video-dialog
│ │ │ ├── play-youtube-video-dialog.component.scss
│ │ │ ├── play-youtube-video-dialog.component.html
│ │ │ ├── play-youtube-video-dialog.component.spec.ts
│ │ │ └── play-youtube-video-dialog.component.ts
│ │ ├── bookmark-text.component.scss
│ │ ├── bookmark-text.component.html
│ │ ├── highlight.no-html-tags.pipe.ts
│ │ ├── async-bookmark-list.component.scss
│ │ ├── highlight.pipe.ts
│ │ ├── codelet-common-tags.ts
│ │ ├── bookmark-text.component.ts
│ │ ├── highlight.pipe.spec.ts
│ │ ├── tags-validation.directive.ts
│ │ ├── tag-following-base-component
│ │ │ └── tag-following-base.component.ts
│ │ ├── shared.module.ts
│ │ └── code-snippet-language-options.ts
│ ├── personal
│ │ ├── update
│ │ │ ├── update-personal-bookmark.component.html
│ │ │ ├── update-personal-bookmark.component.scss
│ │ │ └── update-personal-bookmark.component.ts
│ │ ├── save-bookmark-form
│ │ │ ├── public-bookmark-present-dialog
│ │ │ │ ├── public-bookmark-present-dialog.component.scss
│ │ │ │ ├── public-bookmark-present-dialog.component.html
│ │ │ │ └── public-bookmark-present-dialog.component.ts
│ │ │ └── save-bookmark-form.component.scss
│ │ ├── copy-to-mine
│ │ │ ├── copy-to-mine-bookmark.component.html
│ │ │ ├── copy-to-min-bookmark.component.scss
│ │ │ └── copy-to-mine-bookmark.component.ts
│ │ ├── create
│ │ │ ├── create-personal-bookmark.component.html
│ │ │ ├── create-personal-bookmark.component.scss
│ │ │ └── create-personal-bookmark.component.ts
│ │ ├── personal-bookmarks.component.ts
│ │ ├── markdown.service.ts
│ │ ├── markdown.service.spec.ts
│ │ ├── personal-bookmarks-routing.module.ts
│ │ └── personal-bookmarks.module.ts
│ ├── app.component.scss
│ ├── not-found.component.ts
│ ├── app.component.ts
│ ├── app.service.ts
│ ├── social-buttons
│ │ ├── social-buttons.module.ts
│ │ ├── fb-share.component.ts
│ │ └── tweet.component.ts
│ ├── app.component.e2e-spec.js
│ ├── app.component.html
│ ├── app.routing.ts
│ └── app-init.ts
├── typings.d.ts
├── _variables.scss
├── tsconfig.app.json
├── tsconfig.spec.json
├── main.ts
├── environments
│ ├── environment.ts
│ ├── environment.non-docker.ts
│ ├── environment.prod.ts
│ └── environment.prod-backend.local-testing.ts
├── test.ts
├── manifest.json
├── index.html
└── polyfills.ts
├── temp.md
├── documentation
├── graphviz
│ ├── components-graph.png
│ ├── how-to-generate-png.md
│ └── components-graph.gv
├── chrome-extension
│ └── img
│ │ ├── tiles-chorme-extension-for-store.png
│ │ ├── screenshot-chorme-extension-for-store.png
│ │ └── screenshot-chrom-extension-explanation.png
└── regression-tests.yaml
├── .editorconfig
├── tsconfig.json
├── .gitignore
├── ngsw-config.json
├── protractor.conf.js
├── LICENSE
├── karma.conf.js
└── package.json
/.nvmrc:
--------------------------------------------------------------------------------
1 | 10.15.0
2 |
--------------------------------------------------------------------------------
/src/assets/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/app/public/howto/howto.component.scss:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/app/user-settings/user-settings.component.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/app/user/dashboard/user-dashboard.component.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/app/user/dashboard/followers/followers.component.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/app/codelet/codelet-details/codelet-details.component.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/app/public/bookmarklets/bookmarklet.component.scss:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/app/user/dashboard/following/following.component.scss:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/app/codelet/async-codelet-list/async-codelet-list.component.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/app/codelet/copy-snippet-button/copy-snippet-button.component.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/temp.md:
--------------------------------------------------------------------------------
1 | ## pagination
2 | 1. Next gets disabled when I delete a bookmark....
3 |
--------------------------------------------------------------------------------
/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodepediaOrg/bookmarks.dev-frontend-only-archive/HEAD/src/assets/logo.png
--------------------------------------------------------------------------------
/src/app/core/model/pagination-action.ts:
--------------------------------------------------------------------------------
1 | export interface PaginationAction {
2 | caller: string;
3 | page: number;
4 | }
5 |
--------------------------------------------------------------------------------
/src/app/user/dashboard/user-bookmarks/user-bookmarks.component.scss:
--------------------------------------------------------------------------------
1 | .my-bookmarks-btn-group {
2 | margin-top: 1rem;
3 | }
4 |
--------------------------------------------------------------------------------
/src/assets/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodepediaOrg/bookmarks.dev-frontend-only-archive/HEAD/src/assets/favicon.ico
--------------------------------------------------------------------------------
/src/app/public/tag/tag.component.css:
--------------------------------------------------------------------------------
1 | .tagged_header_wrapper {
2 | display: flex;
3 | justify-content: space-between;
4 | }
5 |
--------------------------------------------------------------------------------
/src/app/shared/social-share-dialog/social-share-dialog.component.scss:
--------------------------------------------------------------------------------
1 | .app-dialog-actions {
2 | margin-bottom: 0.1rem;
3 | }
4 |
--------------------------------------------------------------------------------
/src/app/codelet/delete-codelet-dialog/delete-codelet-dialog.component.scss:
--------------------------------------------------------------------------------
1 | .app-dialog-actions {
2 | margin-bottom: 0.1rem;
3 | }
4 |
--------------------------------------------------------------------------------
/src/app/core/error/error.model.ts:
--------------------------------------------------------------------------------
1 | export class Error {
2 | constructor(public title: string, public messages: string[]) {}
3 | }
4 |
--------------------------------------------------------------------------------
/src/app/shared/delete-bookmark-dialog/delete-bookmark-dialog.component.scss:
--------------------------------------------------------------------------------
1 | .app-dialog-actions {
2 | margin-bottom: 0.1rem;
3 | }
4 |
--------------------------------------------------------------------------------
/src/app/shared/login-required-dialog/login-required-dialog.component.scss:
--------------------------------------------------------------------------------
1 | .app-dialog-actions {
2 | margin-bottom: 0.1rem;
3 | }
4 |
--------------------------------------------------------------------------------
/src/assets/icons/icon.xcf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodepediaOrg/bookmarks.dev-frontend-only-archive/HEAD/src/assets/icons/icon.xcf
--------------------------------------------------------------------------------
/src/typings.d.ts:
--------------------------------------------------------------------------------
1 | /* SystemJS module definition */
2 | declare var module: NodeModule;
3 | interface NodeModule {
4 | id: string;
5 | }
6 |
--------------------------------------------------------------------------------
/src/_variables.scss:
--------------------------------------------------------------------------------
1 | $icon-font-path: '~bootstrap-sass/assets/fonts/bootstrap/';
2 | $fa-font-path: "~@fortawesome/fontawesome-free/webfonts";
3 |
--------------------------------------------------------------------------------
/src/app/codelet/update/update-codelet.component.html:
--------------------------------------------------------------------------------
1 |
{{message}}
7 |"{{codeletTitle}}" ?
8 | 9 |This URL is already public on Bookmarks.dev. You can still save it as private and give it a thumbs up to promote it
7 |