برنامه نویسی

نحوه به روز رسانی خودکار رزومه در سایت شخصی خود از OverLeaf

من در مورد شما نمی دانم، اما من با پیگیری صدها تکرار رزومه خود و به روز نگه داشتن وب سایت خود با جدیدترین مورد مشکل دارم. بنابراین فکر کردم آن را خودکار کنم.

این پست توضیح می دهد که چگونه به طور خودکار رزومه خود را از OverLeaf در وب سایت شخصی خود به روز کنید. این پست مخصوص کاربران پولی OverLeaf است زیرا یک ویژگی پولی برای انتقال از OverLeaf به GitHub است.

  1. منوی کشویی را در قسمت بالای سمت چپ پروژه خود باز کنید. همانطور که در تصویر زیر نشان داده شده است، یک کشویی ایجاد می کند. روی همگام سازی با گیت هاب کلیک کنید.

OverLeaf را به Github متصل کنید

  1. یک نام مخزن و توضیحات مختصری برای مخزن وارد کنید و آن را ایجاد کنید.

مخزن ایجاد کنید

  1. به GitHub بروید تا یک مخزن جدید ببینید که در آن فقط فایل لاتکس شما از OverLeaf باید وجود داشته باشد. در این مخزن مانند تصویر زیر به تب Actions در بالا بروید

برگه اقدامات Github

  1. یک گردش کار جدید ایجاد کنید و سپس کد زیر را وارد کنید. این کد با هر بار فشار دادن به این مخزن، نسخه PDF فایل لاتکس را ایجاد می کند. هر فشار یک نسخه جدید از آخرین تکرار رزومه شما ایجاد می کند، و این یک مصنوع خواهد بود که به آن متصل است. ممکن است با یک خطا بر اساس مجوز GitHub Action مواجه شوید اما این موضوع در این پست به خوبی توضیح داده شده است.
name: Build LaTeX document
on: [push]
jobs:
  build_latex:
    runs-on: ubuntu-latest
    steps:
      - name: Set up Git repository
        uses: actions/checkout@v2
      - name: Compile LaTeX document
        uses: xu-cheng/latex-action@v2
        with:
          root_file: main.tex
      - name: Uploading artifact
        uses: actions/upload-artifact@v2
        with:
          name: PDF
          path: main.pdf
      - name: Get Time
        id: time
        uses: nanzm/get-time-action@v1.1
        with:
          timeZone: -5
          format: 'YYYY-MM-DD-HH-mm-ss'
      - name: Create Release
        id: create_release
        uses: softprops/action-gh-release@v1
        with:
          name: Resume compiled on ${{ steps.time.outputs.time }}
          tag_name: ${{ steps.time.outputs.time }}
      - name: Upload Release Asset
        id: upload-release-asset
        uses: actions/upload-release-asset@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          upload_url: ${{ steps.create_release.outputs.upload_url }}
          asset_path: ./main.pdf
          asset_name:  resume-${{ steps.time.outputs.time }}.pdf
          asset_content_type: application/pdf
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  1. به برنامه خود بروید، جایی که لینک دانلود رزومه شما وجود دارد. ما از API Graphql GitHub برای بازیابی URL دانلود نسخه PDF رزومه شما استفاده خواهیم کرد. Space Jelly کد زیر را به خوبی توضیح می دهد. این در بالای مولفه Navbar React پروژه شخصی من قرار گرفت.
const [downloadableResume, setDownloadableResume] = useState();

  const baseUrl = "https://api.github.com/graphql";

  const httpLink = createHttpLink({
    uri: baseUrl,
  });

  const authLink = setContext((_, { headers }) => {
    return {
      headers: {
        ...headers,
        authorization: `Bearer $${process.env.GITHUB_ACCESS_TOKEN}`,
      },
    };
  });

  const client = new ApolloClient({
    link: authLink.concat(httpLink),
    cache: new InMemoryCache(),
  });

  useEffect(() => {
    client.query({
        query: gql`
        {
          viewer {
            login
          }
          repository(name: "resume", owner: "dessygil") {
            id
            releases(first: 1) {
              edges {
                node {
                  id
                  releaseAssets(first: 1) {
                    edges {
                      node {
                        downloadUrl
                      }
                    }
                  }
                }
              }
            }
          }
        }
        `,
      })
      .then((response) => {
        setDownloadableResume(response.data.repository.releases.edges[0].node.releaseAssets.edges[0].node.downloadUrl);
      });
  }, []);
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این باید تمام چیزی باشد که برای ایجاد یک خط لوله کاملاً خودکار برای وب سایت شخصی خود نیاز دارید. اگر مورد دیگری وجود دارد که دوست دارید به این پست اضافه شود، لطفاً در تماس باشید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا