User Guide

User Guide

User Guide for Artado Search

Welcome to the Artado Search User Guide! This documentation is designed to help you make the most out of Artado Search by guiding you through its various features and functionalities.

Table of Contents

  1. Introduction to Artado Search
  2. Getting Started
  3. Customizing Artado Search
  4. Managing Your Search Preferences
  5. Using Artado Proxies
  6. Contributing to Artado
  7. FAQ
  8. Getting Help

Artado Search is a powerful and customizable search engine designed to provide fast, private, and accurate search results. Whether you’re looking for web pages, images, or news, Artado Search delivers what you need while respecting your privacy.

Getting Started

How to Set Artado as Your Default Search Engine

To make the most out of Artado Search, you might want to set it as your default search engine. Here’s how you can do it:

  1. Google Chrome:

    • Open Chrome and go to Artado Search.
    • Click on the three vertical dots in the top-right corner.
    • Select Settings > Search engine > Manage search engines.
    • Add Artado Search using the following settings:
      • Search engine: Artado Search
      • Keyword: artado
      • URL with %s in place of query: https://www.artadosearch.com/search?q=%s
    • Set Artado as the default search engine.
  2. Firefox:

    • Open Firefox and go to Artado Search.
    • Click on the search bar and select Change Search Settings.
    • Scroll down to One-Click Search Engines and click Add next to Artado.
    • Make Artado the default by selecting it from the list.
  3. Microsoft Edge:

    • Open Edge and go to Artado Search.
    • Click on the three horizontal dots in the top-right corner.
    • Select Settings > Privacy, search, and services > Address bar and search.
    • Add Artado Search as a new search engine with the following settings:
      • Name: Artado Search
      • Keyword: artado
      • URL with %s in place of query: https://www.artadosearch.com/search?q=%s
    • Set it as your default search engine.

Using Artado Search is straightforward. Simply enter your search term in the search bar and hit Enter. Artado will return a list of relevant results sorted by relevance and date.

For more specific searches, you can use the advanced search features:

  • Exact Phrase: Use quotes ("like this") around your search term to find results with that exact phrase.
  • Exclude Words: Use a minus sign (-) before a word to exclude results containing that word.
  • Search Specific Sites: Use site:example.com to search within a specific website.

Example: artificial intelligence site:wikipedia.org

Themes

Artado Search allows you to customize its appearance through themes. Here’s how you can create and apply themes:

  1. Choose a Theme: Visit the Themes page to browse available themes created by the Artado community.
  2. Create Your Own Theme: Follow the guide in the How to Develop an Artado Theme to create your own custom theme using CSS.

Extensions

Extend the functionality of Artado Search by developing and installing extensions. These are JavaScript-based custom scripts that can add features like dictionary lookups, instant translation, and more.

Managing Your Search Preferences

Setting Preferences

Artado Search allows you to customize your search experience by adjusting various settings. To access the settings:

  1. Click on the Settings icon on the menu.
  2. Adjust the following options:
    • Theme: Select your preferred theme, you can also find more themes from Workshop.
    • Language: Set your preferred search language.
    • Logo: Select your preferred logo, you can also find more logos from Workshop.
    • Categories: Select your preferred location of the search categories.

Saving Search Settings

Your search settings can be saved for future sessions. To save your settings:

  1. After adjusting your settings, click Apply.
  2. You can save your preferences with creating a Profile.

Using Artado Proxies

Artado Proxies allow you to access Artado Search through different servers, enhancing privacy and access. Artado automatically connects you to one of the proxies that is in the Artado database. To setup a proxy:

  1. Host an Artado Proxy.
  2. Got to Proxy page on settings.
  3. Enter the URL of your proxy.
  4. Check the "Allow other users to use this proxy." to add your proxy to the Artado database.
  5. Click "Apply"

Contributing to Artado

Artado is a community-driven project, and there are many ways you can contribute:

  1. Use Artado: Make Artado your default search engine and recommend it to others.
  2. Donate: Support the project by donating from Patreon or Kreosus.
  3. Contribute Code: Join the development efforts by contributing to the codebase. Check out the Contributing Guide.
  4. Host a Proxy: Host an Artado Proxy to help expand the network. Learn more here.
  5. Create Themes and Extensions: Develop themes and extensions to enhance the user experience.

FAQ

Visit the FAQ section to find answers to common questions about using Artado Search.

Getting Help

If you need help or have questions that aren’t covered in this guide:

  1. Community Forums: Join the discussion on the Artado Community Forum.
  2. Contact Support: Reach out to the support team via email.
Artado Bangs shortcut

Artado Search Bangs

Welcome to the Artado Search User Guide! This documentation is designed to help you make the most out of Artado Search by guiding you through its various features and functionalities.

Table of Contents

  1. How to use bangs
  2. List of supported artado bangs

Artado Search Bangs: A Quick Guide

Artado Search supports a powerful feature called "Bangs" that allows you to quickly search specific websites directly from the search bar. By typing a bang keyword followed by your search query, you can bypass Artado's search results and go directly to the search results of the targeted website.

How to Use Bangs

Using bangs in Artado is simple. Just type the bang keyword followed by your search term in the Artado search bar and press Enter. For example:

                    
                      !g artificial intelligence
                    
                  

This will take you directly to Google's search results for "artificial intelligence."

List of Supported Bangs

Here’s a comprehensive list of the supported bangs in Artado Search and what they do:

  • !g - Google: Search directly on Google.

    • Example: !g climate change
  • !w - Wikipedia: Look up information on Wikipedia.

    • Example: !w OpenAI
  • !yt - YouTube: Find videos on YouTube.

    • Example: !yt machine learning tutorial
  • !a - Amazon: Shop on Amazon.

    • Example: !a wireless headphones
  • !tw - Twitter: Search tweets on Twitter.

    • Example: !tw OpenAI
  • !fb - Facebook: Search on Facebook.

    • Example: !fb artado search
  • !r - Reddit: Browse Reddit threads.

    • Example: !r web development
  • !gh - GitHub: Find repositories on GitHub.

    • Example: !gh artado search
  • !ama - AMA (Ask Me Anything): Find AMA threads.

    • Example: !ama space exploration
  • !d - DuckDuckGo: Search on DuckDuckGo.

    • Example: !d privacy tools
  • !imdb - IMDb: Look up movies and TV shows on IMDb.

    • Example: !imdb Inception
  • !ebay - eBay: Shop on eBay.

    • Example: !ebay vintage watches
  • !netflix - Netflix: Search movies and shows on Netflix.

    • Example: !netflix science fiction
  • !maps - Google Maps: Search locations on Google Maps.

    • Example: !maps New York City
  • !p - Pinterest: Find inspiration on Pinterest.

    • Example: !p home decor ideas
  • !so - Stack Overflow: Search coding questions on Stack Overflow.

    • Example: !so JavaScript fetch API
  • !gmail - Gmail: Search emails on Gmail.

    • Example: !gmail job application
  • !gnews - Google News: Find news articles on Google News.

    • Example: !gnews technology trends
  • !wp - WhatsApp: Search chats on WhatsApp Web.

    • Example: !wp meetup
  • !img - Google Images: Find images on Google.

    • Example: !img sunsets
  • !t - Tumblr: Search posts on Tumblr.

    • Example: !t art illustration
  • !dic - Dictionary.com: Look up word definitions.

    • Example: !dic plethora
  • !th - TheHackerNews: Find articles on TheHackerNews.

    • Example: !th cybersecurity
  • !net - Netflix: Another way to search Netflix.

    • Example: !net comedy movies
  • !y - Yahoo: Search on Yahoo.

    • Example: !y financial news
  • !q - Quora: Find answers on Quora.

    • Example: !q startup advice
  • !m - Medium: Search articles on Medium.

    • Example: !m productivity hacks
  • !eb - Etsy: Shop handmade and vintage items on Etsy.

    • Example: !eb handmade jewelry
  • !hr - HackerRank: Practice coding on HackerRank.

    • Example: !hr algorithms
  • !cra - Craigslist: Find listings on Craigslist.

    • Example: !cra used cars
  • !o - Outlook: Search emails on Outlook.

    • Example: !o project meeting
  • !drib - Dribbble: Search designs on Dribbble.

    • Example: !drib UI inspiration
  • !it - Instagram: Search posts on Instagram.

    • Example: !it travel photography
  • !gcal - Google Calendar: Search events on Google Calendar.

    • Example: !gcal team meeting
  • !sc - SoundCloud: Find music on SoundCloud.

    • Example: !sc lo-fi beats
  • !wol - Wolfram Alpha: Search computational knowledge on Wolfram Alpha.

    • Example: !wol prime numbers
  • !mz - Moz: Search SEO tools and articles on Moz.

    • Example: !mz keyword research
  • !npr - NPR: Search news and podcasts on NPR.

    • Example: !npr daily news podcast
  • !ar - Airbnb: Search stays on Airbnb.

    • Example: !ar Paris apartment
  • !cnn - CNN: Search news articles on CNN.

    • Example: !cnn election coverage
  • !bbc - BBC: Find news on BBC.

    • Example: !bbc world news
  • !v - Vimeo: Find videos on Vimeo.

    • Example: !v short films
  • !tpb - The Pirate Bay: Search torrents on The Pirate Bay.

    • Example: !tpb open-source software
  • !gdoc - Google Docs: Search documents on Google Docs.

    • Example: !gdoc project report
  • !wo - WordPress: Search blogs on WordPress.

    • Example: !wo tech blog
  • !rt - Rotten Tomatoes: Search movie ratings on Rotten Tomatoes.

    • Example: !rt action movies
  • !ars - Ars Technica: Find articles on Ars Technica.

    • Example: !ars tech news
  • !ln - LinkedIn: Search profiles and jobs on LinkedIn.

    • Example: !ln software engineer
  • !sl - SlideShare: Search presentations on SlideShare.

    • Example: !sl digital marketing
  • !hn - Hacker News: Find tech news on Hacker News.

    • Example: !hn programming languages
  • !me - Meetup: Find events on Meetup.

    • Example: !me photography group
  • !wik - Wikipedia: Another way to search Wikipedia.

    • Example: !wik renewable energy
  • !ea - Etsy: Another way to shop on Etsy.

    • Example: !ea custom gifts
  • !b - Bing: Search on Bing.

    • Example: !b latest technology
  • !pay - PayPal: Search transactions on PayPal.

    • Example: !pay recent payments
  • !dp - Dropbox: Search files on Dropbox.

    • Example: !dp client documents
  • !fc - Flickr: Find photos on Flickr.

    • Example: !fc nature photography
  • !yelp - Yelp: Search reviews on Yelp.

    • Example: !yelp restaurants near me
  • !vs - VSCO: Find photos on VSCO.

    • Example: !vs travel photos
  • !fm - Foursquare: Search places on Foursquare.

    • Example: !fm coffee shops
  • !gd - Google: Another way to search on Google.

    • Example: !gd AI research
  • !sp - Spotify: Search music on Spotify.

    • Example: !sp workout playlist
  • !pg - Pocket: Find saved articles on Pocket.

    • Example: !pg productivity tips
  • !ad - Adobe: Search Adobe resources.

    • Example: !ad Photoshop tutorials
  • !gif - Giphy: Find GIFs on Giphy. -Example: !gif happy dance

  • !ibm - IBM: Search on IBM's site.

    • Example: !ibm cloud services
  • !mf - MyFitnessPal: Track nutrition on MyFitnessPal.

    • Example: !mf daily calorie intake
  • !sch - Google Scholar: Find academic papers on Google Scholar.

    • Example: !sch artificial intelligence
  • !med - MedicineNet: Search medical information on MedicineNet.

    • Example: !med symptoms of flu
  • !az - Azure: Search resources on Microsoft Azure.

    • Example: !az cloud computing
  • !c - CNET: Search tech news on CNET.

    • Example: !c new smartphones
  • !ga - Google Analytics: Search reports on Google Analytics.

    • Example: !ga user engagement report
  • !md - Mozilla Developer Network (MDN): Find documentation on MDN.

    • Example: !md CSS grid
  • !al - AliExpress: Shop on AliExpress.

    • Example: !al smartphone accessories

Conclusion

Bangs are a powerful feature in Artado Search, offering a fast and efficient way to search your favorite websites directly. Whether you need to quickly find information, shop, or browse specific sites, Artado’s bangs provide a shortcut that can save you time.

Try them out and streamline your online searches with Artado!

Self Hosted

Table of Contents

  1. Artado host on Windows
  2. Artado host on Linux
  3. Troubleshooting

Hosting Artado Search on Windows

This guide provides detailed instructions for hosting the Artado Search application, which is built using ASP.NET Framework 4.8, on a Windows server. Follow these steps to set up and deploy your Artado Search application.

Prerequisites

Before you begin, ensure you have the following:

  1. Windows Server: A Windows Server 2016 or later instance.
  2. IIS: Internet Information Services (IIS) installed and configured.
  3. ASP.NET Framework 4.8: Installed on your server.
  4. SQL Server: An instance of SQL Server if your application requires a database.
  5. Visual Studio: (Optional) For development and deployment tasks.

Step-by-Step Hosting Instructions

1. Install Required Components

  1. Install IIS:

    • Open the Server Manager.
    • Go to Manage > Add Roles and Features.
    • Follow the wizard to install the Web Server (IIS) role. Ensure you include features like ASP.NET 4.7/4.8 and .NET Extensibility.
  2. Verify ASP.NET Installation:

    • Open a Command Prompt as Administrator.
    • Run aspnet_regiis.exe -i to ensure ASP.NET is registered with IIS.

2. Prepare Your Application

  1. Build the Application:

    • Open your Artado Search solution in Visual Studio.
    • Build the solution to create the deployable files.
  2. Publish the Application:

    • Right-click on the project in Solution Explorer and select Publish.
    • Choose a Folder publish target and specify a location on your local machine or network share.
    • Click Publish to generate the files for deployment.
  1. Create a New Website:

    • Open Internet Information Services (IIS) Manager.
    • Right-click on Sites and select Add Website.
    • Enter the following information:
      • Site Name: ArtadoSearch
      • Physical Path: Path to the published files from the previous step.
      • Binding: Choose the IP address and port (e.g., http://localhost:80).
    • Click OK to create the website.
  2. Configure Application Pool:

    • Go to Application Pools in IIS Manager.
    • Select the application pool used by your website (or create a new one if needed).
    • Set the .NET Framework version to .NET Framework 4.8.
    • Ensure the pipeline mode is set to Integrated.
    • Click OK to apply changes.
  3. Set Permissions:

    • Navigate to the physical path of your website.
    • Right-click the folder and select Properties.
    • Go to the Security tab and add the user account that IIS uses (e.g., IIS_IUSRS).
    • Grant Read & Execute permissions.

4. Configure Database (If Required)

  1. Create a Database:

    • Open SQL Server Management Studio (SSMS).
    • Create a new database for Artado Search.
    • Set up any required tables and schemas.
  2. Update Connection Strings:

    • Open the Web.config file in your published application.
    • Locate the <connectionStrings> section.
    • Update the connection string to point to your SQL Server instance and database.

5. Test the Application

  1. Browse the Website:

    • Open a web browser and navigate to the URL you configured in IIS (e.g., http://localhost).
    • Verify that Artado Search is running correctly and all features are functioning as expected.
  2. Check Logs:

    • If there are any issues, check the IIS logs and the application logs for errors.
    • Logs are typically found in C:\inetpub\logs\LogFiles for IIS and the App_Data folder for application-specific logs.

6. Configure Security and Maintenance

  1. Set Up HTTPS:

    • Consider configuring HTTPS to secure the communication. Obtain an SSL certificate and bind it to your site in IIS.
  2. Regular Backups:

    • Implement regular backups for your application and database to prevent data loss.
  3. Monitor Performance:

    • Use IIS monitoring tools and performance counters to keep an eye on the health of your application.

Troubleshooting

  • Application Errors: Check the Event Viewer and IIS logs for detailed error messages.
  • Permissions Issues: Ensure IIS user accounts have appropriate permissions for the application folder and database.
  • Database Connectivity: Verify the connection string and ensure the SQL Server instance is accessible.

Conclusion

By following these steps, you should have Artado Search up and running on your Windows server. If you encounter issues or need further assistance, consult the official documentation or seek help from the Artado community.

Hosting Artado Search on Linux

This guide provides instructions for hosting the Artado Search application, built with ASP.NET Framework 4.8, on a Linux server. Since ASP.NET Framework is designed primarily for Windows, we'll use Mono, an open-source implementation of the .NET Framework, to run the application on Linux.

Prerequisites

Before you begin, ensure you have the following:

  1. Linux Server: A Linux server with a compatible distribution (e.g., Ubuntu 20.04 or later).
  2. Mono: Mono runtime and related tools installed.
  3. Nginx: Web server for reverse proxy setup (optional but recommended).
  4. SQL Server: An instance of SQL Server or a compatible database if your application requires one.
  5. Git: For cloning repositories (optional).

Step-by-Step Hosting Instructions

1. Install Mono

  1. Add Mono Repository:

    • Open a terminal and run the following commands to add the Mono repository:
                                  sudo apt update sudo apt install gnupg ca-certificates
      sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0x0x0 sudo apt-add-repository 'deb http://download.mono-project.com/repo/ubuntu stable main'
                                  
                                
  2. Install Mono:

    • Update package lists and install Mono:
                                  sudo apt update sudo apt install mono-complete
                                  
                                
  3. Verify Installation:

    • Check the Mono version to ensure it is installed correctly:
                                  mono --version
                                  
                                

2. Prepare Your Application

  1. Build the Application:

    • Open your Artado Search solution in MonoDevelop.
    • Build the solution to create the deployable files.
  2. Publish the Application:

    • Right-click on the project in Solution Explorer and select Publish.
    • Choose a Folder publish target and specify a location on your local machine or network share.
    • Click Publish to generate the files for deployment.
  3. Transfer Files:

    • Transfer the published files to your Linux server using scp, rsync, or any other file transfer method:
                                  scp -r /path/to/published/files username@linuxserver
                                    :/path/to/deployment/folder
                                  
                                

3. Set Up Mono to Run the Application

  1. Create a Directory for Your Application:

    • On your Linux server, create a directory for Artado Search:
                                  sudo mkdir /var/www/artado
      sudo chown $USER:$USER /var/www/artado 
                                  
                                
  2. Move Your Application Files:

    • Place your application files in the directory:
                                  mv /path/to/deployment/folder/* /var/www/artado 
                                  
                                
  3. Run the Application:

    • Navigate to the directory and run your application using Mono:

                                  cd /var/www/artado mono ArtadoSearch.exe 
                                  
                                
    • To keep the application running in the background, consider using screen or nohup:

                                  nohup mono ArtadoSearch.exe & 
                                  
                                

4. Configure a Web Server

To serve your application over HTTP/HTTPS, configure a web server like Nginx to act as a reverse proxy.

  1. Install Nginx:

    • Install Nginx if it is not already installed:
                                  sudo apt update sudo apt install nginx 
                                  
                                
  2. Configure Nginx:

    • Create a new configuration file for your site:

                                  sudo nano /etc/nginx/sites-available/artado 
                                  
                                
    • Add the following configuration:

                                  
                                    server { listen
                                    80; server_name your_domain_or_ip; location / { proxy_pass http://localhost:8080; # Change port to the port Mono is using
                                    proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme;
          }
      } 
                                  
                                
    • Link the configuration and restart Nginx:

                                  sudo ln -s /etc/nginx/sites-available/artado /etc/nginx/sites-enabled/ sudo systemctl restart nginx 
                                  
                                

5. Configure Database (If Required)

  1. Install SQL Server or Connect to an Existing Database:

    • Install SQL Server on a Windows server or use a compatible database.
  2. Update Connection Strings:

    • Open the Web.config file in your published application.
    • Update the <connectionStrings> section to point to your SQL Server instance and database.

6. Test the Application

  1. Access the Application:

    • Open a web browser and navigate to the domain or IP address configured in Nginx.
    • Verify that Artado Search is running correctly and all features are functioning as expected.
  2. Check Logs:

    • If you encounter issues, check the Mono logs and Nginx logs for errors:
      • Mono Logs: Typically in the terminal where you started the application or in /var/log/.
      • Nginx Logs: Located in /var/log/nginx/.

7. Configure Security and Maintenance

  1. Set Up HTTPS:

    • Obtain an SSL certificate and configure Nginx for HTTPS. Use Certbot for free SSL certificates:
                                  sudo apt install certbot python3-certbot-nginx
      sudo certbot --nginx
                                  
                                
  2. Regular Backups:

    • Implement regular backups for your application and database to prevent data loss.
  3. Monitor Performance:

    • Use monitoring tools to keep an eye on the health of your application.

Troubleshooting

  • Application Errors: Check Mono and application logs for detailed error messages.
  • Permissions Issues: Ensure the user running Mono has appropriate permissions for the application folder.
  • Database Connectivity: Verify the connection string and ensure the database is accessible.

Conclusion

By following these steps, you should have Artado Search running on your Linux server. If you encounter issues or need further assistance, consult the Mono documentation or seek help from the Artado community.

Hosting Artado Search on macOS

This guide provides detailed instructions for hosting the Artado Search application, built with ASP.NET Framework 4.8, on a macOS system using Mono.

Prerequisites

Before you begin, ensure you have the following:

  1. macOS: A macOS system (macOS 10.14 Mojave or later recommended).
  2. Mono: Mono runtime and related tools installed.
  3. Nginx: Web server for reverse proxy setup (optional but recommended).
  4. SQL Server: An instance of SQL Server or a compatible database if your application requires one.
  5. Homebrew: Package manager for macOS (optional but useful).

Step-by-Step Hosting Instructions

1. Install Mono

  1. Install Homebrew (if not already installed):

    • Open Terminal and run:
                                  /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
                                  
                                
  2. Install Mono Using Homebrew:

    • Install Mono by running:
                                  
                                    brew 
                                    install mono 
                                  
                                
  3. Verify Installation:

    • Check the Mono version to ensure it is installed correctly:
                                  mono --version
                                  
                                

2. Prepare Your Application

  1. Build the Application:

    • Open your Artado Search solution in Visual Studio.
    • Build the solution to create the deployable files.
  2. Publish the Application:

    • Right-click on the project in Solution Explorer and select Publish.
    • Choose a Folder publish target and specify a location on your local machine or network share.
    • Click Publish to generate the files for deployment.
  3. Transfer Files:

    • Transfer the published files to your macOS system. You can use file sharing methods like scp, rsync, or manually copy the files.

3. Set Up Mono to Run the Application

  1. Create a Directory for Your Application:

    • Open Terminal and create a directory for Artado Search:
                                  mkdir -p ~/artado 
                                  
                                
  2. Move Your Application Files:

    • Place your application files in the directory:
                                  mv /path/to/deployment/folder/* ~/artado 
                                  
                                
  3. Run the Application:

    • Navigate to the directory and run your application using Mono:

                                  
                                    cd ~/artado
      mono ArtadoSearch.exe
                                  
                                
    • To keep the application running in the background, consider using nohup:

                                  nohup mono ArtadoSearch.exe & 
                                  
                                

4. Configure a Web Server (Nginx)

To serve your application over HTTP/HTTPS, configure a web server like Nginx to act as a reverse proxy.

  1. Install Nginx Using Homebrew:

    • Install Nginx by running:
                                  
                                    brew 
                                    install nginx 
                                  
                                
  2. Configure Nginx:

    • Create a new configuration file for your site:

                                  sudo nano /usr/local/etc/nginx/servers/artado.conf 
                                  
                                
    • Add the following configuration:

                                  
                                    server { listen
                                    80; server_name your_domain_or_ip; location / { proxy_pass http://localhost:8080; # Change port to the port Mono is using
                                    proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme;
          }
      } 
                                  
                                
    • Start Nginx:

                                  
                                    sudo nginx
                                  
                                
    • Reload Nginx configuration if necessary:

                                  sudo nginx -s reload 
                                  
                                

5. Configure Database (If Required)

  1. Install SQL Server or Connect to an Existing Database:

    • Install SQL Server on a Windows server or use a compatible database.
  2. Update Connection Strings:

    • Open the Web.config file in your published application.
    • Update the <connectionStrings> section to point to your SQL Server instance and database.

6. Test the Application

  1. Access the Application:

    • Open a web browser and navigate to the domain or IP address configured in Nginx.
    • Verify that Artado Search is running correctly and all features are functioning as expected.
  2. Check Logs:

    • If you encounter issues, check the Mono logs and Nginx logs for errors:
      • Mono Logs: Typically in the terminal where you started the application or in ~/Library/Logs/.
      • Nginx Logs: Located in /usr/local/var/log/nginx/.

7. Configure Security and Maintenance

  1. Set Up HTTPS:

    • Obtain an SSL certificate and configure Nginx for HTTPS. Use Certbot for free SSL certificates:
                                  
                                    brew 
                                    install certbot
      sudo certbot --nginx 
                                  
                                
  2. Regular Backups:

    • Implement regular backups for your application and database to prevent data loss.
  3. Monitor Performance:

    • Use monitoring tools to keep an eye on the health of your application.

Troubleshooting

  • Application Errors: Check Mono and application logs for detailed error messages.
  • Permissions Issues: Ensure the user running Mono has appropriate permissions for the application folder.
  • Database Connectivity: Verify the connection string and ensure the database is accessible.

Conclusion

By following these steps, you should have Artado Search running on your macOS system. If you encounter issues or need further assistance, consult the Mono documentation or seek help from the Artado community.

Devs Guide

Table of Contents

  1. How to develop an Artado extensions
  2. How to develop an Artado Theme

How to Develop an Artado Extension

This guide will help you create extensions for Artado Search. Extensions allow you to add custom functionality, enhance the user experience, or integrate third-party services directly into Artado Search.

Getting Started

To develop an extension for Artado Search, you’ll need to have a basic understanding of HTML, CSS, and JavaScript. JavaScript is a powerful language that runs in the browser, allowing you to manipulate the content of web pages, interact with APIs, and more. To learn about basics of Javascript you can check out this documentation.

Tools You'll Need

Basics

Creating Your First Extension

  1. Create a New JavaScript File:

    • Start by creating a new .js file in your text editor.
    • This file will contain the logic for your extension.
  2. Basic Structure:

    • Here’s a simple template to get you started:

                                  
                                    if (window.location.pathname === "/search") { // Runs the code if the user is in the 
                                    const urlParams = new URLSearchParams(window.location.search); const search = urlParams.get('i').replace("+", " ").trim()
         .replace(/[!"#\$%&'\(\)\*\+,-\.\/:;<=>\?@\[\\\]\^_`{\|}~]/g, "").replace(/ +/g, " "); // Gets the searched query
                                    const searches = [ "whats my ip", "what is my ip", "what my ip", "my ip",
      ]; if (searches.includes(search)) { //Checks if the query is about IP fetch('https://api.ipify.org?format=json')
             .then(
                                      response =>
                                     response.json())
             .then(
                                      data =>
                                     { var element = document.createElement("div"); //Creates an element in the search page element.className = "card";
                 element.style = "border: 1px solid #bdbdbd; text-transform: none";
                 element.innerHTML = `<p>Your IP address is: <code>${data.ip}</code></p>`
                                    ; document.getElementById("web_results").insertBefore(element, document.getElementById("web_results").firstChild);
             });
       }
      } 
                                  
                                
  3. Load the Extension:

    • To test your extension, load it into Artado Search. You can do this manually by pasting your code into the browser’s console or by creating a browser extension that injects your script into Artado Search.
  4. Testing:

    • Open Artado Search in your browser.
    • Use the browser’s developer tools (F12 or Ctrl+Shift+I) to inspect the page, run your extension, and debug any issues.

Modifying the UI

You can also modify the Artado Search interface by injecting custom HTML or altering existing elements:

                    (function() {
    // Add a custom button to the search bar
    let button = document.createElement("button"); button.innerText = "Custom Action"
                      ; button.onclick = function() {
        alert("Button clicked!"); }; document.querySelector("#searchbar").appendChild(button); })();
                    
                  
  1. Upload Your Extension: You can share your extension with the Artado community by uploading it to Artado Devs.

Example Extensions

Here are a few example extensions developed by the Artado community:

Learn More

To build more advanced extensions, you'll need to deepen your understanding of JavaScript and web APIs:

Upload Your Extensions

When your extension is ready, share it with the world on Artado Devs:

  1. Create an Account: Sign up or log in to Artado Devs.
  2. Upload Your Extension: Provide a description, upload your files, and share your work with the Artado community.

This guide should provide you with everything you need to start developing and sharing extensions for Artado Search. Enjoy building and enhancing the Artado experience!

How to Develop an Artado Theme

This guide will walk you through the process of creating a custom theme for Artado Search. Whether you're new to CSS or a seasoned developer, you'll find the steps and tips you need to design a unique look for Artado.

Getting Started

To create a theme for Artado Search, you'll primarily be working with CSS. You can use the Stylus Editor to test your theme live as you create it, allowing you to see changes in real-time.

Installing Stylus Editor

  1. Install Stylus: First, install the Stylus browser extension from the Chrome Web Store or Firefox Add-ons.
  2. Access Stylus Editor:
    • Click the Stylus icon in your browser's toolbar.
    • Select Manage to access your styles.
    • Press Write New Style to start creating your theme.

Setting Up Your Theme

  • Target Artado Search: In the Stylus Editor, change the "Applies to" setting to only apply your CSS to https://www.artadosearch.com. This ensures that your theme is applied only to Artado Search and not to every website you visit.

Basics

Adding a Background Image

Customizing the background is a great way to set the tone of your theme.

Main Page Background

To add a background image that only appears on the main search page:

                    
                      #homepage { background: url("Image link") no-repeat center fixed; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover;
} 
                    
                  

Global Background

To apply the background image to all pages, including search results and settings:

                    
                      body { background-image: url("Image link");
} 
                    
                  

The search bar is one of the most prominent elements on the page. Here’s how to customize it:

Search Bar Container

                    
                      #searchbar { margin-bottom: 200px; width: 550px
                      !important; /* Ensure it matches the Auto Complete List's width */
                      border-radius: 10px; /* Smooth corners */ } 
                    
                  

Search Input Section

                    
                      #searchinput { background-color: rgb(0, 0, 0); /* Input field background color */
                      color: rgb(255, 255, 255); /* Text color */ } 
                    
                  

Search Button

                    
                      #searchbutton { color: rgb(255, 255, 255); /* Color of the magnifier icon */
                      background-color: rgb(0, 0, 0); /* Button background color */ } 
                    
                  

Customizing the Bottom Bar

The bottom bar can be styled to complement the overall theme:

                    
                      #features
                      .flex-wrap { padding-bottom: 20px; /* Adjust the padding to your liking */
                      padding-top: 20px; color: #fff; /* Text color */
                      background-color: #000; /* Background color */ } 
                    
                  

Advanced Customizations

Hover Effects

To add hover effects for interactive elements:

                    
                      #searchbutton
                      :hover { background-color: rgb(255, 165, 0); /* Change button color on hover */
                      color: #000; /* Change text/icon color on hover */ } 
                    
                  

To customize the font and text styles:

                    
                      body { font-family: 'Arial', sans-serif; font-size: 16px; color: #333; /* Base text color */ } h1, h2, h3 { font-family: 'Georgia', serif; color: #444;
} 
                    
                  

Example Themes

Explore these example themes created by the Artado community for inspiration and learning:

Testing and Debugging

While working on your theme, use browser developer tools (F12 or Ctrl+Shift+I) to inspect elements, test CSS changes, and troubleshoot any issues.

Learn More

This is just the beginning. If you're interested in creating more sophisticated themes, dive deeper into the world of CSS:

  • CSS Basics - A great starting point if you're new to CSS.
  • CSS Tricks - Advanced techniques and tips for improving your styles.
  • MDN Web Docs - Comprehensive resource for CSS properties and best practices.

Upload Your Themes

Once you've created your theme, share it with the community! You can upload your theme on Artado Devs:

  1. Create an Account: Sign up or log in to Artado Devs.
  2. Upload Your Theme: Navigate to the upload section, provide a description, and share your creation with the world.

This guide should give you a strong foundation for creating and sharing custom themes for Artado Search. Have fun experimenting with different styles and making Artado Search your own!

How to Develop an Artado Extension

Artado Extensions allow you to add custom functionality to Artado Search using JavaScript. This guide will walk you through the basics of JavaScript and provide a step-by-step process for developing your own extensions.

Getting Started

To create an extension for Artado Search, you’ll need to have a basic understanding of JavaScript. JavaScript is a powerful language that runs in the browser, allowing you to manipulate the content of web pages, interact with APIs, and more.

Basic JavaScript Concepts

Before diving into extension development, let's cover some fundamental JavaScript concepts:

  1. Variables: Used to store data.

                            
                              const name = "Artado"; let searchQuery = "JavaScript"; 
                            
                          
  2. Functions: Blocks of code that perform specific tasks.

                            
                              
                                function
                                greetUser() 
                              { console.log("Welcome to Artado Search!");
    } 
                            
                          
  3. Conditionals: Execute different code based on conditions.

                            
                              if (searchQuery === "JavaScript") {
        console.log("You're learning JavaScript!");
    } else {
        console.log("Search for something else.");
    } 
                            
                          
  4. Loops: Repeat a block of code multiple times.

                            
                              for (let i = 0; i < 5; i++) {
        console.log("Loop iteration " + i);
    } 
                            
                          
  5. DOM Manipulation: JavaScript can be used to interact with the Document Object Model (DOM) to change the content and appearance of web pages.

                            let heading = document.querySelector('h1');
    heading.style.color = 'blue'; 
                            
                          

Testing JavaScript in the Browser

You can test your JavaScript code directly in the browser using the Developer Tools:

  1. Open Developer Tools:

    • Right-click on the webpage and select Inspect.
    • Navigate to the Console tab.
  2. Run JavaScript:

    • Type JavaScript code in the console and press Enter to execute it.

    Example:

                            console.log("Hello from Artado Search!");
                            
                          

    This will print the message in the console.

Creating an Artado Extension

Let's create a simple Artado extension that fetches data from an API and displays it on the search results page.

Example: Dictionary Lookup Extension

This extension will take the search query and fetch the definition of the word using a dictionary API.

                    
                      // Get the "i" query string parameter
                      const queryString = window.location.search; const urlParams = new URLSearchParams(queryString); const query = urlParams.get('i'); // Check if a query is present
                      if (query) { const apiUrl = `https://api.dictionaryapi.dev/api/v2/entries/en/${query}`
                      ; // Create a new element for displaying results
                      const resultElement = document.createElement('div');
    resultElement.id = 'result';
    resultElement.style.textAlign = 'left';
    resultElement.style.marginLeft = '100px';
    resultElement.style.maxWidth = '500px';
    resultElement.style.backgroundColor = 'transparent';
    resultElement.style.border = "1px solid #bdbdbd";
    resultElement.style.borderRadius = "10px";
    resultElement.style.lineHeight = "20px";
    resultElement.style.padding = "10px"; // Media query for smaller screens
                      const mediaQuery = window.matchMedia('(max-width: 768px)'); if (mediaQuery.matches) {
        resultElement.style.marginRight = 'auto';
        resultElement.style.marginLeft = 'auto';
    } // Send a request to the API fetch(apiUrl)
        .then(
                        response =>
                       response.json())
        .then(
                        data =>
                       { // Process the JSON response
                      const wordData = data[0]; const word = wordData.word; const phonetics = wordData.phonetics; const meanings = wordData.meanings; // Generate HTML representation
                      let html = `<h2>${word}</h2>`
                      ; if (phonetics && phonetics.length > 0) {
                html += '<h3>Phonetics</h3>';
                phonetics.forEach(
                        phonetic =>
                       {
                    html += `<p>${phonetic.text}</p>`
                      ; if (phonetic.audio) {
                        html += `<audio controls><source src="${phonetic.audio}" type="audio/mpeg"></audio>`
                      ;
                    }
                });
            } if (meanings && meanings.length > 0) {
                html += '<h3>Meanings</h3>';
                meanings.forEach(
                        meaning =>
                       {
                    html += `<p><strong>${meaning.partOfSpeech}</strong></p>`
                      ;
                    meaning.definitions.forEach(
                        definition =>
                       {
                        html += `<p>${definition.definition}</p>`
                      ;
                    });
                });
            } // Set the generated HTML content resultElement.innerHTML = html; // Insert the resultElement into the page
                      const buttons = document.getElementById('buttons_r');
            buttons.insertAdjacentElement('afterend', resultElement);
        })
        .catch(
                        error =>
                       { console.error('Error fetching data:', error);
        });
} 
                    
                  

Understanding the Code

  1. Get the Query String: We start by getting the i query string parameter, which is the search term entered by the user.

  2. Check if a Query Exists: If a search term is present, we proceed to fetch data from the dictionary API.

  3. Create a Result Element: We create a new div element to display the results on the page.

  4. Fetch Data from API: Using the fetch function, we send a request to the dictionary API to get the definitions.

  5. Process and Display Data: Once we get the data, we generate HTML content and insert it into the page.

Testing Your Extension

You can test your extension code directly in the browser console before deploying it:

  1. Open Developer Tools: Right-click on the Artado Search page and select Inspect.
  2. Go to the Console: Navigate to the Console tab.
  3. Paste and Run Your Code: Copy and paste your extension code into the console and press Enter.

This will allow you to see how your extension works and make adjustments as needed.

Deploying Your Extension

Once you're happy with your extension, you can deploy it to be used on Artado Search.

Upload Your Extension

You can share your extension with the Artado community by uploading it to Artado Devs:

  1. Create an Account: Sign up or log in to Artado Devs.
  2. Upload Your Extension: Provide a description, upload your JavaScript file, and share your extension.

Learn More

JavaScript is a versatile language, and there's always more to learn. Here are some resources to deepen your understanding:

Conclusion

Creating extensions for Artado Search is a great way to customize your experience and add new functionality. With just a little JavaScript knowledge, you can create powerful tools that enhance your search experience and share them with the community. Happy coding!

Visit Artado products

Built on Free and Open Source 

Free Software

Artado Software is being developed to save you free and open source society from ecosystem and closed sources.

Artado Software List

• Copyright 2024 Artado Software •